اذهب إلى المحتوى

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

إن لم تكن تعرف راسبيري باي من قبل، فننصحك بالرجوع أولًا إلى مقال تعرف على جهاز راسبيري باي Raspberry Pi وهو جزء من سلسلة دليل راسبيري باي.

الأسباب التي دفعتني لإعداد خادم ويب مخصص

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

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

إعداد راسبيري باي كخادم ويب

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

وقد اعتمدت توزيعة سينت او اس CentOS من لينكس كنظام تشغيل أما بخصوص خادم الويب فاخترت أباتشي على الرغم وجود خيارات أخرى ممكنة مثل Nginx والذي إن فضلت اختياره يتعين عليك ضبط إعدادات الأمان الخاص به بما يكافئ ملفات htaccess التي تستخدمها دروبال، كما تم إعداد ما يلزم لاستخدام APCu (user-accessible PHP cache) كذاكرة تخزين مؤقتة من أجل PHP لفوائدها في تسريع التسليم لهذا النوع من المواقع.

باختصار أيًا كانت خياراتك عليك مراجعة متطلبات PHP لمنصة دروبال والعمل على تحقيقها ضمن بيئتك وذلك بمساعدة مدير حزمة لينكس الخاص بك مثل Yum، ولا ننسى Cockpit الإضافة المميزة من راسبيري باي التي تسهل إدارة خادم الويب ومراقبة أدائه وموارده مثل سجلات الوصول والتحديثات المتاحة وغيرها عبر واجهتها الرسومية التي تتضمن أيضًا نافذة خاصة بكتابة الأوامر السطرية.

img02-the_cockpit_ui.png

تثبيت دروبال على راسبيري باي

سنثبت دروبال عبر composer مدير الاعتماديات والحزم في PHP بتنفيذ الأمر التالي:

composer create-project drupal/recommended-project my_site_name_dir

ثانيًا اضبط الإعدادات ليكون المسار mysitename_dir المحدد في الأمر السابق هو مسار الجذر للاستضافة الافتراضية الخاصة بخادم الويب أباتشي (ويقابلها كتلة الخادم server block في Nginx). وبمجرد طلبك لمسار استضافة الويب فإن دروبال سيكمل عملية التثبيت.

img03-drupal_installer_screen.png

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

إطلاق الموقع على الإنترنت

الخطوة التالية بعد بناء الموقع وإعداد خادم الويب هي إطلاق الموقع للعلن وهذا يتطلب مجموعة من الإجراءات أولها الإعدادات على موجه الإنترنت لقبول طلبات الاتصال الخارجية الواردة على المنفذين 80 و 443، ومن ثم حجز اسم النطاق للموقع وذلك عبر مزود خدمة يقدم DNS ديناميكي وهي ميزة مناسبة لاتصالات الإنترنت الخاصة بالمنازل لأنها تستخدم عناوين IP متغيرة ولا يتم تخصيصها بعناوين ثابتة. دون أن ننسى جانب الحماية الذي يتطلب تأمين شهادة SSL لتشفير الاتصال مع الموقع، في الواقع شهادات SSL مكلفة ربما أكثر من الحاسب الذي أعددته كخادم للموقع بالأخص كونها تحتاج لتجديد سنوي مدفوع، لذلك اتجهت إلى Let's Encrypt وحصلت على شهادة مجانية، ويمكنك بالإضافة لذلك تثبيت cretbot لتجديد هذه الشهادة تلقائيًا.

تقييم خادم الويب الذي تم إعداده على راسبيري باي

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

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

تسريع خادم الويب

بناءً على التقييم السابق برزت الحاجة لتحسين الأداء ما استدعى ترقية مواصفات العتاد الصلب للخادم فاستخدمت جهاز راسبيري باي مع ذاكرة عشوائية 8 جيجابايت واستبدلت بطاقة MicroSD بقرص تخزين من النوع NVMe SSD (نوع من وحدات التخزين على شكل شريحة يعتمد تقنية SSD لكنه لا يتصل باللوحة الأم بوصلة SATA التقليدية ويستخدم لتسريع أداء الحاسب) مع حافظة USB3، ربما كلفتني وحدة التخزين هذه مع حافظتها أكثر مما دفعته لقاء حاسب راسبيري باي كاملًا مع بطاقة MicroSD ووحدة التغذية والصندوق، ولكن في الواقع أصبح الخادم يعمل جيدًا منذ ما يقارب السنة مع هذه التحسينات المكلفة.

img04-fast_ssd.png

أما بالنسبة لنظام التشغيل والبرامج فقد أعدت بنائها هذه المرة باستخدام أوبونتو 64 بت كنظام تشغيل ليتناسب مع زيادة الذاكرة العشوائية إلى 8 جيجابايت وبالطبع يوجد أنظمة تشغيل أخرى مناسبة أما خطوات البناء الأساسية فهي نفسها.

ولكن التحسين الأهم على البيئة كان تسريع توصيل الموقع باستخدام شبكة توصيل المحتوى CDN وهي خدمة تقدمها بعض الشركات وتعتمد على الاحتفاظ بنسخ من ملفات الموقع على خوادم الشبكة المنتشرة في عدة أماكن جغرافية حول العالم ويتوفر أحيانًا بعض العروض المجانية لهذه الخدمة كالتي توفرها Cloudflare على سبيل المثال لا الحصر.

النتيجة

الترقية التي تمت على الخادم أظهرت نتائج جيدة جدًا على السرعة انظر المؤشرات في الصور التالية.

img05-desktop-lighthouse-score.png

img06-mobile-lighthouse-score.png

بحكم عملي في تطوير مواقع الويب أجريت اختبارات السرعة على العديد من المواقع معظمها من نوع دروبال للأمانة ونتائج هذا الموقع كانت من بين الأفضل، من المؤكد أن لبساطة التصميم أثرًا جيدًا على سرعة الأداء وأن الموقع نفسه كان سيسجل نتائج أقل بوجود المزيد من الصور بالأخص لتصفح الهاتف الجوال (حيث تتم ملائمة اختبار Lighthouse ليحاكي سرعة اتصالات 4G).

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

خاتمة

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

ترجمة -وبتصرف- للمقال How I run my blog on a Raspberry Pi لصاحبه Martin Anderson-Clutz.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...