Innehållsförteckning:

Red Box: 3 steg (med bilder)
Red Box: 3 steg (med bilder)

Video: Red Box: 3 steg (med bilder)

Video: Red Box: 3 steg (med bilder)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Röd låda
Röd låda

Skapa din egen pålitliga molnserver

Steg 1: Hårdvara

Hårdvara
Hårdvara
  • Använd en metalllåda och måla den i din favoritfärg. (Jag använde en gammal lagringskontroller)
  • Hobbyfärgplatta som klarar minst 75 C
  • Hallon pi 3
  • Micro SD -kort (jag använde 16 GB men du kan använda valfri storlek> = 4 GB)
  • USB -hubb med ett externt strömuttag
  • Usb till sata -adaptrar
  • Hårddiskar
  • Nätverkskabel + vägguttag
  • Ledningar + strömuttag
  • Bultar återhämtade sig från den gamla datorns seriella eller vga -port
  • Usb -portar återhämtade sig från den gamla datorn

Raspberry pi är fäst på hobbyfärgplattan med bultar från vga -porten.

Skivor fästs med vanliga bultar på baksidan.

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning

Strömingången ansluts till båda återställda usb -portarna

Första usb (bakom alla ledningar längst fram till vänster) används som strömkälla, endast röda och svarta ledningar används och ansluts till strömuttaget. Första usb -kabeln i denna port ger ström till pi, den andra usb -kabeln ger ström till USB -hubben.

Andra usb (den på baksidan - användbar för anslutning av ytterligare enheter) har rött och svart anslutet direkt till strömförsörjningen, medan det vita och gröna på varje port är anslutet till en usb -kabel som återställts från en gammal mus (de vita direkt ansluten till pi)

Lan -kabel ansluter det externa nätverkets vägguttag till Raspberry pi LAN -porten

Skivor är anslutna via usb till sata -adaptrar till den externa USB -hubben (större diskar kräver mer ström och vi vill inte göra pi instabil), som är ansluten i en av pi -portarna

Steg 3: Programvara

programvara
programvara

Installera operativsystemet

Använd Centos 7 för arm för högre säkerhet. (https://mirror.centos.org/altarch/7/isos/armhfp/); testad: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, handledning här:

Lägg bilden på micro sd -kortet från din Linux -dator (för Windows -kontroll:

xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $/path/to/sd/card status = progress bs = 4M

root -lösenord: centos

använd nmtui för att konfigurera nätverk och ställ in en statisk ip -adress

Installera skivorna

Skapa en partition på varje disk (är bättre att vara lite mindre än hela disken - låt oss säga 1 GB mindre - olika diskar med samma kapacitet - ex: wd vs toshiba - har olika storlekar:)). På så sätt är du säker om du behöver byta ut en av skivorna

Skapa ett btrfs raid 1 -filsystem på dina diskar

mkfs.btrfs -d raid1 -m raid1 /dev /sda1 /dev /sdb1

btrfs filsystem etikett /dev /sda1 rpi3

Montera filsystemet med autofs (förhindrar att pi inte startas om något går fel med skivorna)

yum installera -y autofs

lägg till flödet till /etc/auto.master:

/-/etc/auto.ext-usb-timeout = 300

Skapa /etc/auto.ext-usb med innehållet:

/srv -fstype = auto, komprimera = lzo, noatime:/dev/disk/by -label/rpi3

service autofs starta om

ls /srv, df -h, bekräfta att den är monterad

Installera owncloud

Förkunskaper (apache, php, mariadb):

yum install -y httpd; yum install -y mod_ssl; yum installera -y mariadb -server; yum installera -y php*

Installera owncloud 9 som är kompatibel med php54 som följer med centos7, en bra handledning för det:

download.owncloud.org/download/repositories …

När owncloud är igång flyttar du datadir från standardplatsen till de nya enheterna (/srv)

service httpd stop

redigera /var/www/html/owncloud/config/config.php och gör den här ändringen:

'datadirectory' => '/srv/owncloud/data', mkdir /srv /owncloud; mv/var/www/html/owncloud/data/srv/owncloud && chown -R apache: apache/srv/owncloud/data/

service httpd start

Du kan installera owncloud -skrivbordsklient på linux / windows och för telefoner använder jag foldersync

  • Aktivera och konfigurera SELinux

    (arbetsversion är: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-riktad-3.13.1-166.el7.5.noarch)

se till att du inte uppdaterar den policyn (i /etc/yum.conf append: exclude = selinux-policy*)

återställa -Rv /

/boot/cmdline.txt ska innehålla: selinux = 1 säkerhet = selinux genomdriva = 1

/etc/sysconfig/selinux bör innehålla: SELINUX = verkställande och SELINUXTYPE = riktat

starta om

Gör följande inställningar efter omstart:

yum installera -y policycoreutils -python

semange fcontext -a -t httpd_sys_rw_content_t /srv/owncloud(/.*)?

setsebool -P httpd_builtin_scripting = 1; setsebool -P httpd_can_network_connect = 1; setsebool -P httpd_enable_cgi = 1; setsebool -P httpd_graceful_shutdown = 1

om du stöter på några problem lägger du in SD -kortet i en annan dator och ändrar cmdline.txt för att ha: selinux = 0

Säkra din låda

Ändra rotlösenord

Skapa dig en användare (adduser -s /bin /bash "me") och ange ett starkt lösenord (passwd "me")

konfigurera sshd för att lyssna på en annan port och tillåta INTE root -inloggningar

I/etc/ssh/sshd_config, ställ in Port

(låt oss säga 2222), PermitRootLogin nr

Berätta för SELinux och firewalld om dina avsikter:

semanage port -a -t ssh_port_t -p tcp 2222

service firewalld start && systemctl aktivera firewalld.service

brandvägg-cmd-permanent-lägg till-port 2222/tcp

brandvägg-cmd-ladda om

service sshd starta om

Gör det offentligt

På din internetrouter vidarebefordra dessa portar till din statiska ip -uppsättning i första steget: 80, 443, 2222.

Konfigurera DDNS på din router så att du kan komma åt din box var som helst.

Finjustering

Ställ in apache på 5 procs eftersom minnet är lågt:

/etc/httpd/conf.modules.d/00-mpm.conf

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

StartServers 5

MinSpareServers 5

MaxSpareServers 5

ServerLimit 5

MaxClients 5

MaxRequestsPerChild 3000

service httpd starta om

Installera cron för att varje vecka skrubba skivorna och göra en ögonblicksbild varje kväll (i /etc /crontab)

01 02 * * 6 root btrfs scrub start/srv01 01 * * * root/usr/sbin/btrfs subvolym ögonblicksbild -r/srv/srv/@$ (printf "\%s" $ (/bin/date +\%d \%b \%Y-\%k-\%M))

kolla då och då volymen med: btrfs dev stats /srv

Använd vakthund för att automatiskt återställa om den inte svarar (hallon pi3 har en hårdvara):

yum installera -y vakthund

/etc/watchdog.conf

watchdog-device = /dev /watchdogwatchdog-timeout = 15

interval = 1logtick = 1 log-dir =/var/log/vakthund

realtid = japrioritet = 1

service watchdog start && systemctl aktivera watchdog.service

Rekommenderad: