Innholdsfortegnelse:

Rød boks: 3 trinn (med bilder)
Rød boks: 3 trinn (med bilder)

Video: Rød boks: 3 trinn (med bilder)

Video: Rød boks: 3 trinn (med bilder)
Video: Den nye pige - En film om mobning 2024, November
Anonim
Rød boks
Rød boks

Lag din egen pålitelige skyserver

Trinn 1: Maskinvare

Maskinvare
Maskinvare
  • Bruk en metallboks og mal den i din favorittfarge. (Jeg brukte en gammel lagringskontroller)
  • Hobbycolor -tallerken som tåler minst 75 C
  • Bringebær pi 3
  • Micro SD -kort (jeg brukte 16 GB, men du kan bruke hvilken som helst størrelse> = 4 GB)
  • USB -hub med ekstern strømkontakt
  • USB til sata -adaptere
  • Harddisker
  • Nettverkskabel + nettverkskontakt
  • Ledninger + inngangskontakt
  • Bolter gjenopprettet fra den gamle datamaskinens serielle eller vga -port
  • Usb -porter gjenopprettet fra gammel datamaskin

Bringebær pi er festet til hobbyfargeplaten med bolter fra vga port.

Skiver festes med vanlige bolter på baksiden.

Trinn 2: Kabling

Kabling
Kabling

Strøminngangskontakt kobles til begge gjenopprettede usb -porter

Første usb (bak alle ledningene foran til venstre) brukes som strømkilde, bare røde og svarte ledninger brukes og kobles til strøminngangen. Den første usb -kabelen i denne porten gir strøm til pi, den andre usb -kabelen gir strøm til USB -huben.

Andre usb (den på baksiden - nyttig for tilkobling av flere enheter) har rød og svart koblet direkte til strøminngangen, mens den hvite og grønne på hver port er koblet til en usb -kabel som er gjenopprettet fra en gammel mus (de hvite direkte koblet til pi)

Lan -kabel kobler den eksterne nettverkskontakten til bringebær pi LAN -porten

Diskene er koblet via usb til sata -adaptere til den eksterne USB -huben (større disker krever mer strøm, og vi vil ikke gjøre pi ustabil), som er koblet til en av pi -portene

Trinn 3: Programvare

Programvare
Programvare

Installer operativsystemet

Bruk Centos 7 for arm for høyere sikkerhet. (https://mirror.centos.org/altarch/7/isos/armhfp/); testet: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, opplæring her:

Legg bildet på micro sd -kortet fra din Linux -datamaskin (for Windows sjekk:

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

rotpassord: centos

bruk nmtui til å konfigurere nettverk og angi en statisk ip -adresse

Sett opp diskene

Lag en partisjon på hver disk (er bedre å være litt mindre enn hele disken - la oss si 1 GB mindre - forskjellige disker med samme kapasitet - eks: wd vs toshiba - har forskjellige størrelser:)). På denne måten vil du være trygg hvis du trenger å bytte ut en av diskene

Lag et btrfs raid 1 -filsystem på diskene dine

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

btrfs filsystem etikett /dev /sda1 rpi3

Monter filsystemet ved hjelp av autofs (forhindrer ikke oppstart av pi hvis noe går galt med diskene)

yum installere -y autofs

legg til strømningen til /etc/auto.master:

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

Lag /etc/auto.ext-usb med innholdet:

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

service autofs start på nytt

ls /srv, df -h, bekreft at den er montert

Installer owncloud

Forutsetninger (apache, php, mariadb):

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

Installer owncloud 9 som er kompatibel med php54 som følger med centos7, en god opplæring for det:

download.owncloud.org/download/repositories…

Etter at owncloud er i gang, flytter du datadir fra standardplasseringen til de nye stasjonene (/srv)

service httpd stopp

rediger /var/www/html/owncloud/config/config.php og gjør denne endringen:

'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 installere owncloud -skrivebordsklienten på linux / windows og for telefoner bruker jeg foldersync

  • Aktiver og konfigurer SELinux

    (arbeidsversjonen er: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-targeted-3.13.1-166.el7.5.noarch)

sørg for at du ikke oppdaterer denne policyen (i /etc/yum.conf vedlegg: ekskludere = selinux-policy*)

restorecon -Rv /

/boot/cmdline.txt skal inneholde: selinux = 1 sikkerhet = selinux håndheve = 1

/etc/sysconfig/selinux bør inneholde: SELINUX = håndheving og SELINUXTYPE = målrettet

starte på nytt

Gjør følgende innstillinger etter omstart:

yum installere -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

Hvis du støter på problemer, sett SD -kortet inn i en annen datamaskin og endre cmdline.txt for å ha: selinux = 0

Sikre boksen din

Endre rotpassord

Lag deg en bruker (adduser -s /bin /bash "me") og angi et sterkt passord (passwd "me")

konfigurer sshd til å lytte på en annen port og IKKE tillate root -pålogginger

I/etc/ssh/sshd_config, angi Port

(la oss si 2222), PermitRootLogin no

Fortell SELinux og firewalld om dine intensjoner:

semanage port -a -t ssh_port_t -p tcp 2222

service firewalld start && systemctl aktivere firewalld.service

brannmur-cmd-permanent-legge til port 2222/tcp

brannmur-cmd-last inn på nytt

service sshd restart

Gjør det offentlig

På Internett -ruteren videresender du disse portene til det statiske ip -settet i første trinn: 80, 443, 2222.

Sett opp DDNS på ruteren slik at du får tilgang til boksen din hvor som helst.

Finjustering

Sett apache til 5 prosesser ettersom minnet er lite:

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

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

StartServers 5

MinSpareServers 5

MaxSpareServers 5

Servergrense 5

MaxClients 5

MaxRequestsPerChild 3000

service httpd restart

Sett opp cron for å skrubbe diskene ukentlig og lage et øyeblikksbilde hver kveld (i /etc /crontab)

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

sjekk av og til volumet med: btrfs dev stats /srv

Bruk vakthund for å automatisk tilbakestille hvis den ikke reagerer (bringebær pi3 har en maskinvare):

yum installere -y vakthund

/etc/watchdog.conf

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

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

sanntid = japrioritet = 1

service watchdog start && systemctl aktivere watchdog.service

Anbefalt: