Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Δημιουργήστε τον δικό σας αξιόπιστο διακομιστή cloud
Βήμα 1: Υλικό
- Χρησιμοποιήστε ένα μεταλλικό κουτί και βάψτε το στο αγαπημένο σας χρώμα. (Χρησιμοποίησα έναν παλιό ελεγκτή αποθήκευσης)
- Πλάκα χόμπι που αντέχει στους τουλάχιστον 75 C
- Βατόμουρο πι 3
- Κάρτα Micro SD (χρησιμοποίησα 16 GB αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε μέγεθος> = 4 GB)
- Διανομέας USB με εξωτερική υποδοχή τροφοδοσίας
- Προσαρμογείς usb to sata
- Οδηγοί δίσκων
- Καλώδιο δικτύου + πρίζα τοίχου δικτύου
- Καλώδια + υποδοχή εισόδου ισχύος
- Τα μπουλόνια ανακτήθηκαν από τη σειριακή ή τη θύρα του παλαιού υπολογιστή
- Οι θύρες USB ανακτήθηκαν από τον παλιό υπολογιστή
Το Raspberry pi είναι προσαρτημένο στην πλάκα hobbycolor με μπουλόνια από τη θύρα vga.
Οι δίσκοι είναι προσαρτημένοι με κανονικά μπουλόνια στο πίσω μέρος.
Βήμα 2: Καλωδίωση
Η υποδοχή εισόδου τροφοδοσίας συνδέεται και στις δύο ανακτημένες θύρες usb
Το πρώτο usb (πίσω από όλα τα καλώδια μπροστά αριστερά) χρησιμοποιείται ως πηγή τροφοδοσίας, χρησιμοποιούνται μόνο κόκκινα και μαύρα καλώδια και συνδέονται με την υποδοχή εισόδου ισχύος. Το πρώτο καλώδιο usb σε αυτήν τη θύρα παρέχει ισχύ για το pi, το δεύτερο καλώδιο usb παρέχει ισχύ στο διανομέα USB.
Το δεύτερο usb (αυτό στο πίσω μέρος - χρήσιμο για τη σύνδεση πρόσθετων συσκευών) έχει κόκκινο και μαύρο συνδεδεμένο απευθείας στην είσοδο τροφοδοσίας, ενώ το λευκό και πράσινο κάθε θύρας συνδέεται με ένα καλώδιο usb που ανακτήθηκε από κάποιο παλιό ποντίκι (το λευκό απευθείας συνδεδεμένο με pi)
Το καλώδιο Lan συνδέει την εξωτερική πρίζα δικτύου στη θύρα raspberry pi LAN
Οι δίσκοι συνδέονται μέσω usb με προσαρμογείς sata στον εξωτερικό διανομέα USB (οι δίσκοι μεγαλύτερης χωρητικότητας απαιτούν περισσότερη ισχύ και δεν θέλουμε να κάνουμε το pi ασταθές), το οποίο είναι συνδεδεμένο σε μία από τις θύρες pi
Βήμα 3: Λογισμικό
Εγκαταστήστε το Λειτουργικό Σύστημα
Χρησιμοποιήστε το Centos 7 για βραχίονα για μεγαλύτερη ασφάλεια. (https://mirror.centos.org/altarch/7/isos/armhfp/) δοκιμασμένο: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, φροντιστήριο εδώ:
Τοποθετήστε την εικόνα στην κάρτα micro sd από τον υπολογιστή Linux (για Windows ελέγξτε:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd του = $/path/to/sd/status κάρτας = πρόοδος bs = 4M
root password: centos
χρησιμοποιήστε το nmtui για να διαμορφώσετε το δίκτυο και να ορίσετε μια στατική διεύθυνση IP
Ρυθμίστε τους δίσκους
Δημιουργήστε ένα διαμέρισμα σε κάθε δίσκο (καλύτερα να είναι λίγο μικρότερο από ολόκληρο το δίσκο - ας πούμε 1 GB μικρότερο - διαφορετικοί δίσκοι της ίδιας χωρητικότητας - πχ: wd έναντι toshiba - έχουν διαφορετικά μεγέθη:)). Με αυτόν τον τρόπο θα είστε ασφαλείς εάν χρειαστεί να αντικαταστήσετε έναν από τους δίσκους
Δημιουργήστε ένα σύστημα αρχείων raid 1 btrfs στους δίσκους σας
mkfs.btrfs -d raid1 -m raid1 /dev /sda1 /dev /sdb1
ετικέτα συστήματος αρχείων btrfs /dev /sda1 rpi3
Τοποθετήστε το σύστημα αρχείων χρησιμοποιώντας αυτόματα (αποτρέπει τη μη εκκίνηση του pi εάν κάτι δεν πάει καλά με τους δίσκους)
yum install -y autofs
προσθέστε το fllowing στο /etc/auto.master:
/-/etc/auto.ext-usb --timeout = 300
Δημιουργήστε /etc/auto.ext-usb με το περιεχόμενο:
/srv -fstype = auto, compress = lzo, noatime:/dev/disk/by -label/rpi3
επανεκκίνηση αυτόματων αυτόματων υπηρεσιών
ls /srv, df -h, επιβεβαιώστε ότι είναι τοποθετημένο
Εγκαταστήστε το owncloud
Προϋποθέσεις (apache, php, mariadb):
yum install -y httpd; yum install -y mod_ssl; yum install -y mariadb -server? yum install -y php*
Εγκαταστήστε το owncloud 9 που είναι συμβατό με το php54 που συνοδεύει το centos7, ένα καλό σεμινάριο για αυτό:
download.owncloud.org/download/repositories…
Αφού ξεκινήσει να λειτουργεί το owncloud, μετακινήστε τα δεδομένα dir από την προεπιλεγμένη τοποθεσία στις νέες μονάδες δίσκου (/srv)
υπηρεσία httpd στάση
επεξεργασία /var/www/html/owncloud/config/config.php και κάντε αυτήν την αλλαγή:
'datadirectory' => '/srv/owncloud/data', mkdir /srv /owncloud; mv/var/www/html/owncloud/data/srv/owncloud && chown -R apache: apache/srv/owncloud/data/
έναρξη υπηρεσίας
Μπορείτε να εγκαταστήσετε το πρόγραμμα -πελάτη επιφάνειας εργασίας owncloud σε linux / windows και για τηλέφωνα που χρησιμοποιώ το foldersync
-
Ενεργοποιήστε και διαμορφώστε το SELinux
(έκδοση εργασίας είναι: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-target-3.13.1-166.el7.5.noarch)
βεβαιωθείτε ότι δεν ενημερώνετε αυτήν την πολιτική (στο /etc/yum.conf παράρτημα: εξαίρεση = selinux-policy*)
restorecon -Rv /
/boot/cmdline.txt πρέπει να περιέχει: selinux = 1 ασφάλεια = επιβολή selinux = 1
/etc/sysconfig/selinux θα πρέπει να περιέχει: SELINUX = επιβολή και SELINUXTYPE = στοχευμένο
επανεκκίνηση
Κάντε τις ακόλουθες ρυθμίσεις μετά την επανεκκίνηση:
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
εάν αντιμετωπίζετε προβλήματα, τοποθετήστε την κάρτα sd σε άλλο υπολογιστή και τροποποιήστε το cmdline.txt για να έχετε: selinux = 0
Ασφαλίστε το κουτί σας
Αλλαγή κωδικού πρόσβασης ρίζας
Δημιουργήστε έναν χρήστη (adduser -s /bin /bash "me") και ορίστε έναν ισχυρό κωδικό πρόσβασης (passwd "me")
διαμορφώστε το sshd για ακρόαση σε άλλη θύρα και ΜΗΝ επιτρέπετε συνδέσεις ρίζας
Στο/etc/ssh/sshd_config, ορίστε τη θύρα
(ας πούμε 2222), PermitRootLogin αρ
Πείτε στο SELinux και στο firewalld για τις προθέσεις σας:
λιμάνι semanage -a -t ssh_port_t -p tcp 2222
service firewalld start && systemctl enable firewalld.service
firewall-cmd-μόνιμη-προσθήκη-θύρα 2222/tcp
firewall-cmd-επαναφόρτωση
επανεκκίνηση sshd υπηρεσίας
Δημοσιεύστε το
Στο δρομολογητή σας στο διαδίκτυο, προωθήστε αυτές τις θύρες στο στατικό σας ip, στο πρώτο βήμα: 80, 443, 2222.
Εγκαταστήστε το DDNS στο δρομολογητή σας, ώστε να έχετε πρόσβαση στο κουτί σας από οπουδήποτε.
Λεπτός συντονισμός
Ορίστε το apache σε 5 procs καθώς η μνήμη είναι χαμηλή:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Διακομιστές εκκίνησης 5
MinSpareServers 5
MaxSpareServers 5
ServerLimit 5
MaxClients 5
MaxRequestsPerChild 3000
επανεκκίνηση υπηρεσίας
Ρυθμίστε το cron για να τρίβετε εβδομαδιαίως τους δίσκους και να κάνετε ένα στιγμιότυπο κάθε βράδυ (στο /etc /crontab)
01 02 * * 6 root btrfs scrub start/srv01 01 * * * root/usr/sbin/btrfs στιγμιότυπο υποτόμου -r/srv/srv/@$ (printf "\%s" $ (/bin/date +\%d \%b \%Y-\%k-\%M))
ελέγχετε κατά καιρούς την ένταση με: btrfs dev stats /srv
Χρησιμοποιήστε το watchdog για αυτόματη επαναφορά εάν δεν ανταποκρίνεται (το raspberry pi3 διαθέτει υλικό):
yum install -y watchdog
/etc/watchdog.conf
watchdog-device = /dev /watchdogwatchdog-timeout = 15
interval = 1logtick = 1 log-dir =/var/log/watchdog
realtime = yespriority = 1
service watchdog start && systemctl ενεργοποίηση watchdog.service