Სარჩევი:

წითელი ყუთი: 3 ნაბიჯი (სურათებით)
წითელი ყუთი: 3 ნაბიჯი (სურათებით)

ვიდეო: წითელი ყუთი: 3 ნაბიჯი (სურათებით)

ვიდეო: წითელი ყუთი: 3 ნაბიჯი (სურათებით)
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
წითელი ყუთი
წითელი ყუთი

შექმენით თქვენი საკუთარი საიმედო ღრუბლოვანი სერვერი

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
  • გამოიყენეთ ლითონის ყუთი და შეღებეთ თქვენი საყვარელი ფერი. (მე გამოვიყენე ძველი საცავის კონტროლერი)
  • ჰობი ფირფიტა, რომელიც ეწინააღმდეგება მინიმუმ 75 C- ს
  • ჟოლო პი 3
  • მიკრო SD ბარათი (მე გამოვიყენე 16 GB, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ზომა> = 4 GB)
  • USB კერა გარე კვების ბლოკით
  • USB to sata გადამყვანები
  • დისკის დისკები
  • ქსელის კაბელი + ქსელის კედლის ბუდე
  • მავთულები + დენის შეყვანის ბუდე
  • ჭანჭიკები ამოღებულია ძველი კომპიუტერის სერიული ან vga პორტიდან
  • USB პორტები ამოღებულია ძველი კომპიუტერიდან

ჟოლო პი მიმაგრებულია ჰობის ფირფიტაზე ჭანჭიკებით vga პორტიდან.

დისკები მიმაგრებულია რეგულარული ჭანჭიკებით უკანა მხარეს.

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა

დენის შეყვანის ბუდე აკავშირებს ორივე ამოღებულ USB პორტს

პირველი USB (ყველა მავთულის უკან მარცხნივ) გამოიყენება როგორც ენერგიის წყარო, მხოლოდ წითელი და შავი მავთულები გამოიყენება და დაკავშირებულია დენის შეყვანის ჯეკთან. პირველი USB კაბელი ამ პორტში უზრუნველყოფს pi ენერგიას, მეორე USB კაბელი უზრუნველყოფს USB კერას.

მეორე USB (ერთი უკანა - სასარგებლოა დამატებითი მოწყობილობების დასაკავშირებლად) აქვს წითელი და შავი უშუალოდ ელექტროენერგიის შეყვანას, ხოლო თითოეული პორტის თეთრი და მწვანე უკავშირდება ძველი მაუსიდან ამოღებულ USB კაბელს (თეთრი პირდაპირ) უკავშირდება პი)

Lan კაბელი აკავშირებს გარე ქსელის კედლის სოკეტს ჟოლოს pi LAN პორტთან

დისკები USB– ის საშუალებით უკავშირდება sata გადამყვანებს გარე იკვებებადი USB კვანძით (უფრო დიდი ტევადობის დისკები მოითხოვს მეტ ენერგიას და ჩვენ არ გვინდა pi არასტაბილური გავხადოთ), რომელიც დაკავშირებულია ერთ – ერთ პი პორტში

ნაბიჯი 3: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა

დააინსტალირეთ ოპერაციული სისტემა

გამოიყენეთ Centos 7 მკლავისთვის უფრო მაღალი უსაფრთხოებისათვის. (https://mirror.centos.org/altarch/7/isos/armhfp/); გამოცდილი: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, გაკვეთილი აქ:

განათავსეთ სურათი მიკრო sd ბარათზე თქვენი Linux კომპიუტერიდან (Windows- ისთვის შეამოწმეთ:

xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $/path/to/sd/ბარათის სტატუსი = პროგრესი bs = 4 მ

root პაროლი: centos

გამოიყენეთ nmtui ქსელის კონფიგურაციისთვის და სტატიკური ip მისამართის დასაყენებლად

დააყენეთ დისკები

შექმენით ერთი დანაყოფი თითოეულ დისკზე (სჯობს იყოთ უფრო პატარა ვიდრე მთლიანი დისკი - ვთქვათ 1 GB პატარა - ერთი და იგივე ტევადობის დისკები - მაგ: wd vs toshiba - აქვს სხვადასხვა ზომის:)). ამ გზით თქვენ იქნებით უსაფრთხოდ, თუ დაგჭირდებათ ერთ – ერთი დისკის შეცვლა

შექმენით btrfs raid 1 ფაილური სისტემა თქვენს დისკებზე

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

btrfs ფაილური სისტემის ეტიკეტი /dev /sda1 rpi3

დააინსტალირეთ ფაილური სისტემა ავტომატური საშუალებების გამოყენებით (ხელს უშლის pi- ს ჩატვირთვას, თუ დისკზე რამე არასწორედ წავა)

yum დააინსტალირეთ -autofs

დაამატეთ ნაკადი /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…

მას შემდეგ, რაც საკუთარი ღრუბელი ამოქმედდება, გადაიტანეთ მონაცემები 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/

სერვისი httpd დაწყება

თქვენ შეგიძლიათ დააინსტალიროთ საკუთარი კლუბის დესკტოპის კლიენტი linux / windows– ზე და ტელეფონებისთვის, რომელსაც საქაღალდეების სინქრონიზაციას ვიყენებ

  • ჩართეთ და დააკონფიგურირეთ SELinux

    (სამუშაო ვერსია არის: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-target-3.13.1-166.el7.5.noarch)

დარწმუნდით, რომ არ აახლებთ ამ პოლიტიკას (in /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 სხვა პორტზე მოსასმენად და არ დაუშვათ root შესვლა

/Etc/ssh/sshd_config, დააყენეთ პორტი

(ვთქვათ 2222), PermitRootLogin No.

უთხარით SELinux და firewalld თქვენს განზრახვებს:

semanage პორტი -a -t ssh_port_t -p tcp 2222

სერვისი firewalld start && systemctl ჩართეთ firewalld.service

firewall-cmd-მუდმივი-დამატება-პორტი 2222/tcp

firewall-cmd-გადატვირთვა

სერვისის sshd გადატვირთვა

გახადე საჯარო

თქვენს ინტერნეტ როუტერზე გადაიტანეთ ეს პორტები თქვენს სტატიკურ IP– ზე დაყენებული პირველი ნაბიჯი: 80, 443, 2222.

დააყენეთ DDNS თქვენს როუტერზე, ასე რომ თქვენ შეძლებთ თქვენს ყუთზე წვდომას ნებისმიერი ადგილიდან.

სრულყოფილი მორგება

დააყენეთ apache 5 პროკზე, რადგან მეხსიერება დაბალია:

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

LoadModule mpm_prefork_module მოდულები/mod_mpm_prefork.so

StartServers 5

MinSpareServers 5

MaxSpareServers 5

სერვერის ლიმიტი 5

მაქს კლიენტები 5

MaxRequestsPerChild 3000

სერვისი httpd გადატვირთვა

დააყენეთ cron ყოველკვირეულად გახეხეთ დისკები და გააკეთეთ სურათი ყოველ ღამე (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))

დროდადრო შეამოწმეთ მოცულობა: btrfs dev stats /srv

გამოიყენეთ watchdog ავტომატურად გადატვირთვის შემთხვევაში, თუ ის არ რეაგირებს (ჟოლოს pi3 აქვს აპარატურა):

yum install -y watchdog

/და ა.შ/watchdog.conf

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

ინტერვალი = 1 ლოტიკი = 1 ლოგ-დირი =/var/ჟურნალი/დარაჯი

რეალურ დროში = დიახ პრიორიტეტი = 1

service watchdog start && systemctl ჩართავს watchdog.service

გირჩევთ: