Innehållsförteckning:
Video: Red Box: 3 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Skapa din egen pålitliga molnserver
Steg 1: Hårdvara
- Använd en metalllåda och måla den i din favoritfärg. (Jag använde en gammal lagringskontroller)
- Hobbyfärgplatta som klarar minst 75 C
- Hallon pi 3
- Micro SD -kort (jag använde 16 GB men du kan använda valfri storlek> = 4 GB)
- USB -hubb med ett externt strömuttag
- Usb till sata -adaptrar
- Hårddiskar
- Nätverkskabel + vägguttag
- Ledningar + strömuttag
- Bultar återhämtade sig från den gamla datorns seriella eller vga -port
- Usb -portar återhämtade sig från den gamla datorn
Raspberry pi är fäst på hobbyfärgplattan med bultar från vga -porten.
Skivor fästs med vanliga bultar på baksidan.
Steg 2: Kabeldragning
Strömingången ansluts till båda återställda usb -portarna
Första usb (bakom alla ledningar längst fram till vänster) används som strömkälla, endast röda och svarta ledningar används och ansluts till strömuttaget. Första usb -kabeln i denna port ger ström till pi, den andra usb -kabeln ger ström till USB -hubben.
Andra usb (den på baksidan - användbar för anslutning av ytterligare enheter) har rött och svart anslutet direkt till strömförsörjningen, medan det vita och gröna på varje port är anslutet till en usb -kabel som återställts från en gammal mus (de vita direkt ansluten till pi)
Lan -kabel ansluter det externa nätverkets vägguttag till Raspberry pi LAN -porten
Skivor är anslutna via usb till sata -adaptrar till den externa USB -hubben (större diskar kräver mer ström och vi vill inte göra pi instabil), som är ansluten i en av pi -portarna
Steg 3: Programvara
Installera operativsystemet
Använd Centos 7 för arm för högre säkerhet. (https://mirror.centos.org/altarch/7/isos/armhfp/); testad: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, handledning här:
Lägg bilden på micro sd -kortet från din Linux -dator (för Windows -kontroll:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $/path/to/sd/card status = progress bs = 4M
root -lösenord: centos
använd nmtui för att konfigurera nätverk och ställ in en statisk ip -adress
Installera skivorna
Skapa en partition på varje disk (är bättre att vara lite mindre än hela disken - låt oss säga 1 GB mindre - olika diskar med samma kapacitet - ex: wd vs toshiba - har olika storlekar:)). På så sätt är du säker om du behöver byta ut en av skivorna
Skapa ett btrfs raid 1 -filsystem på dina diskar
mkfs.btrfs -d raid1 -m raid1 /dev /sda1 /dev /sdb1
btrfs filsystem etikett /dev /sda1 rpi3
Montera filsystemet med autofs (förhindrar att pi inte startas om något går fel med skivorna)
yum installera -y autofs
lägg till flödet till /etc/auto.master:
/-/etc/auto.ext-usb-timeout = 300
Skapa /etc/auto.ext-usb med innehållet:
/srv -fstype = auto, komprimera = lzo, noatime:/dev/disk/by -label/rpi3
service autofs starta om
ls /srv, df -h, bekräfta att den är monterad
Installera owncloud
Förkunskaper (apache, php, mariadb):
yum install -y httpd; yum install -y mod_ssl; yum installera -y mariadb -server; yum installera -y php*
Installera owncloud 9 som är kompatibel med php54 som följer med centos7, en bra handledning för det:
download.owncloud.org/download/repositories …
När owncloud är igång flyttar du datadir från standardplatsen till de nya enheterna (/srv)
service httpd stop
redigera /var/www/html/owncloud/config/config.php och gör den här ändringen:
'datadirectory' => '/srv/owncloud/data', mkdir /srv /owncloud; mv/var/www/html/owncloud/data/srv/owncloud && chown -R apache: apache/srv/owncloud/data/
service httpd start
Du kan installera owncloud -skrivbordsklient på linux / windows och för telefoner använder jag foldersync
-
Aktivera och konfigurera SELinux
(arbetsversion är: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-riktad-3.13.1-166.el7.5.noarch)
se till att du inte uppdaterar den policyn (i /etc/yum.conf append: exclude = selinux-policy*)
återställa -Rv /
/boot/cmdline.txt ska innehålla: selinux = 1 säkerhet = selinux genomdriva = 1
/etc/sysconfig/selinux bör innehålla: SELINUX = verkställande och SELINUXTYPE = riktat
starta om
Gör följande inställningar efter omstart:
yum installera -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
om du stöter på några problem lägger du in SD -kortet i en annan dator och ändrar cmdline.txt för att ha: selinux = 0
Säkra din låda
Ändra rotlösenord
Skapa dig en användare (adduser -s /bin /bash "me") och ange ett starkt lösenord (passwd "me")
konfigurera sshd för att lyssna på en annan port och tillåta INTE root -inloggningar
I/etc/ssh/sshd_config, ställ in Port
(låt oss säga 2222), PermitRootLogin nr
Berätta för SELinux och firewalld om dina avsikter:
semanage port -a -t ssh_port_t -p tcp 2222
service firewalld start && systemctl aktivera firewalld.service
brandvägg-cmd-permanent-lägg till-port 2222/tcp
brandvägg-cmd-ladda om
service sshd starta om
Gör det offentligt
På din internetrouter vidarebefordra dessa portar till din statiska ip -uppsättning i första steget: 80, 443, 2222.
Konfigurera DDNS på din router så att du kan komma åt din box var som helst.
Finjustering
Ställ in apache på 5 procs eftersom minnet är lågt:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
StartServers 5
MinSpareServers 5
MaxSpareServers 5
ServerLimit 5
MaxClients 5
MaxRequestsPerChild 3000
service httpd starta om
Installera cron för att varje vecka skrubba skivorna och göra en ögonblicksbild varje kväll (i /etc /crontab)
01 02 * * 6 root btrfs scrub start/srv01 01 * * * root/usr/sbin/btrfs subvolym ögonblicksbild -r/srv/srv/@$ (printf "\%s" $ (/bin/date +\%d \%b \%Y-\%k-\%M))
kolla då och då volymen med: btrfs dev stats /srv
Använd vakthund för att automatiskt återställa om den inte svarar (hallon pi3 har en hårdvara):
yum installera -y vakthund
/etc/watchdog.conf
watchdog-device = /dev /watchdogwatchdog-timeout = 15
interval = 1logtick = 1 log-dir =/var/log/vakthund
realtid = japrioritet = 1
service watchdog start && systemctl aktivera watchdog.service
Rekommenderad:
Pocket Useless Box (med personlighet): 9 steg (med bilder)
Pocket Useless Box (med personlighet): Även om vi kanske är långt borta från ett robotuppror, finns det en maskin som redan motsäger människor, om än på det smälligaste sätt som möjligt. Oavsett om du vill kalla det en värdelös låda eller en lämna-mig-ensam-maskin, är den här klumpiga, tjuriga roboten
Raspberry Pi Box med kylfläkt med CPU -temperaturindikator: 10 steg (med bilder)
Raspberry Pi Box med kylfläkt med CPU-temperaturindikator: Jag hade introducerat hallon pi (nedan RPI) CPU-temperaturindikeringskrets i det föregående projektet. Kretsen visar helt enkelt RPI 4 olika CPU-temperaturnivå enligt följande.- Grön lysdiod tänds när CPU -temperaturen ligger inom 30 ~
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen
Mät likspänning med Arduino och Node-RED: 8 steg (med bilder)
Mät DC-spänning med Arduino och Node-RED: Det finns en hel del självstudier DC-spänningsmätning med Arduino, i det här fallet hittade jag en handledning som jag anser är den bästa funktionella metoden för att mäta DC utan att kräva ingångsvärden för motstånd, kräver bara lite motstånd och en multimeter
Cedar (Cigar?) Box Speaker Box: 8 steg (med bilder)
Cedar (Cigar?) Box Speaker Box: Inspirerad av Munny -högtalarna, men inte vill spendera mer än $ 10, här är min instruktion att använda gamla datahögtalare, en trälåda från sparsamhetsbutiken och massor av varmt lim