2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Vytvorte si vlastný spoľahlivý cloudový server
Krok 1: Hardvér
- Použite kovovú škatuľu a vymaľujte ju svojou obľúbenou farbou. (Použil som starý ovládač úložiska)
- Hobbycolor tanier, ktorý odoláva najmenej 75 ° C
- Malina pi 3
- Karta Micro SD (použil som 16 GB, ale môžete použiť ľubovoľnú veľkosť> = 4 GB)
- Rozbočovač USB s externým konektorom napájania
- Adaptéry USB na SATA
- Diskové jednotky
- Sieťový kábel + sieťová zásuvka
- Drôty + vstupný konektor
- Skrutky sa obnovili zo sériového alebo vga portu starého počítača
- Porty USB boli obnovené zo starého počítača
Raspberry pi je pripevnený k doske hobbycolor skrutkami z portu vga.
Disky sú na zadnej strane pripevnené pravidelnými skrutkami.
Krok 2: Zapojenie
Vstupný konektor napájania sa pripája k obom obnoveným portom USB
Prvý USB (za všetkými vodičmi vľavo vpredu) slúži ako zdroj napájania, používajú sa iba červené a čierne vodiče zapojené do vstupného konektora napájania. Prvý USB kábel v tomto porte poskytuje napájanie pre pí, druhý USB kábel napája rozbočovač USB.
Druhý USB (ten vzadu - užitočný na pripojenie ďalších zariadení) má červenú a čiernu pripojenú priamo k napájaciemu vstupu, zatiaľ čo biela a zelená každého portu je pripojená k USB káblu, ktorý bol obnovený zo starej myši (biele priamo spojené s pí)
Lan kábel pripája externú sieťovú zásuvku k malinovému portu LAN LAN
Disky sú pripojené cez usb k sata adaptérom k externému napájanému USB rozbočovaču (disky s väčšou kapacitou vyžadujú viac energie a nechceme robiť pi nestabilné), ktorý je pripojený v jednom z pi portov
Krok 3: Softvér
Nainštalujte operačný systém
Na zvýšenie bezpečnosti použite Centos 7 na zapnutie. (https://mirror.centos.org/altarch/7/isos/armhfp/); testované: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, návod tu:
Vložte obrázok na kartu micro sd z počítača so systémom Linux (pre systém Windows skontrolujte:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $/path/to/sd/card status = progress bs = 4M
heslo root: centos
pomocou nmtui nakonfigurujte sieť a nastavte statickú adresu IP
Nastavte disky
Na každom disku vytvorte jeden oddiel (je lepšie byť o niečo menší ako celý disk - povedzme o 1 GB menší - rôzne disky s rovnakou kapacitou - napríklad: wd vs toshiba - majú rôzne veľkosti:)). Budete tak v bezpečí, ak budete potrebovať vymeniť jeden z diskov
Vytvorte na svojich diskoch súborový systém btrfs raid 1
mkfs.btrfs -d raid1 -m raid1 /dev /sda1 /dev /sdb1
štítok súborového systému btrfs /dev /sda1 rpi3
Pripojte súborový systém pomocou automatických operácií (zabráni nespusteniu pi, ak sa niečo pokazí na diskoch)
yum install -y autofs
pripojte fllowing k /etc/auto.master:
/-/etc/auto.ext-usb-timeout = 300
Vytvorte súbor /etc/auto.ext-usb s obsahom:
/srv -fstype = auto, komprimovať = lzo, noatime:/dev/disk/by -label/rpi3
reštartovanie servisných automatov
ls /srv, df -h, potvrďte, že je nainštalovaný
Nainštalujte si vlastný cloud
Predpoklady (apache, php, mariadb):
yum install -y httpd; yum install -y mod_ssl; yum install -y mariadb -server; yum install -y php*
Nainštalujte si owncloud 9, ktorý je kompatibilný s php54, ktorý je dodávaný s centos7, dobrý návod na to:
download.owncloud.org/download/repositories…
Keď je owncloud v prevádzke, presuňte dátový adresár z predvoleného umiestnenia na nové jednotky (/srv)
služba httpd stop
upravte /var/www/html/owncloud/config/config.php a vykonajte túto zmenu:
'datadirectory' => '/srv/owncloud/data', mkdir /srv /owncloud; mv/var/www/html/owncloud/data/srv/owncloud && chown -R apache: apache/srv/owncloud/data/
služba httpd štart
Desktopového klienta owncloud si môžete nainštalovať na linux / windows a pre telefóny používam foldersync
-
Povoľte a nakonfigurujte SELinux
(pracovná verzia je: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-cílené-3.13.1-166.el7.5.noarch)
uistite sa, že neaktualizujete tieto zásady (v /etc/yum.conf dodatku: exclude = selinux-policy*)
restorecon -Rv /
/boot/cmdline.txt by mal obsahovať: selinux = 1 zabezpečenie = presadzovanie selinuxu = 1
/etc/sysconfig/selinux by mal obsahovať: SELINUX = vynucovanie a SELINUXTYPE = zacielenie
reštartovať
Po reštarte vykonajte nasledujúce nastavenia:
yum install -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
ak narazíte na nejaké problémy, vložte kartu SD do iného počítača a upravte súbor cmdline.txt tak, aby mal: selinux = 0
Zabezpečte svoju schránku
Zmeňte heslo root
Vytvorte si vlastného používateľa (adduser -s /bin /bash „ja“) a nastavte silné heslo (zadajte „ja“)
nakonfigurujte sshd tak, aby počúval na inom porte a NEDOVOLTE prihlásenie root
V/etc/ssh/sshd_config nastavte Port
(povedzme 2222), PermitRootLogin č
Povedzte SELinux a firewalld o svojich zámeroch:
port správy -a -t ssh_port_t -p tcp 2222
služba firewalld štart && systemctl povoliť firewalld.service
firewall-cmd --permanent --pridat port 2222/tcp
firewall-cmd-znova načítať
reštartovať službu sshd
Zverejniť
Na svojom internetovom smerovači presmerujte tieto porty na statickú ip nastavenú v prvom kroku: 80, 443, 2222.
Nastavte na svojom routeri DDNS, aby ste k svojmu boxu mali prístup odkiaľkoľvek.
Jemné doladenie
Nastavte apache na 5 procs, pretože pamäť je nízka:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Servery Start 5
Servery MinSpare 5
Servery MaxSpare 5
ServerLimit 5
MaxClients 5
MaxRequestsPerChild 3000
reštart služby
Nastavte cron na týždenné čistenie diskov a vytváranie snímok každú noc (v /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))
z času na čas skontrolujte objem pomocou: btrfs dev stats /srv
V prípade, že nereaguje (malinový pi3 má hardvérový), použite Watchdog na automatické resetovanie:
yum install -y strážny pes
/etc/watchdog.conf
watchdog-device = /dev /watchdogwatchdog-timeout = 15
interval = 1logtick = 1 log-dir =/var/log/watchdog
reálny čas = áno, priorita = 1
spustenie služby watchdog && systemctl povoľte službu watchdog.service