2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Öz etibarlı bulud serverinizi yaradın
Addım 1: Avadanlıq
- Bir metal qutu istifadə edin və sevdiyiniz rəngə boyayın. (Köhnə bir saxlama nəzarətçisindən istifadə etdim)
- Ən az 75 C -ə müqavimət göstərən hobbycolor lövhə
- Moruq pi 3
- Micro SD kart (16 GB istifadə etdim, amma istənilən ölçüdə istifadə edə bilərsiniz> = 4 GB)
- Xarici elektrik cərəyanı olan USB hub
- SATA adapterləri üçün usb
- Disk sürücülər
- Şəbəkə kabeli + şəbəkə divar prizi
- Tellər + güc giriş jakı
- Boltlar köhnə kompüterin serial və ya vga portundan bərpa edildi
- Usb portları köhnə kompüterdən bərpa edildi
Moruq pi, vga limanından boltlarla hobbi rəngli lövhəyə yapışdırılır.
Disklər arxa tərəfində adi boltlarla bağlanır.
Addım 2: Kabel çəkmə
Güc girişi hər iki bərpa edilmiş USB portuna qoşulur
İlk usb (soldakı bütün tellərin arxasında) enerji mənbəyi kimi istifadə olunur, yalnız qırmızı və qara tellər istifadə olunur və güc giriş yuvasına qoşulur. Bu portdakı ilk usb kabeli pi üçün güc təmin edir, ikinci usb kabeli USB hubına güc verir.
İkinci usb (arxada olan - əlavə cihazları bağlamaq üçün faydalıdır) qırmızı və qara birbaşa güc girişinə, hər portun ağ və yaşıl rəngləri isə köhnə bir siçandan çıxarılan usb kabelinə (ağlar isə birbaşa) bağlıdır. pi ilə bağlıdır)
Lan kabeli, xarici şəbəkə prizini moruq pi LAN portuna bağlayır
Disklər usb vasitəsilə sata adapterlərinə xarici gücə malik USB hub -a qoşulur (daha böyük tutumlu disklər daha çox güc tələb edir və pi -ni qeyri -sabit etmək istəmirik)
Addım 3: Proqram təminatı
Əməliyyat Sistemini Qurun
Daha yüksək təhlükəsizlik üçün qol üçün Centos 7 istifadə edin. (https://mirror.centos.org/altarch/7/isos/armhfp/); sınaqdan keçirildi: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, burada təlimat:
Şəkili Linux kompüterinizdən micro sd kartına qoyun (Windows yoxlamaq üçün:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $/path/to/sd/card status = irəliləyiş bs = 4M
kök parol: centos
şəbəkəni konfiqurasiya etmək və statik bir ip ünvanı təyin etmək üçün nmtui istifadə edin
Diskləri qurun
Hər diskdə bir bölmə yaradın (bütün diskdən bir qədər kiçik olmaq daha yaxşıdır - 1GB daha kiçik olsun - eyni tutumlu fərqli disklər - məsələn: wd vs toshiba - fərqli ölçülərə malikdir:)). Bu yolla, disklərdən birini dəyişdirmək lazım olarsa, təhlükəsiz olacaqsınız
Disklərinizdə btrfs raid 1 fayl sistemi yaradın
mkfs.btrfs -d raid1 -m raid1 /dev /sda1 /dev /sdb1
btrfs fayl sistemi etiketi /dev /sda1 rpi3
Fayl sistemini autofs istifadə edərək quraşdırın (disklərdə bir şey səhv olarsa pi yüklənməsinin qarşısını alır)
yum install -y autofs
axını /etc/auto.master -ə əlavə edin:
/-/etc/auto.ext-usb --timeout = 300
Tərkibi ilə /etc/auto.ext-usb yaradın:
/srv -fstype = auto, compress = lzo, noatime:/dev/disk/by -label/rpi3
xidmət avtofları yenidən başladın
ls /srv, df -h, quraşdırıldığını təsdiq edin
Owncloud yükləyin
Ön şərtlər (apache, php, mariadb):
yum install -y httpd; yum install -y mod_ssl; yum install -y mariadb -server; yum yüklə -y php*
Bunun üçün yaxşı bir dərs olan centos7 ilə birlikdə gələn php54 ilə uyğun owncloud 9 qurun:
download.owncloud.org/download/repositories…
Owncloud işə salındıqdan sonra, məlumatları standart yerdən yeni sürücülərə köçürün (/srv)
xidmət httpd stop
/var/www/html/owncloud/config/config.php redaktə edin və bu dəyişikliyi edin:
'datadirectory' => '/srv/owncloud/data', mkdir /srv /owncloud; mv/var/www/html/owncloud/data/srv/owncloud && chown -R apache: apache/srv/owncloud/data/
xidmət httpd başlanğıcı
Owncloud masa üstü müştərisini linux / windows -da quraşdıra bilərsiniz və foldersync istifadə etdiyim telefonlar üçün
-
SELinux'u aktiv edin və konfiqurasiya edin
(iş versiyası: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-target-3.13.1-166.el7.5.noarch)
bu siyasəti yeniləmədiyinizə əmin olun (/etc/yum.conf append: except = selinux-policy*)
Restorecon -Rv /
/boot/cmdline.txt tərkibində olmalıdır: selinux = 1 təhlükəsizlik = selinux tətbiqetmə = 1
/etc/sysconfig/selinux ehtiva etməlidir: SELINUX = tətbiq və SELINUXTYPE = hədəflənmiş
yenidən başladın
Yenidən başladıqdan sonra aşağıdakı parametrləri edin:
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
Hər hansı bir problemlə qarşılaşsanız, sd kartını başqa bir kompüterə qoyun və cmdline.txt faylını dəyişdirin: selinux = 0
Qutunuzu təmin edin
Kök parolunu dəyişdirin
Özünüzə bir istifadəçi yaradın (adduser -s /bin /bash "me") və güclü bir parol təyin edin (passwd "me")
sshd -ni başqa bir portda dinləmək üçün konfiqurasiya edin və kök girişlərinə icazə verməyin
/Etc/ssh/sshd_config -də Portu təyin edin
(2222 deyək), PermitRootLogin no
Niyyətləriniz barədə SELinux və firewalld -ə deyin:
semanaj portu -a -t ssh_port_t -p tcp 2222
firewalld xidməti start && systemctl firewalld.service imkan verir
firewall-cmd-daimi-əlavə port 2222/tcp
firewall-cmd-yenidən yükləyin
xidmət sshd yenidən başladın
Bunu ictimailəşdirin
İnternet yönlendiricinizdə bu portları ilk addımda təyin etdiyiniz statik ipinizə yönləndirin: 80, 443, 2222.
Routerinizdə DDNS qurun ki, qutunuza hər yerdən daxil olasınız.
İncə tənzimləmə
Yaddaş az olduğu üçün apache -ni 5 procs olaraq təyin edin:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
StartServers 5
MinSpareServers 5
MaxSpareServers 5
Server Limiti 5
MaxClients 5
MaxRequestsPerChild 3000
xidmət httpd yenidən başladın
Diskləri həftəlik təmizləmək və hər gecə bir anlıq şəkil çəkmək üçün cron qurun (/etc /crontab -da)
01 02 * * 6 kök btrfs scrub start/srv01 01 * * * root/usr/sbin/btrfs subvolume snapshot -r/srv/srv/@$ (printf "\%s" $ (/bin/date +\%d \%b \%Y-\%k-\%M))
zaman zaman səsi yoxlayın: btrfs dev stats /srv
Cavab vermədikdə avtomatik olaraq sıfırlamaq üçün gözətçidən istifadə edin (moruq pi3 -də bir hardware var):
yum install -y gözətçi
/etc/watchdog.conf
watchdog-device = /dev /watchdogwatchdog-timeout = 15
interval = 1logtick = 1 log-dir =/var/log/watchdog
real vaxt = bəli üstünlük = 1
xidmət gözətçisinin işə salınması && systemctl watchdog.service imkan verir