Sommario:

Scatola rossa: 3 passaggi (con immagini)
Scatola rossa: 3 passaggi (con immagini)

Video: Scatola rossa: 3 passaggi (con immagini)

Video: Scatola rossa: 3 passaggi (con immagini)
Video: Scatolina di carta- Fai da te 2024, Luglio
Anonim
Scatola rossa
Scatola rossa

Crea il tuo server cloud affidabile

Passaggio 1: hardware

Hardware
Hardware
  • Usa una scatola di metallo e dipingila del tuo colore preferito. (Ho usato un vecchio controller di archiviazione)
  • Lastra Hobbycolor che resiste ad almeno 75 C
  • Lampone pi 3
  • Scheda Micro SD (ho usato 16 GB ma puoi usare qualsiasi dimensione> = 4 GB)
  • Hub USB con jack di alimentazione esterno
  • Adattatori da USB a SATA
  • Unità disco
  • Cavo di rete + presa di rete a muro
  • Cavi + jack di ingresso alimentazione
  • Bulloni recuperati dalla porta seriale o vga del vecchio computer
  • Porte USB recuperate dal vecchio computer

Raspberry pi è attaccato alla piastra hobbycolor con bulloni dalla porta vga.

I dischi sono fissati con bulloni regolari sul retro.

Passaggio 2: cablaggio

Cablaggio
Cablaggio

Il jack di ingresso dell'alimentazione si collega a entrambe le porte USB recuperate

Il primo usb (dietro tutti i fili davanti a sinistra) viene utilizzato come fonte di alimentazione, vengono utilizzati solo i fili rosso e nero e collegati al jack di ingresso dell'alimentazione. Il primo cavo USB in questa porta fornisce alimentazione al pi, il secondo cavo USB fornisce alimentazione all'hub USB.

La seconda usb (quella nella parte posteriore - utile per collegare dispositivi aggiuntivi) ha il rosso e il nero collegati direttamente all'ingresso di alimentazione, mentre il bianco e il verde di ogni porta è collegato a un cavo usb recuperato da qualche vecchio mouse (quelli bianchi direttamente collegato a pi)

Il cavo LAN collega la presa a muro di rete esterna alla porta LAN raspberry pi

I dischi sono collegati tramite adattatori da usb a sata all'hub USB alimentato esternamente (i dischi di capacità maggiore richiedono più potenza e non vogliamo rendere più instabile), che è collegato in una delle porte pi

Passaggio 3: software

Software
Software

Installa il sistema operativo

Usa Centos 7 per il braccio per una maggiore sicurezza. (https://mirror.centos.org/altarch/7/isos/armhfp/); testato: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, tutorial qui:

Metti l'immagine sulla scheda micro sd dal tuo computer Linux (per Windows controlla:

xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of=$/path/to/sd/card status=progress bs=4M

password di root: centos

usa nmtui per configurare la rete e impostare un indirizzo IP statico

Imposta i dischi

Crea una partizione su ciascun disco (è meglio essere un po' più piccoli dell'intero disco - diciamo 1 GB più piccoli - dischi diversi della stessa capacità - es: wd vs toshiba - hanno dimensioni diverse:)). In questo modo sarai al sicuro se devi sostituire uno dei dischi

Crea un filesystem btrfs raid 1 sui tuoi dischi

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

btrfs etichetta del filesystem /dev/sda1 rpi3

Monta il filesystem usando autofs (impedisce il mancato avvio di pi se qualcosa va storto con i dischi)

yum install -y autofs

aggiungi il flusso a /etc/auto.master:

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

Crea /etc/auto.ext-usb con il contenuto:

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

riavvio automatico del servizio

ls /srv, df -h, conferma che è montato

Installa il tuo cloud

Prerequisiti (apache, php, mariadb):

yum install -y httpd;yum install -y mod_ssl; yum install -y mariadb-server; yum install -y php*

Installa owncloud 9 che è compatibile con php54 fornito con centos7, un buon tutorial per questo:

download.owncloud.org/download/repositories…

Dopo che owncloud è attivo e funzionante, sposta la directory dei dati dalla posizione predefinita alle nuove unità (/srv)

servizio httpd stop

modifica /var/www/html/owncloud/config/config.php e apporta questa modifica:

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

servizio httpd start

Puoi installare il client desktop owncloud su linux / windows e per i telefoni uso foldersync

  • Abilita e configura SELinux

    (la versione funzionante è: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-targeted-3.13.1-166.el7.5.noarch)

assicurati di non aggiornare quella policy (in /etc/yum.conf append: exclude = selinux-policy*)

ripristinarecon -Rv /

/boot/cmdline.txt dovrebbe contenere: selinux=1 security=selinux enforcing=1

/etc/sysconfig/selinux dovrebbe contenere: SELINUX=enforcing e SELINUXTYPE=targeted

riavviare

Effettuare le seguenti impostazioni dopo il riavvio:

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

se riscontri problemi, inserisci la scheda SD in un altro computer e modifica cmdline.txt per avere: selinux=0

Metti al sicuro la tua scatola

Cambia la password di root

Crea te stesso un utente (adduser -s /bin/bash "me") e imposta una password complessa (passwd "me")

configura sshd per ascoltare su un'altra porta e NON consentire gli accessi root

In /etc/ssh/sshd_config, imposta Porta

(diciamo 2222), PermitRootLogin no

Informa SELinux e firewalld delle tue intenzioni:

semanage port -a -t ssh_port_t -p tcp 2222

service firewalld start && systemctl abilita firewalld.service

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

firewall-cmd --reload

riavvio del servizio sshd

Rendilo pubblico

Sul tuo router Internet inoltra queste porte al tuo IP statico impostato nel primo passaggio: 80, 443, 2222.

Imposta DDNS sul tuo router in modo da poter accedere alla tua casella da qualsiasi luogo.

Ritocchi

Imposta apache su 5 proc poiché la memoria è bassa:

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

LoadModule mpm_prefork_module moduli/mod_mpm_prefork.so

StartServer 5

MinSpareServer 5

MaxSpareServer 5

Limite server 5

MaxClienti 5

Richieste massime per bambino 3000

servizio httpd riavvio

Imposta cron per pulire settimanalmente i dischi e creare uno snapshot ogni notte (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))

controlla di tanto in tanto il volume con: btrfs dev stats /srv

Usa watchdog per ripristinare automaticamente se non risponde (raspberry pi3 ne ha uno hardware):

yum install -y watchdog

/etc/watchdog.conf

watchdog-device = /dev/watchdogwatchdog-timeout = 15

interval = 1logtick = 1 log-dir = /var/log/watchdog

tempo reale = sì priorità = 1

watchdog del servizio start && systemctl abilita watchdog.service

Consigliato: