تشغيل خادم سحابي خاص في المنزل

في ظل التقدم التقني الكبير واعتمادنا على التقنية بشكل أكبر في هذا الوقت وفي المستقبل، أصبح نقل البيانات أمر مهم وضروري لمعظمنا. هناك العديد من الخدمات التي توفر لنا خدمات تخزين سحابية للوصول الى الملفات في أي وقت وأي مكان ولكن هذه الخدمات تبقى محدودة في العديد من الأشياء التي توفرها ومن أهم هذه الحدود هو الخصوصية.

مهما حاولت، لن تتمكن من إخفاء بياناتك عن هذه الشركات ولن تتمكن من خرق سياسات الاستخدام التي تسمح للشركات بالوصول الى محتويات ملفاتك بالكامل. حتى لو قمت بتشفير ملفاتك قبل نقلها، هل يتوفر لك الوقت حقا لتشفير كل شيء قبل السماح بمزامنته مع السحابة؟

أمر آخر للقلة بخصوصة هو الإنترنت. العديد لا زالوا لا يملكون اتصال انترنت أو الإنترنت لديهم مكلف بشكل غير منطقي ولا يسمح لهم بالاعتماد على السحابة كما في مناطق أخرى من العالم.

في هذا المقال سوف نقدم شرح لعمل خادم سحابي خاص بك في المنزل للاستخدام الشخصي. هذا الخادم سوف يقوم بمزامنة ملفاتك وصورك وجهات إتصالك وحتى التقويم الخاص بك الى مكان آمن داخل منزلك. لا تقلق، كلمة خادم هنا لا تعني جهاز كمبيوتر بسعر 1000 دولار، هي تعني جهاز خادم ويمكنك استخدام جهاز بسعر 40 دولار. نعم لا أمزح!

في هذا المقال سوف نستخدم جهاز raspberry pi ليكون مستقل ومنفصل عن باقي الأجهزة في المنزل مع امكانية تشغيله 24 ساعة في اليوم مع العلم انه يمكنك تشغيل هذا الخادم على أي جهاز كمبيوتر.

هذا الموضوع مُهدى الى صديق المبادرة علي شاكر

المتطلبات

خبرة بسيطة الى متوسطة في المجال التقني.

جهاز raspberry pi او كمبيوتر قديم. يفضل استخدام raspberry pi 4 فهو جهاز قوي جدا

في حال استخدم raspberry pi تأكد من توفير مزود طاقة بقوة لا تقل عن 3000mAh.

في حال استخدمت raspberry pi، استخدم بطاقة ذاكرة بحجم 8GB بسرعة Class10 على الأقل.

نظام تشغيل Ubuntu server 18.04.

قرص صلب بالمساحة التي ترغب بها.

كيبل Ethernet من نوع Cat6 لنقل البيانات بسرعة 1 GB في الثانية. يمكن استخدام Cat5.

جهاز توجيه “راوتر”

لوحة مفاتيح بشكل مؤقت

طولة البال والانتباه. الموضوع بسيط ولكن يتطلب بعض التفكير والفهم.

تجهيز النظام

تجهيز النظام مختلف من جهاز لآخر. سوف نقدم الشرح على جهاز raspberry pi لأنه قد يكون موضوع غريب على البعض. أما على الكمبيوتر، اتبع خطوات التثبيت العادية.

حرق النظام على بطاقة الذاكرة:

نظام Windows:

يمكنك استخدام برنامج Win32 Disk Imager من خلال الرابط التالي:

بعد تثبيت البرنامج، اختر ملف تثبيت نظام التشغيل من خلال الضغط على أيقونة المجلد الأزرق عند العنوان Image File.

ثم اختر بطاقة الذاكرة من القائمة المنسدلة تحت العنوان Device.

عند الانتهاء والتأكد من أن ما قمت به صحيح، اضغط على كلمة Write.

عند انتهاء البرنامج سوف يرفض ويندوز قراءة البطاقة و سيخبرك أنها تالفة ويجب عمل تهيئة لها. هذا غير صحيح ولكن ويندوز يعجز عن قراءة أي نظام أخر. يمكنك هنا التأكد من عملك من خلال الضغط على زر Verify Only للتأكد من صحة البيانات قبل المتابعة.

نظام لينيكس:

يمكنك اتباع الشرح في الرابط في الأسفل لحرق النظام على البطاقة. يمكنك استخدام أي برنامج آخر ولكن هذه هي أسرع وأضمن طريقة:

تشغيل النظام

  • قم بإدخال بطاقة الذاكرة في مكانها في جهاز raspberry pi.
  • قم بتوصيل كيبل Ethernet.
  • قم بتوصيل لوحة المفاتيح.
  • قم بتوصيل شاشة من خلال منفذ HDMI.
  • قم بتوصيل مزود الطاقة.

جهاز raspberry pi لا يملك زر للطاقة. عند وصل مزود الطاقة سوق يبدأ بالعمل مباشرة وسوف يصل الى شاشة دخول النظام. عند تشغيل النظام بالكامل سوف ترى شاشة سوداء فيها نص مشابه للتالي:

قم باستخدام اسم المستخدم ubuntu وكلمة المرور ubuntu. لاحظ أن النظام يطلب منك تغيير كلمة المرور بشكل اجباري. نتمنى منك استخدام كلمة مرور قوية لا تقل عن 16 حرف ورقم ورمز.

تثبيت السحابة الخاصة

سوف نعتمد على نظام NextCloud الرائد في المجال. نظام NextCloud عبارة عن خدمة سحابية متطورة مفتوحة المصدر متوفرة مجانا للجميع. في حال استخدمت هذا البرنامج يمكنك التبرع للجهة المصممة للنظام لتشجيعهم على الاستمرار والعمل على تطوير البرنامج وبرامج أخرى.

قبل تثبيت هذا البرنامج، يجب عمل العديد من الإعدادات في الخادم الخاص بنا لضمان عمل البرنامج بشكل صحيح.

تحديث النظام

تحديث النظام خطوة أساسية لا بد من القيام بها قبل المتابعة. يمكنك تحديث النظام من خلال الأمر التالي:

sudo apt update && sudo apt upgrade 

تثبيت خادم ssh

خادم ssh سوف يسمح لنا بالدخول الى الخادم من دون الحاجة الى شاشة. يمكنك تثبيت الخادم من خلال الأمر التالي في الطرفية:

تثبيت عنوان IP للخادم

طلب عنوان IP ثابت من جهاز التوجيه هو أمر ضروري جدا لنجاح العملية وسيرها بشكل آلي بدون تدخل منك في كل مرة. على الرغم من قبات العنوان بدون تدخل منك، الا ان العنوان قد يتم اخذه من قبل جهاز آخر عند إعادة تشغيل جهاز التوجيه. من المفضل استخدام عنوان IP مرتفع ومن غير المتوقع استخدامه من قبل أي شيء آخر. في حالتي، كان أعلى عنوان مستخدم هو 10.0.0.10. عند قيامي بالإعدادات استخدمت العنوان 10.0.0.50.

أولا يجب أن نعلم بعض المعلومات عن الشبكة التي تعمل عليها للمتابعة. قد تكون على علم بهذه المعلومات من قبل ولكن لمن لا يعلم، هذه هي الطريقة:

أولا يجب تنفيذ الأمر التالي في الطرفية:

هذا الأمر سوف يقوم بتوفير معلومات تبدو شبيهة جدا بالمعلومات التالية

يهمنا منها معرفة جهاز الشبكة الخاص بك و المتصل بالشبكة حاليا. بما انك تستخدم raspberry pi ومتصل بالشبكة باستخدام الكيبل، يجب ان يكون الجهاز هو الثاني بعد جهاز lo. قد يكون اسم الجهاز eth0 أو كما هو موجود لدي enp0s3. بعد معرفة الجهاز سوف نتعرف على عنوان IP والذي قد يكون مؤشر جيد على عدد الأجهزة المرتبط بجهاز التوجيه. بما ان الخادم الخاص بك هو آخر جهاز متصل، على الأرجح أن عنوانه هو العنوان الأعلى المستخدم حاليا. كما ويمكننا التعرف على الـ netmask وهو الرقم الموجود بعد عنوان IP مباشرة.

ثانيا يجب علينا معرفة عنوان جهاز التوجيه من خلال الأمر التالي:

والنتيجة مشابهة لما يلي:

العنوان المكتوب بعد كلمة via هو عنوان جهاز التوجيه.

ثالثا يجب أن نقوم بتحرير معلومات الشبكة في الخادم. بشكل افتراضي، توزيعة Ubuntu تستخدم مدير NetPlan في إدارة الشبكة وهو يعتبر أفضل مما سبقه ولكنه عسير في طريقة كتابة البيانات فيه وبالتالي يجب عليك كتابة الأوامر كما اخبرك هنا وان تنتبه لدقائق الأمور في الملف.

قم بعرض محتويات مجلد الإعدادات لتعرف ما هو الملف المسؤول عن إدارة الشبكة لديك. يتم عرض المحتويات باستخدام الأمر التالي وفي العادة سيكون لديك نفس الملف.

قم الآن بتحرير الملف وكن دقيق جدا فيما تكتبه. لا تستخدم Tab في المسافات واذا كان هناك ما يبدو في المثال التالي بأن فيه مسافات أكثر من غيره، استخدم مسافات أكثر.

من المفضل جدا نسخ النص التالي كما هو وتعديل الأرقام فقط بما يناسبك.

قم بتعديل البيانات كما هو ظاهر هنا:

تفسير ما سبق:

enp0s3: هو بطاقة الشبكة.

addresses [10.0.0.50/24]: هو عنوان IP الذي سيقوم الخادم بطلبه.

gateway4: هو عنوان جهاز التوجيه. رقم 4 في النهاية يعني بأنه عنوان IPv4.

nameservers: [1.1.1.1,8.8.8.8]: هو عنوان خوادم DNS. يمكنك تعيينه الى جهاز التوجيه او اختيار اي خادم آخر كما يناسبك.

dhcp: no: هذا يقوم بتعطيل خاصية طلب عنوان IP تلقائي.

version: 2: نوع تنسيق الملف وكيف سيقوم البرنامج بقراءته.

قم بحفظ الملف من خلال الضغط على Ctrl+O ومن ثم Enter وبعدها Ctrl+X للخروج. قم الآن بتطبيق الإعدادات من خلال الامر:

من المفترض تنفيذ الأمر بدون مخرجات. إذا رأيت مخرجات يعني أن هناك خلل

يمكنك الآن اعادة تشغيل الخادم للتأكد من أن الإعدادات بقيت كما هي وبالفعل الخادم أخذ العنوان المحدد له.

تثبيت Apache

تثبيت خادم Apache مباشر جدا وسهل جدا على نظام Ubuntu ويمكن عمله من خلال أمر واحد فقط:

تثبيت محرك قواعد بيانات MySQL:

محرك قواعد البيانات يمكن تثبيته أيضا بدون أي مشاكل وهو مباشر ويتم من خلال سطر الأوامر. يمكنك استخدام المحرك مفتوح المصدر MariaDB او يمكنك استخدام المحرك مغرق المصدر Mysql. هنا سوف نقوم بتثبيت MariaDB:

تثبيت PHP:

تثبيت php على خادم Ubuntu مباشر جدا وسيقوم بتثبيت نسخة 7.2 بشكل افتراضي. للأسف نسخة 7.2 وصلت الى نهاية الحياة ولهذا السبب سنقوم بعمل بعض الخطوات الاضافية لتثبيت نسخة 7.3.

ضبط اعدادات php

نحتاج الى ضبط عدد من الأمور هنا قبل المتابعة لضمان عمل الأمور بشكل سلس. سوف نقوم بتعديل بعض القيم في اعدادات php حتى تتوافق مع الخادم المنزلي وطبيعة العمل الذي نحتاجه.

قم بفتح ملف إعدادات php من خلال اﻷمر التالي:

قم بالبحث عن النصوص التالية من خلال الضغط على Ctrl+W ومن ثم كتابة النص وبعدها اضغط Enter وقم بالتغيير الى القيم الموضحة:

upload_max_filesize = 2M ==> upload_max_filesize = 200Mmemory_limit = 128M ==> memory_limit = 512Mpost_max_size = 8M ==> post_max_size = 800Mmax_execution_time = 60 ==>max_execution_time = 300max_input_time = 60 ==>max_input_time = 300;date.timezone = ==> date.timezone =utc

الرقم 300 هو 300 ثانية وهو رقم كبير بعض الشيء. ولكن من الممكن ان اتصالك بالإنترنت يحتاج أكثر من ذلك لتنزيل البرنامج. لتلافي أخطاء تثبيت البرنامج، يجب عليك منح وقت أكثر بقليل من اللازم لتنزيل ملف بحجم 102M

من ناحيتي لا ارى فائدة من استخدام PHPMyAdmin و تبعياته وضرورة عمل اعداداته خصوصا اننا سوف نستخدمه مرة واحده فقط. بالتالي، إنشاء المستخدم والقاعدة سيتم من خلال سطر الأوامر.

تفصيل ما سبق:

NextCloud هو اسم قاعدة البيانات. يمكنك تغييره كما شئت.

CloudUser هو مستخدم القاعدة. يمكنك تغييره كما شئت.

PASSWORD هي كلمة مرور المستخدم. أرجوك أن تقوم بتغييرها الى شيء آمن.

توصيل الخادم بالإنترنت

في هذه اللحظة لو طلبت عنوان IP الخادم في متصفحك، سوف ترى صفحة ترحب بك من خادم Apache. اذا رأيت هذه الصفحة يمكنك أن تصب كأس من الشاي احتفالا بالإنجاز الذي قمت به. على الرغم من أن الخطوات واضحة جدا الا ان ما تقوم به الآن لا يقوم به أي شخص.

بما أنك تعمل في المنزل، لا أرى ضرورة لاستخدام اسم نطاق، وحتى لو كنت تريد فتح هذا الخادم للإنترنت، لن أقوم بتفصيل الخطوات هنا لانها خطوات معقدة بعض الشيء وتعتبر خطر أمني على منزلك والأجهزة المتصلة به.

بدون الحاجة الى وصل اسم نطاق بالخادم، يمكنك استخدام المسار الافتراضي لملفات الموقع وهو:

تثبيت السحابة

من أسهل الطرق هو تثبيت السحابة باستخدام برنامج php جاهز. هذا البرنامج يقوم بعمل كل شيء بدلا منك وما عليك سوى اتباع التعليمات.

يجب تنزيل الملف الى المكان المناسب في الخادم بعد حذف ملفات apache الإفتراضية:

هذا هو الآن. يمكنك متابعة العمل في المتصفح. قم بطلب عنوان الخادم في المتصفح كالتالي:

اضغط على Next لفحص الخادم ومتابعة التثبيت.

ضع نقطة بدل كلمة nextcloud في المستطيل الأبيض. وبعدها اضغط على كلمة Next. هنا سيقوم الخادم بتنزيل البرنامج كامل وهو بحجم 102MB. لا تقلق من تأخر الخادم في الإستجابة فالموضوع يتعلق بسرعة اتصالك. لا تقم بتحديث الصفحة أيضا.

بعد انتهاء تنزيل البرنامج، قم بالضغط على Next لضبط الإعدادات.+

قم إدخال اسم مستخدم بدلا من username وكلمة مرور بدل password.

بدل Database user اكتب اسم المستخدم الذي قمت بعمله.

بدل Database password قم بكتابة كلمة مرور المستخدم الذي قمت بعمله.

بدل Database name قم بوضع اسم قاعدة البيانات التي قمت بإنشائها.

قم بالضغط على زر Enter للمتابعة.

هنا سيتم تثبيت بعض التطبيقات المفيدة لك. انتظرها حتى تكتمل ولا تقم بتحديث الصفحة.

أهلا وسهلا بك في سحابتك الخاصة.

التحديثات التلقائية

بما اننا سوف نترك هذا الخادم يعمل بدون أي تدخل، وبما انه سيكون متصل بالإنترنت، من الواجب عليها تفعيل خاصية التحديث التلقائي. هذه الخاصية تسمح للخادم بأن يقوم بتحديث نفسه بنفسه بدون تدخل منا.

أولا يجب تثبيت البرنامج المسؤول عن التحديث التلقائي:

بعد ذلك يجب علينا ضبط الإعدادات ليعمل البرنامج كما يجب. قم بتحرير الملف 50unattended-upgrades بإستخدام nano كما يلي:

بداية الملف سوف تبدو كالتالي:

قم بتحرير الملف ليبدو كالتالي

السطر الأخير فيه الزمن الذي سيقوم الخادم بإعادة تشغيل نفسه به وأنا اخترت الساعة 4 صباحا. يمكنك تغيير هذا الرقم لأي رقم مناسب لك، مثلا عندما لا تكون متواجد في المنزل.

قم بتحرير الملف 20auto-upgrades وقم بحذف أي شيء موجود فيه

قم بوضع النص التالي بداخله وقم بالحفظ من خلال الضغط على Ctrl+O ثم Enter وبعدها Ctrl+X

الخلاصة

قمنا اليوم بتثبيت سحابة خاصة بنا على خادم منزلي. هذا العمل ليس بالسهل وليس بالصعب وهو تمثيل لما هو موجود في العالم مفتوح المصدر. هذه السحابة تعتبر أحد أشهر السحابات في العالم وهي تستخدم في المكاتب والمؤسسات وغيرها من الأماكن.

هل ترغب في سحابة خاصة لك؟

مقابل تسعيرة رمزية، يمكننا تثبيت وإعداد خدمات السحابة الإلكترونية للمؤسسات والشركات والأفراد.

يمكنك التوجه الينا بريدياً من خلال الرابط التالي:

https://linuxarabia.co/contact