İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Kendi güvenilir bulut sunucunuzu oluşturun
Adım 1: Donanım
- Metal bir kutu kullanın ve en sevdiğiniz renge boyayın. (Eski bir depolama denetleyicisi kullandım)
- En az 75 C'ye dayanıklı Hobbycolor plaka
- Ahududu pi 3
- Micro SD kart (16GB kullandım ancak herhangi bir boyutta >= 4GB kullanabilirsiniz)
- Harici güç jakına sahip USB hub
- Usb'den sata adaptörlerine
- Disk sürücüleri
- Ağ kablosu + ağ duvar prizi
- Teller + güç girişi jakı
- Eski bilgisayarın seri veya vga bağlantı noktasından kurtarılan cıvatalar
- Eski bilgisayardan kurtarılan usb bağlantı noktaları
Raspberry pi, hobi renk plakasına vga portundan cıvatalarla takılır.
Diskler arkada normal cıvatalarla takılır.
Adım 2: Kablolama
Güç girişi jakı, kurtarılan her iki USB bağlantı noktasına da bağlanır
İlk usb (ön soldaki tüm kabloların arkasında) güç kaynağı olarak kullanılır, sadece kırmızı ve siyah teller kullanılır ve güç giriş jakına bağlanır. Bu bağlantı noktasındaki ilk usb kablosu pi için güç sağlar, ikinci usb kablosu USB hub'a güç sağlar.
İkinci usb (arkadaki - ek aygıtları bağlamak için kullanışlıdır) doğrudan güç girişine bağlı kırmızı ve siyaha sahipken, her bağlantı noktasının beyaz ve yeşili eski bir fareden (doğrudan beyaz olanlar) kurtarılan bir usb kablosuna bağlanır. pi'ye bağlı)
Lan kablosu, harici ağ duvar prizini ahududu pi LAN bağlantı noktasına bağlar
Diskler, pi portlarından birine bağlı olan harici güçlü USB hub'a (daha büyük kapasiteli diskler daha fazla güç gerektirir ve pi'yi kararsız hale getirmek istemiyoruz) usb ile sata adaptörlerine bağlanır
3. Adım: Yazılım
İşletim Sistemini Yükleyin
Daha yüksek güvenlik için kol için Centos 7 kullanın. (https://mirror.centos.org/altarch/7/isos/armhfp/); test edildi: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, burada öğretici:
Görüntüyü Linux bilgisayarınızdan mikro sd karta koyun (Windows için kontrol edin:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of=$/path/to/sd/card status=ilerleme bs=4M
kök şifre: centos
ağı yapılandırmak ve statik bir ip adresi ayarlamak için nmtui kullanın
Diskleri kurun
Her diskte bir bölüm oluşturun (tüm diskten biraz daha küçük olması daha iyidir - diyelim ki 1 GB daha küçük - aynı kapasiteye sahip farklı diskler - örneğin: wd vs toshiba - farklı boyutlara sahip:)). Bu şekilde, disklerden birini değiştirmeniz gerektiğinde güvende olursunuz.
Disklerinizde bir btrfs raid 1 dosya sistemi oluşturun
mkfs.btrfs -d raid1 -m raid1 /dev/sda1 /dev/sdb1
btrfs dosya sistemi etiketi /dev/sda1 rpi3
Dosya sistemini autofs kullanarak bağlayın (disklerde bir şeyler ters giderse pi'nin önyüklenmemesini önler)
yum install -y autofs
akışı /etc/auto.master dosyasına ekleyin:
// /etc/auto.ext-usb --zaman aşımı=300
İçerikle /etc/auto.ext-usb oluşturun:
/srv -fstype=auto, sıkıştır=lzo, noatime:/dev/disk/by-label/rpi3
servis autofs yeniden başlat
ls /srv, df -h, takılı olduğunu onaylayın
Owncloud'u yükleyin
Önkoşullar (Apache, php, mariadb):
yum kurulumu -y httpd;yum kurulumu -y mod_ssl; yum install -y mariadb sunucusu; yum install -y php*
Bunun için iyi bir öğretici olan centos7 ile birlikte gelen php54 ile uyumlu owncloud 9'u kurun:
download.owncloud.org/download/repositories…
Owncloud çalışmaya başladıktan sonra, data dizinini varsayılan konumdan yeni sürücülere (/srv) taşıyın
hizmet httpd durdurma
/var/www/html/owncloud/config/config.php dosyasını düzenleyin ve şu değişikliği yapın:
'datadirectory' => '/srv/owncloud/data', mkdir /srv/owncloud; mv /var/www/html/owncloud/data /srv/owncloud && chown -R apache:apache /srv/owncloud/data/
hizmet httpd başlangıcı
Owncloud masaüstü istemcisini linux/windows'a yükleyebilirsiniz ve telefonlar için foldersync kullanıyorum
-
SELinux'u etkinleştirin ve yapılandırın
(çalışan sürüm: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-targeted-3.13.1-166.el7.5.noarch)
bu politikayı güncellemediğinizden emin olun (/etc/yum.conf ekinde: hariç tutma = selinux-policy*)
restorecon -Rv /
/boot/cmdline.txt şunları içermelidir: selinux=1 security=selinux enforcing=1
/etc/sysconfig/selinux şunları içermelidir: SELINUX=zorlama ve SELINUXTYPE=hedefli
yeniden başlat
Yeniden başlattıktan sonra aşağıdaki ayarları yapın:
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
herhangi bir sorunla karşılaşırsanız, sd kartı başka bir bilgisayara takın ve cmdline.txt dosyasını şu şekilde değiştirin: selinux=0
kutunuzu emniyete alın
Kök şifresini değiştir
Kendinize bir kullanıcı oluşturun (adduser -s /bin/bash "me") ve güçlü bir parola belirleyin (passwd "me")
sshd'yi başka bir bağlantı noktasında dinleyecek şekilde yapılandırın ve kök oturum açmalarına izin VERMEYİN
/etc/ssh/sshd_config içinde Bağlantı Noktasını ayarlayın
(2222 diyelim), PermitRootLogin no
SELinux ve firewalld'a niyetleriniz hakkında bilgi verin:
semanage bağlantı noktası -a -t ssh_port_t -p tcp 2222
servis firewalld başlat && systemctl firewalld.service'i etkinleştir
güvenlik duvarı-cmd --kalıcı --add-port 2222/tcp
güvenlik duvarı-cmd --yeniden yükle
hizmet sshd yeniden başlatma
Herkese açık yap
İnternet yönlendiricinizde bu bağlantı noktalarını ilk adımdaki statik ip setinize iletin: 80, 443, 2222.
DDNS'yi yönlendiricinize kurun, böylece kutunuza her yerden erişebilirsiniz.
İnce ayar
Bellek düşük olduğu için apache'yi 5 işleme ayarlayın:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modülleri/mod_mpm_prefork.so
Başlangıç Sunucuları 5
MinYedekSunucular 5
MaxSpareSunucuları 5
Sunucu Sınırı 5
MaxClients 5
Çocuk Başına Maksimum İstek 3000
hizmet httpd yeniden başlat
Diskleri haftalık olarak temizlemek ve her gece bir anlık görüntü oluşturmak için cron'u kurun (/etc/crontab'da)
01 02 * * 6 root btrfs fırçalama start /srv01 01 * * * root /usr/sbin/btrfs alt birim anlık görüntüsü -r /srv /srv/@$(printf "\%s" $(/bin/date +\%d) %b\%Y-\%k-\%M))
zaman zaman birimi şu şekilde kontrol edin: btrfs dev stats /srv
Yanıt vermezse otomatik olarak sıfırlamak için bekçi köpeğini kullanın (ahududu pi3'ün bir donanımı vardır):
yum install -y bekçi köpeği
/etc/watchdog.conf
watchdog-device = /dev/watchdogwatchdog-timeout = 15
interval = 1logtick = 1 log-dir = /var/log/watchdog
gerçek zamanlı = evetöncelik = 1
service watchdog start && systemctl watchdog.service'i etkinleştir