Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Erstellen Sie Ihren eigenen zuverlässigen Cloud-Server
Schritt 1: Hardware
- Verwenden Sie eine Metallbox und bemalen Sie sie in Ihrer Lieblingsfarbe. (Ich habe einen alten Speichercontroller verwendet)
- Hobbycolor-Platte, die mindestens 75 C. widersteht
- Himbeer-Pi 3
- Micro-SD-Karte (ich habe 16 GB verwendet, aber Sie können jede Größe >= 4 GB verwenden)
- USB-Hub mit externer Strombuchse
- USB-zu-SATA-Adapter
- Laufwerke
- Netzwerkkabel + Netzwerksteckdose
- Drähte + Stromeingangsbuchse
- Schrauben vom seriellen oder vga-Port des alten Computers wiederhergestellt
- USB-Ports von altem Computer wiederhergestellt
Raspberry Pi wird mit Schrauben vom VGA-Port an der Hobbycolor-Platte befestigt.
Die Scheiben sind mit normalen Schrauben auf der Rückseite befestigt.
Schritt 2: Verkabelung
Die Stromeingangsbuchse verbindet sich mit beiden wiederhergestellten USB-Anschlüssen
Zuerst wird USB (hinter allen Drähten vorne links) als Stromquelle verwendet, nur rote und schwarze Drähte werden verwendet und an die Stromeingangsbuchse angeschlossen. Das erste USB-Kabel in diesem Anschluss versorgt den Pi mit Strom, das zweite USB-Kabel versorgt den USB-Hub mit Strom.
Zweiter USB (der auf der Rückseite - nützlich zum Anschließen zusätzlicher Geräte) hat Rot und Schwarz direkt mit dem Stromeingang verbunden, während Weiß und Grün jedes Ports mit einem USB-Kabel verbunden sind, das von einer alten Maus stammt (die weißen direkt). mit pi verbunden)
Das LAN-Kabel verbindet die externe Netzwerksteckdose mit dem Raspberry Pi LAN-Port
Festplatten werden über USB-zu-SATA-Adapter an den extern betriebenen USB-Hub angeschlossen (Festplatten mit größerer Kapazität benötigen mehr Strom und wir möchten Pi nicht instabil machen), der an einem der Pi-Ports angeschlossen ist
Schritt 3: Software
Installieren Sie das Betriebssystem
Verwenden Sie Centos 7 für den Arm für höhere Sicherheit. (https://mirror.centos.org/altarch/7/isos/armhfp/); getestet: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, Tutorial hier:
Legen Sie das Image auf die Micro-SD-Karte Ihres Linux-Computers (für Windows überprüfen:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of=$/path/to/sd/card status=fortschritt bs=4M
Root-Passwort: Centos
Verwenden Sie nmtui, um das Netzwerk zu konfigurieren und eine statische IP-Adresse festzulegen
Einrichten der Festplatten
Erstellen Sie eine Partition auf jeder Festplatte (ist besser etwas kleiner als die gesamte Festplatte - sagen wir 1 GB kleiner - verschiedene Festplatten mit der gleichen Kapazität - zB: wd vs toshiba - haben unterschiedliche Größen:)). Auf diese Weise sind Sie sicher, wenn Sie eine der Festplatten austauschen müssen
Erstellen Sie ein btrfs-raid-1-Dateisystem auf Ihren Festplatten
mkfs.btrfs -d raid1 -m raid1 /dev/sda1 /dev/sdb1
btrfs-Dateisystembezeichnung /dev/sda1 rpi3
Mounten Sie das Dateisystem mit autofs (verhindert das Nicht-Booten von Pi, wenn etwas mit den Festplatten schief geht)
yum install -y autofs
füge das Fließende an /etc/auto.master an:
/- /etc/auto.ext-usb --timeout=300
Erstellen Sie /etc/auto.ext-usb mit dem Inhalt:
/srv -fstype=auto, compress=lzo, noatime:/dev/disk/by-label/rpi3
Service Autofs Neustart
ls /srv, df -h, bestätigen Sie, dass es gemountet ist
Eigene Cloud installieren
Voraussetzungen (Apache, PHP, Mariadb):
yum install -y httpd;yum install -y mod_ssl; yum install -y mariadb-server; yum install -y php*
Installieren Sie owncloud 9, das mit php54 kompatibel ist, das mit centos7 geliefert wird, ein gutes Tutorial dafür:
download.owncloud.org/download/repositories…
Nachdem owncloud betriebsbereit ist, verschieben Sie das Datenverzeichnis vom Standardspeicherort auf die neuen Laufwerke (/srv).
Dienst httpd Stopp
Bearbeiten Sie /var/www/html/owncloud/config/config.php und nehmen Sie diese Änderung vor:
'datadirectory' => '/srv/owncloud/data', mkdir /srv/owncloud; mv /var/www/html/owncloud/data /srv/owncloud && chown -R apache:apache /srv/owncloud/data/
Dienst httpd starten
Sie können den owncloud Desktop-Client unter Linux / Windows installieren und für Telefone verwende ich Foldersync
-
Aktivieren und konfigurieren Sie SELinux
(Arbeitsversion ist: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-targeted-3.13.1-166.el7.5.noarch)
Stellen Sie sicher, dass Sie diese Richtlinie nicht aktualisieren (in /etc/yum.conf fügen Sie Folgendes hinzu: exclude = selinux-policy*)
Restorecon -Rv /
/boot/cmdline.txt sollte enthalten: selinux=1 security=selinux enforcing=1
/etc/sysconfig/selinux sollte enthalten: SELINUX=enforcing und SELINUXTYPE=targeted
neustarten
Nehmen Sie nach dem Neustart folgende Einstellungen vor:
yum install -y policycoreutils-python
semange fcontext -a -t httpd_sys_rw_content_t /srv/owncloud(/.*)?
setsebool -P httpd_builtin_scripting=1; setebool -P httpd_can_network_connect=1; setebool -P httpd_enable_cgi=1; setsebool -P
Wenn Probleme auftreten, legen Sie die SD-Karte in einen anderen Computer ein und ändern Sie die Datei cmdline.txt so, dass sie Folgendes enthält: selinux=0
Sichere deine Box
Root-Passwort ändern
Erstellen Sie sich einen Benutzer (adduser -s /bin/bash "me") und legen Sie ein starkes Passwort fest (passwd "me")
Konfigurieren Sie sshd so, dass es auf einem anderen Port lauscht und KEINE Root-Anmeldungen zulassen
Setzen Sie in /etc/ssh/sshd_config Port
(sagen wir 2222), PermitRootLogin no
Informieren Sie SELinux und Firewalld über Ihre Absichten:
semanage port -a -t ssh_port_t -p tcp 2222
service firewalld start && systemctl enable firewalld.service
Firewall-cmd --permanent --add-port 2222/tcp
Firewall-cmd --reload
Dienst sshd neu starten
Mach es öffentlich
Leiten Sie diese Ports auf Ihrem Internetrouter im ersten Schritt an Ihre statische IP-Adresse weiter: 80, 443, 2222.
Richten Sie DDNS auf Ihrem Router ein, damit Sie von überall auf Ihre Box zugreifen können.
Feinabstimmung
Stellen Sie Apache auf 5 Procs ein, da der Arbeitsspeicher knapp ist:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
StartServer 5
MinSpareServer 5
MaxSpareServer 5
ServerLimit 5
MaxClients 5
MaxAnfragen pro Kind 3000
Dienst httpd Neustart
Richten Sie Cron ein, um die Festplatten wöchentlich zu bereinigen und jede Nacht einen Snapshot zu erstellen (in /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))
Überprüfen Sie von Zeit zu Zeit das Volumen mit: btrfs dev stats /srv
Verwenden Sie Watchdog zum automatischen Zurücksetzen, wenn es nicht mehr reagiert (raspberry pi3 hat eine Hardware-Version):
yum install -y Watchdog
/etc/watchdog.conf
watchdog-device = /dev/watchdogwatchdog-timeout = 15
Intervall = 1logtick = 1 log-dir = /var/log/watchdog
Echtzeit = jaPriorität = 1
service watchdog start && systemctl enable watchdog.service