كيف تستضيف موقعك باستخدام Docker و Nginx Proxy Manager بخطوات بسيطة
استضافة موقع ويب باستخدام أدوات حديثة مثل Docker و Nginx Proxy Manager لم تعد حكرًا على المطورين المحترفين. يمكنك الآن إعداد خادمك الخاص وتشغيل موقعك خلال دقائق دون الحاجة للتعامل مع إعدادات معقدة أو دفع تكاليف الاستضافة التقليدية. في هذا الدليل، ستتعرف على الخطوات الدقيقة لإنشاء بيئة استضافة باستخدام Docker، مع استخدام Nginx Proxy Manager لتوجيه النطاقات وإعداد HTTPS تلقائيًا، كل ذلك بطريقة منظمة ومبسطة.
ملخص
- تُحدّث خدمة مثل Cloudflare DDNS عنوان IP الخاص بنطاقك تلقائيًا بعنوان IP الخاص بمنزلك.
- يُوجّه Nginx Proxy Manager حركة البيانات ويوفر شهادات SSL عبر Let’s Encrypt، ويُنشَر في Docker.
- Ghost منصة تدوين سهلة الاستخدام، تدعم لغة ترميز Markdown والمكونات الإضافية، ويسهل نشرها باستخدام Docker.
هل رغبتَ في إدارة موقع ويب خاص بك، لكنك تكره فكرة دفع رسوم الاستضافة؟ هذا ما وجدتُ نفسي فيه مؤخرًا، لذا إليك كيف أنشأتُ موقعًا ويب سريعًا باستخدام Docker وNginx Proxy Manager وGhost.
ما الذي تحتاجه لإدارة موقع ويب شخصي؟
يتطلب تشغيل موقع ويب شخصي بعض المتطلبات الأساسية. عند بدء التشغيل، يجب أن يكون لديك اسم نطاق، وخادم لاستضافة موقعك عليه (يمكن أن يكون جهاز كمبيوتر محمولًا قديمًا، أو NUC، أو Raspberry Pi)، وDocker، وعدد من الحاويات المُستخدمة.
أولاً، الخادم الذي ستستضيف عليه موقعك الإلكتروني. ليس بالضرورة أن يكون فائق القوة، بل يمكن أن يكون جهاز كمبيوتر منزلي. يُعدّ Raspberry Pi، أو NUC، أو كمبيوتر مكتبي قديم، أو حتى كمبيوتر محمول قديم خيارًا ممتازًا لهذه الخدمة. كل ما تحتاجه هو جهاز صُنع خلال الخمسة عشر عامًا الماضية تقريبًا، ويعمل بنظام تشغيل حديث (يفضل Linux، ولكن Windows أو macOS سيعملان أيضًا).
الخطوة التالية هي اسم النطاق. يمكنك شراء نطاقك من أي مكان، لكنني أنصحك بالبحث عن خادم يدعم DDNS بشكل أصلي، مثل Cloudflare. بينما تحصل على عنوان IP ثابت عند استخدام خادم افتراضي خاص (VPS) أو أي منصة استضافة أخرى، فمن المرجح أن يتغير عنوان IP الخاص بك مع مرور الوقت عند استضافة موقعك الإلكتروني في المنزل. وهنا يأتي دور DDNS (DNS الديناميكي). ببساطة، مع تغير عنوان IP الخاص بك في المنزل، يُحدّث DDNS سجل A الخاص بنطاقك ليشير إلى عنوان IP الجديد.
بالإضافة إلى إعداد النطاق وخدمة DDNS، ستحتاج أيضًا إلى Docker لطريقة الاستضافة التي سأوصي بها هنا. Docker قادر على تشغيل العديد من الميزات، ولكن لموقعك الإلكتروني، سنحتاج إلى حاوية DDNS، ووكيل Nginx العكسي، وبالطبع موقعك الإلكتروني نفسه.
لتكوين حاوية Cloudflare DDNS Docker، ستحتاج إلى مفتاح API لـ Cloudflare يُمكّنك من تغيير سجلات DNS للنطاق الذي ستستخدمه، والنطاق نفسه، وأي نطاقات فرعية ترغب في تحديثها باستمرار. سيتم ضبط كل هذا من خلال علامات بيئة Docker، مما يُسهّل تغيير أو إضافة نطاقات فرعية ونطاقات جديدة في المستقبل.
للبدء بسرعة، يمكنك زيارة موقع مثل “ما هو عنوان IP الخاص بي” للعثور على عنوان IP العام الخاص بك. أدخل عنوان IP هذا في سجل A للنطاق الذي ترغب في استخدامه لموقعك الإلكتروني. سيُبقي خادم DDNS هذا العنوان مُحدّثًا في حال تغير النطاق، ولكن إدخاله يدويًا الآن سيساعد على تسريع الأمور لاحقًا.
يُلبي مدير بروكسي Nginx احتياجاتك من البروكسي العكسي
سيكون مدير بروكسي Nginx أول حاوية Docker يتم تشغيلها بعد خادم DDNS الخاص بك. باستخدام مدير بروكسي Nginx، ستتمكن من توجيه حركة المرور الواردة إلى حاوية Docker الخاصة بموقعك الإلكتروني.
مدير بروكسي Nginx هو وكيل عكسي. يستقبل البيانات الواردة على المنفذين :80 و :443 (اتصالات غير آمنة واتصالات SSL) ويعيد توجيهها إلى مكان آخر على شبكتك. ستحتاج إلى تكوين جدار حماية شبكتك لإعادة توجيه المنفذين الخارجيين 443 و 80 إلى أي منفذين مرتبطين بتثبيت مدير بروكسي Nginx.
بعد تشغيل حاوية Nginx Proxy Manager Docker مع إعادة توجيه المنافذ، حان وقت إعداد التوجيه. ابدأ بالانتقال إلى المضيفات، ثم انقر على “إضافة مضيف جديد”. ستظهر لك نافذة منبثقة، حيث يمكنك إدخال معلومات موقعك الإلكتروني. ما عليك سوى كتابة النطاق، وعنوان IP الخاص بالخادم، والمنفذ الذي ستُشغّل عليه الموقع. يمكنك اختيار أي منفذ، وعادةً ما يتم تحديده بواسطة البرنامج المُستخدم.
على سبيل المثال، يمكنك توجيه blog.domain.com إلى 192.168.1.6:2368، وهو عنوان IP الخاص بخادمك مع منفذ Ghost في نهايته. عند زيارة أي شخص لموقع blog.domain.com، سيتم توجيهه إلى عنوان IP العام الخاص بك، ثم يقوم مدير Nginx Proxy Manager بتوجيهه إلى الحاوية المناسبة.
لا يتولى مدير Nginx Proxy Manager التوجيه فحسب، بل يتولى أيضًا إدارة شهادات SSL من خلال Let’s Encrypt. تمنح شهادات SSL المجانية هذه متصفحي مدونتك راحة البال، مما يضيف طبقة أمان إضافية لجلسة التصفح. كما أن عملية SSL بأكملها، من البداية إلى النهاية، سلسة للغاية داخل مدير Nginx Proxy Manager.
بمجرد أن تتمكن من إعداد وكيل عكسي واحد، يصبح من السهل جدًا إعداد أي عدد تريده من الوكلاء. لديّ أكثر من 30 وكيلًا عكسيًا على شبكتي، لخدمات مثل Calibre Web، وaudiobookshelf، وTautulli، وخوادم Minecraft، وخادم Satisfactory، وخادم Ark Survival: Evolved، وغيرها الكثير.
Ghost منصة تدوين بسيطة وسهلة الاستخدام
الآن وقد انتهيتَ من إعداد كل شيء تقريبًا، حان وقت تثبيت Ghost.
ربما توقعتَ أنني سأستخدم WordPress، فهو يُشغّل معظم الإنترنت. مع أن WordPress رائع، وقد استخدمته لأكثر من 15 عامًا، إلا أن Ghost هو ما أدير عليه مدونتي الشخصية هذه المرة. إنه خفيف الوزن، وسهل الاستخدام، وبصراحة، أبسط من WordPress.
Ghost مُصمّم ليكون مدونة يُمكن أن تحتوي أيضًا على مُكوّن نشرة إخبارية. تتم كتابة المنشورات باستخدام لغة ترميز Markdown (الطريقة المفضلة لدي للكتابة)، وهناك العديد من المكونات الإضافية لبعض الخدمات الأكبر المتاحة، مثل Instagram وDiscord وMailChimp وYouTube وPatreon وغيرها.
لتشغيل Ghost، ستحتاج إلى القيام ببعض الخطوات. سنبدأ في Nginx Proxy Manager. أنشئ مضيف وكيل جديد باسم نطاقك في الحقل الأول، واترك النظام كـ HTTP، ثم أدخل عنوان IP لخادم Docker، ثم المنفذ 2368.
عادةً ما أتحقق من إعدادات التخزين المؤقت، وحظر الثغرات الشائعة، ودعم WebSockets. انتقل إلى علامة تبويب SSL، ثم إلى علامة تبويب المواقع المخصصة. هنا، اختر “طلب شهادة SSL جديدة” ووافق على الشروط، ثم أدخل بريدك الإلكتروني. انقر على “حفظ”، وبهذا يكون الوكيل العكسي قد تم إعداده.
الآن، عُد إلى مُضيف Docker. أنا شخصيًا أستخدم Portainer كواجهة مستخدم رسومية للويب لـ Docker، ولكن بما أن كل شيء يتم عبر Docker Compose، فإن ملفات الإعداد متطابقة في كلتا الحالتين.
إذا كنت ترغب في استخدام نفس ملف Docker Compose الذي أستخدمه لمدونة Ghost، فتفضل بزيارة مستودع Homelab GitHub. تأكد من تغيير النطاق بنطاقك الخاص، وتغيير كلمة مرور MySQL لشيء أكثر أمانًا أيضًا.
بمجرد نشر ملف Docker Compose، ستكون مدونة Ghost جاهزة للعمل على نطاقك الجديد!
موقعك الإلكتروني جاهز للعمل! ماذا الآن؟
إذا تم كل شيء بشكل صحيح، وقمت بتكوين إعدادات إعادة توجيه المنفذ بشكل صحيح على جهاز التوجيه، فستتمكن من الانتقال إلى اسم النطاق الذي أعددته والوصول إلى مثيل Ghost خارجيًا.
الآن وقد أصبح موقعك الإلكتروني جاهزًا للعمل، ما الخطوة التالية؟ حسنًا، ستحتاج إلى البدء بتكوين مدونة Ghost. هناك العديد من مقاطع فيديو يوتيوب ومقالات أخرى تشرح لك خطوة بخطوة ما يجب فعله هناك. لم أستوعب جميع خيارات التهيئة بعد.
في هذه المرحلة، موقعك الإلكتروني متاح على الإنترنت ويمكن لأي شخص الوصول إليه. قد ترغب في إنشاء صفحة هبوط أثناء العمل عليه، أو تركه كما هو أثناء إنشائه. ابدأ بنشر منشورات المدونة، وإرسال النشرات الإخبارية عبر البريد الإلكتروني، واستمتع باستضافة موقعك الشخصي على جهاز في منزلك، مجانًا!
قد لا يكون إنشاء مدونة كاملة هو ما تبحث عنه تمامًا. إذا كنت كذلك، فقد يكون التدوين المصغر هو ما تبحث عنه. إنه مختلف قليلاً عن التدوين التقليدي، وأسهل بكثير في الإعداد لأنه يتم عادةً على وسائل التواصل الاجتماعي، مما يعني أنه لا يتطلب قواعد بيانات لتكوينها، أو DDNS أو وكلاء عكسيين لإعدادها، وغالبًا ما يكون مجانيًا!
باستخدام Docker وNginx Proxy Manager، يمكنك تحويل جهاز بسيط إلى خادم ويب احترافي قادر على تشغيل مواقعك بثبات وأمان. بعد اتباع الخطوات السابقة، ستتمكن من التحكم الكامل في بيئة الاستضافة دون الحاجة لمزود خارجي. لا تتردد في توسيع النظام لاحقًا بإضافة قواعد توجيه جديدة أو دمج خدمات إضافية مثل قواعد بيانات أو أدوات مراقبة. البداية قد تبدو تقنية، لكن النتيجة تمنحك حرية أكبر وتحكمًا كاملاً في موقعك.