Inhaltsverzeichnis:

Rote Box - Gunook
Rote Box - Gunook

Video: Rote Box - Gunook

Video: Rote Box - Gunook
Video: World's FASTEST NERF Minigun - The MOAB 2024, November
Anonim
Rote Kiste
Rote Kiste

Erstellen Sie Ihren eigenen zuverlässigen Cloud-Server

Schritt 1: Hardware

Hardware
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

Verdrahtung
Verdrahtung

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

Software
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

Empfohlen: