Spisu treści:

Czerwone pudełko: 3 kroki (ze zdjęciami)
Czerwone pudełko: 3 kroki (ze zdjęciami)

Wideo: Czerwone pudełko: 3 kroki (ze zdjęciami)

Wideo: Czerwone pudełko: 3 kroki (ze zdjęciami)
Wideo: Instrukcja składania Pudełka Niespodzianki - Album DIY Exploding Box na zdjęcia - Poradnik 2024, Lipiec
Anonim
Czerwone pudełko
Czerwone pudełko

Stwórz własny niezawodny serwer w chmurze

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
  • Użyj metalowego pudełka i pomaluj go na swój ulubiony kolor. (Użyłem starego kontrolera pamięci masowej)
  • Płyta Hobbycolor odporna na temperaturę co najmniej 75 C
  • Malina pi 3
  • Karta Micro SD (użyłem 16 GB, ale możesz użyć dowolnego rozmiaru >= 4 GB)
  • Koncentrator USB z zewnętrznym gniazdem zasilania
  • Adaptery USB do sata
  • Napędy dyskowe
  • Kabel sieciowy + gniazdko sieciowe
  • Przewody + gniazdo wejściowe zasilania
  • Śruby odzyskane z portu szeregowego lub VGA starego komputera
  • Porty USB odzyskane ze starego komputera

Raspberry pi mocowane jest do płytki hobbycolor za pomocą śrub z portu vga.

Dyski mocowane są z tyłu zwykłymi śrubami.

Krok 2: Okablowanie

Okablowanie
Okablowanie

Gniazdo wejściowe zasilania łączy się z obydwoma odzyskanymi portami USB

Pierwsze usb (za wszystkimi przewodami z przodu po lewej stronie) służy jako źródło zasilania, używane są tylko czerwone i czarne przewody i są podłączone do gniazda wejściowego zasilania. Pierwszy kabel USB w tym porcie dostarcza zasilanie dla pi, drugi kabel USB dostarcza zasilanie do koncentratora USB.

Drugie usb (to z tyłu - przydatne do podłączania dodatkowych urządzeń) ma czerwony i czarny podłączony bezpośrednio do wejścia zasilania, natomiast biały i zielony każdego portu jest podłączony do kabla usb odzyskanego ze starej myszy (białe bezpośrednio podłączony do pi)

Kabel LAN łączy zewnętrzne gniazdo sieciowe z portem LAN raspberry pi

Dyski podłącza się przez USB do adapterów sata do zewnętrznego, zasilanego koncentratora USB (dyski o większej pojemności wymagają większej mocy i nie chcemy, aby pi było niestabilne), który jest podłączony w jednym z portów pi

Krok 3: Oprogramowanie

Oprogramowanie
Oprogramowanie

Zainstaluj system operacyjny

Użyj Centos 7 do ramienia dla większego bezpieczeństwa. (https://mirror.centos.org/altarch/7/isos/armhfp/); testowane: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, tutorial tutaj:

Umieść obraz na karcie micro sd z komputera z systemem Linux (dla systemu Windows sprawdź:

xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of=$/ścieżka/do/sd/status karty=postęp bs=4M

hasło roota: centos

użyj nmtui do skonfigurowania sieci i ustawienia statycznego adresu IP

Skonfiguruj dyski

Utwórz jedną partycję na każdym dysku (lepiej być trochę mniejszy niż cały dysk - powiedzmy 1 GB mniejszy - różne dyski o tej samej pojemności - np. wd vs toshiba - mają różne rozmiary:)). W ten sposób będziesz bezpieczny, jeśli będziesz musiał wymienić jeden z dysków

Utwórz system plików btrfs raid 1 na swoich dyskach

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

Etykieta systemu plików btrfs /dev/sda1 rpi3

Zamontuj system plików za pomocą autofs (zapobiega brakowi uruchomienia pi, jeśli coś pójdzie nie tak z dyskami)

mniam zainstaluj -y autofs

dołącz przepływ do /etc/auto.master:

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

Utwórz /etc/auto.ext-usb z zawartością:

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

usługa autofs restart

ls /srv, df -h, potwierdź, że jest zamontowany

Zainstaluj własną chmurę

Wymagania wstępne (apache, php, mariadb):

mniam zainstaluj -y httpd; mniam zainstaluj -y mod_ssl; mniam install -y serwer mariadb; mniam zainstaluj -y php*

Zainstaluj owncloud 9, który jest kompatybilny z php54 dostarczanym z centos7, dobry samouczek do tego:

download.owncloud.org/download/repositories…

Po uruchomieniu własnej chmury przenieś katalog danych z domyślnej lokalizacji na nowe dyski (/srv)

usługa httpd stop

edytuj /var/www/html/owncloud/config/config.php i wprowadź tę zmianę:

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

usługa httpd start

Możesz zainstalować klienta desktopowego owncloud na linux/windows a dla telefonów używam foldersync

  • Włącz i skonfiguruj SELinux

    (wersja robocza to: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-targeted-3.13.1-166.el7.5.noarch)

upewnij się, że nie aktualizujesz tej polityki (w /etc/yum.conf append: exclude = selinux-policy*)

restorecon -Rv /

/boot/cmdline.txt powinien zawierać: selinux=1 security=selinux enforcing=1

/etc/sysconfig/selinux powinien zawierać: SELINUX=enforcing i SELINUXTYPE=targeted

restart

Po ponownym uruchomieniu dokonaj następujących ustawień:

mniam 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

jeśli napotkasz jakiekolwiek problemy, włóż kartę SD do innego komputera i zmodyfikuj plik cmdline.txt tak, aby miał: selinux=0

Zabezpiecz swoje pudełko

Zmień hasło roota

Utwórz sobie użytkownika (adduser -s /bin/bash "ja") i ustaw silne hasło (passwd "ja")

skonfiguruj sshd do nasłuchiwania na innym porcie i NIE zezwalaj na logowanie root

W /etc/ssh/sshd_config ustaw Port

(powiedzmy 2222), PermitRootLogin nie

Poinformuj SELinux i firewalld o swoich zamiarach:

zarządzaj portem -a -t ssh_port_t -p tcp 2222

usługa firewalld start && systemctl włącz firewalld.service

firewall-cmd --permanent --dodaj-port 2222/tcp

firewall-cmd --reload

restart usługi sshd

Upublicznij to

Na routerze internetowym przekieruj te porty na statyczne adresy IP ustawione w pierwszym kroku: 80, 443, 2222.

Skonfiguruj DDNS na routerze, aby mieć dostęp do swojego urządzenia z dowolnego miejsca.

Strojenie

Ustaw Apache na 5 proc. przy małej ilości pamięci:

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

LoadModule moduły mpm_prefork_module/mod_mpm_prefork.so

StartSerwery 5

MinZapasowe serwery 5

MaxSpareServers 5

Limit serwera 5

MaxKlienci 5

Maksymalna liczba żądań na dziecko 3000

usługa httpd restart

Skonfiguruj crona, aby co tydzień szorował dyski i robił migawkę każdej nocy (w /etc/crontab)

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

sprawdzaj od czasu do czasu głośność za pomocą: btrfs dev stats /srv

Użyj watchdoga, aby automatycznie zresetować, jeśli przestanie odpowiadać (raspberry pi3 ma jeden sprzętowy):

mniam zainstaluj -y watchdog

/etc/watchdog.conf

watchdog-urządzenie = /dev/watchdogwatchdog-timeout = 15

interwał = 1logtick = 1 log-dir = /var/log/watchdog

czas rzeczywisty = takpriorytet = 1

usługa watchdog start && systemctl enable watchdog.service

Zalecana: