جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
قم بإنشاء خادم سحابي موثوق به
الخطوة 1: الأجهزة
- استخدم صندوقًا معدنيًا وقم بطلائه باللون المفضل لديك. (لقد استخدمت وحدة تحكم تخزين قديمة)
- لوحة Hobbycolor تقاوم 75 درجة مئوية على الأقل
- التوت باي 3
- بطاقة Micro SD (استخدمت 16 جيجابايت ولكن يمكنك استخدام أي حجم> = 4 جيجابايت)
- محور USB مع مقبس طاقة خارجي
- محولات USB إلى SATA
- محركات الأقراص
- كابل الشبكة + مقبس الحائط للشبكة
- أسلاك + مقبس إدخال الطاقة
- تم استرداد البراغي من منفذ تسلسلي أو منفذ vga للكمبيوتر القديم
- تم استرداد منافذ USB من الكمبيوتر القديم
يتم توصيل Raspberry Pi بلوحة hobbycolor بمسامير من منفذ vga.
يتم إرفاق الأقراص بمسامير منتظمة على الظهر.
الخطوة 2: الأسلاك
يتصل مقبس إدخال الطاقة بمنافذ USB المستردة
يتم استخدام USB الأول (خلف جميع الأسلاك الموجودة في الأمام على اليسار) كمصدر للطاقة ، ويتم استخدام الأسلاك الحمراء والسوداء فقط وتوصيلها بمقبس إدخال الطاقة. يوفر كبل USB الأول في هذا المنفذ الطاقة لـ pi ، بينما يوفر كبل USB الثاني الطاقة إلى محور USB.
USB الثاني (الذي في الخلف - مفيد لتوصيل أجهزة إضافية) يحتوي على اللونين الأحمر والأسود المتصلين مباشرة بمدخل الطاقة ، بينما يتم توصيل الأبيض والأخضر لكل منفذ بكابل USB مسترجع من بعض الماوس القديم (الأبيض منها مباشرة متصل بـ pi)
يقوم كبل LAN بتوصيل مقبس الحائط الخارجي للشبكة بمنفذ raspberry pi LAN
تتصل الأقراص عبر USB بمحولات sata بمحور USB الخارجي الذي يعمل بالطاقة (تتطلب الأقراص ذات السعة الأكبر مزيدًا من الطاقة ولا نريد أن نجعل pi غير مستقر) ، وهو متصل بأحد منافذ pi
الخطوة 3: البرمجيات
قم بتثبيت نظام التشغيل
استخدم Centos 7 للذراع لمزيد من الأمان. (https://mirror.centos.org/altarch/7/isos/armhfp/) ؛ تم الاختبار: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz ، البرنامج التعليمي هنا:
ضع الصورة على بطاقة micro sd من كمبيوتر Linux الخاص بك (للتحقق من windows: https://www.raspberrypi.org/documentation/install …
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd = $ / path / to / sd / card status = تقدم bs = 4M
كلمة مرور الجذر: centos
استخدم nmtui لتكوين الشبكة وتعيين عنوان IP ثابت
قم بإعداد الأقراص
قم بإنشاء قسم واحد على كل قرص (من الأفضل أن يكون أصغر قليلاً من القرص بأكمله - دعنا نقول 1 جيجابايت أصغر - أقراص مختلفة بنفس السعة - على سبيل المثال: wd vs toshiba - لها أحجام مختلفة:)). بهذه الطريقة ستكون آمنًا إذا احتجت إلى استبدال أحد الأقراص
قم بإنشاء نظام ملفات btrfs raid 1 على أقراصك
mkfs.btrfs -d raid1 -m raid1 / dev / sda1 / dev / sdb1
تسمية نظام الملفات btrfs / dev / sda1 rpi3
قم بتثبيت نظام الملفات باستخدام autofs (يمنع عدم تشغيل pi إذا حدث خطأ ما في الأقراص)
yum تثبيت -y autofs
إلحاق التدفق بـ /etc/auto.master:
/ - /etc/auto.ext-usb - المهلة = 300
قم بإنشاء /etc/auto.ext-usb بالمحتوى:
/ srv -fstype = تلقائي ، ضغط = lzo ، noatime: / dev / disk / by-label / rpi3
إعادة تشغيل autofs الخدمة
ls / srv ، df -h ، تأكد من تركيبه
تثبيت owncloud
المتطلبات الأساسية (أباتشي ، بي إتش بي ، ماريادب):
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…
بعد تشغيل owncloud ، انقل دليل البيانات من الموقع الافتراضي إلى محركات الأقراص الجديدة (/ srv)
توقف خدمة
قم بتحرير /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 /
بدء خدمة
يمكنك تثبيت عميل سطح المكتب الخاص بك على نظام التشغيل Linux / windows وعلى الهواتف التي أستخدمها folderync
-
تفعيل وضبط SELinux
(إصدار العمل هو: selinux-policy-3.13.1-166.el7.5.noarch، selinux-policy-target-3.13.1-166.el7.5.noarch)
تأكد من عدم تحديث هذه السياسة (في /etc/yum.conf append: استبعاد = 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 للاستماع على منفذ آخر ولا تسمح بتسجيل الدخول إلى الجذر
في / etc / ssh / sshd_config ، اضبط المنفذ
(دعنا نقول 2222) ، لا PermitRootLogin
أخبر SELinux وجدار الحماية عن نواياك:
منفذ semanage -t ssh_port_t -p tcp 2222
بدء جدار حماية الخدمة && systemctl تمكين firewalld.service
جدار الحماية - cmd - دائم - إضافة منفذ 2222 / tcp
جدار الحماية- cmd - إعادة تحميل
إعادة تشغيل خدمة sshd
اجعلها عامة
على جهاز توجيه الإنترنت الخاص بك ، قم بإعادة توجيه هذه المنافذ إلى مجموعة IP الثابتة الخاصة بك في الخطوة الأولى: 80 ، 443 ، 2222.
قم بإعداد DDNS على جهاز التوجيه الخاص بك حتى تتمكن من الوصول إلى صندوقك من أي مكان.
الكون المثالى
اضبط apache على 5 عمليات لأن الذاكرة منخفضة:
/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
ماكسلينتس 5
MaxRequestsPerChild 3000
إعادة تشغيل خدمة
قم بإعداد cron لتنظيف الأقراص أسبوعيًا وعمل لقطة كل ليلة (في / etc / crontab)
01 02 * * 6 بدء فرك btrfs الجذر / srv01 01 * * * الجذر / usr / sbin / btrfs لقطة المجلد الفرعي -r / srv / srv / @ $ (printf "\٪ s" $ (/ bin / date + \٪ d \٪ b \٪ Y - \٪ k - \٪ M))
تحقق من وحدة التخزين من وقت لآخر باستخدام: btrfs dev stats / srv
استخدم watchdog لإعادة التعيين تلقائيًا إذا أصبح غير مستجيب (يحتوي Raspberry pi3 على جهاز واحد):
يم تثبيت -y حراسة
/etc/watchdog.conf
جهاز المراقبة = / dev / watchdogwatchdog-timeout = 15
الفاصل الزمني = 1 logtick = 1 log-dir = / var / log / watchdog
الوقت الحقيقي = yespriority = 1
بدء مراقبة الخدمة && systemctl تمكين watchdog.service