على الرغم من أنه يمكنك استخدام العديد من الأدوات والتقنيات والمكدسات لإنشاء موقع ويب، إلا أن Ghost CMS أو Ghost يعد خيارًا رائعًا.
إذا لم تكن مألوفًا، فإن Ghost عبارة عن منصة نشر احترافية مجانية ومفتوحة المصدر مبنية على مجموعة تقنيات Node.Js. يقدم Ghost واجهة نشر مبسطة وبديهية بشكل لا يصدق مع أدوات استثنائية لإنشاء المحتوى. كما أنه يوفر نطاقًا واسعًا من التكامل مع أدوات مثل Zapier وGoogle Analytics والمزيد.
إحدى طرق إنشاء موقع ويب Ghost هي استضافته ذاتيًا باستخدام أدوات مثل Docker. لحسن الحظ، يوفر Ghost صورة Ghost مقروءة يمكننا استخدامها لتشغيل موقع Ghost على الويب بسرعة كما نرى في هذا البرنامج التعليمي.
متطلبات:
قبل أن نبدأ، تأكد من أن لديك الأدوات والمتطلبات التالية:
- تم تثبيت Docker Engine على جهازك
- الاتصال بالشبكة
- Sudo أو الأذونات الإدارية لتشغيل حاويات Docker
مع المتطلبات المحددة، يمكننا تعلم كيفية تشغيل Ghost CMS باستخدام Docker.
ابدأ بالتأكد من أن لديك الإصدار 20 من Docker والإصدارات الأحدث:
$ نسخة عامل الميناءيجب أن يُرجع الأمر مخرجات تحتوي على تفاصيل حول إصدار Docker المثبت كما يلي:
العميل: محرك Docker - المجتمع
الإصدار: 23.0.6
إصدار واجهة برمجة التطبيقات: 1.42
إصدار Go: go1.19.9
التزام البوابة: ef23cbc
تاريخ الإنشاء: الجمعة مايو 5 واحد وعشرين : 18 : 13 2023
أنت / القوس: لينكس / AMD64
السياق: افتراضي
الخادم: محرك دوكر - المجتمع
محرك:
الإصدار: 23.0.6
إصدار واجهة برمجة التطبيقات: 1.42 ( الحد الأدنى من الإصدار 1.12 )
إصدار Go: go1.19.9
التزام البوابة: 9dbdbd4
تاريخ الإنشاء: الجمعة من مايو 5 واحد وعشرين : 18 : 13 2023
أنت / القوس: لينكس / AMD64
تجريبي: خطأ شنيع
الحاوية:
الإصدار: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
يجري:
الإصدار: 1.1.7
جيتكوميت: v1.1.7- 0 -g860f061
عامل الإرساء:
الإصدار: 0.19.0
جيتكوميت: de40ad0
سحب صورة Ghost Docker
الخطوة التالية هي تنزيل صورة Ghost من Docker Hub. يمكننا القيام بذلك باستخدام أمر Docker 'pull' كما يلي:
$ عامل ميناء سحب الشبح
تشغيل مثيل تطوير Ghost على المنفذ الافتراضي
بمجرد تنزيل صورة Ghost، يمكننا استخدامها لتشغيل نسخة Ghost التي تعمل على المنفذ الافتراضي 2368 كما هو موضح في الأمر التالي:
$ تشغيل عامل الميناء -د --اسم شبح ديف -إنها NODE_ENV = شبح التنميةيستخدم الأمر المحدد أمر Docker 'run' لبدء حاوية Ghost-dev جديدة باستخدام الصورة الشبحية.
عند النجاح، يمكنك الوصول إلى موقع Ghost الجديد على http://localhost:2368 . للوصول إلى واجهة Ghost Admin، يمكنك استخدام http://localhost:2368/ghost .
إذا كنت تريد تشغيل Ghost على منفذ مخصص، يمكنك استخدام الأمر كما يلي:
$ تشغيل عامل الميناء -د --اسم شبح ديف -إنها NODE_ENV =development -إنها عنوان URL =http: // المضيف المحلي: 9001 -ص 9001 : 2368 شبحفي هذه الحالة، نطلب من Docker تشغيل الحاوية وتعيين المنفذ 9001 على المنفذ المضيف إلى 2368 على الحاوية.
يمكنك بعد ذلك الوصول إلى موقع Ghost في عنوان URL المحدد.
يمكنك أيضًا تكوين معلمات Ghost الأخرى عند بدء تشغيل الحاوية كما هو موضح في المورد التالي:
https://ghost.org/docs/config/#running-ghost-with-config-env-variables
تشغيل Ghost باستخدام Docker Compose
إذا كنت ترغب في استخدام تكوين Docker Compose، فابدأ بإنشاء ملف 'docker-compose.yml' وأضف التكوين كما يلي:
إصدار: '3.1'خدمات:
شبح:
الصورة: الشبح: 4 -جبال الألب
إعادة التشغيل: دائمًا
الموانئ:
- 80 : 2368
بيئة:
قاعدة البيانات__العميل: الخلية
قاعدة البيانات__اتصال__المضيف: ديسيبل
قاعدة البيانات__اتصال__المستخدم: الجذر
قاعدة البيانات__اتصال__كلمة المرور: الخلية
قاعدة البيانات__الاتصال__قاعدة البيانات: الشبح
عنوان URL: http: // المضيف المحلي: 80
NODE_ENV: التطوير
ديسيبل:
الصورة: ماي أس كيو إل: 8.0
إعادة التشغيل: دائمًا
بيئة:
MYSQL_ROOT_PASSWORD: الخلية
في التكوين السابق، قمنا بتحديد الخدمات التي نرغب في استخدامها. الأول هو خدمة Ghost التي تستخدم صورة Ghost. نقوم بعد ذلك بتعيين منفذ Ghost إلى المنفذ 80 على الجهاز المضيف حيث نعرض مثيل Ghost على الإنترنت عبر HTTP.
نقوم أيضًا بتكوين معلمات قاعدة البيانات لموقع Ghost مثل عميل قاعدة البيانات، ومضيف قاعدة البيانات، ومستخدم MySQL وكلمة المرور، والمزيد.
وأخيرًا، قمنا بتعريف خدمة قاعدة البيانات التي تستخدم صورة MySQL 8.0.
لتشغيل التكوين السابق، نستخدم الأمر التالي:
$ عامل ميناء يؤلف -F docker-compose.yml يصل
بمجرد الإنشاء، يمكنك الوصول إلى موقع Ghost على http://localhost:80 .
خاتمة
استكشف هذا المنشور أساسيات تشغيل Ghost CMS باستخدام Docker وDocker Compose. لا تتردد في استكشاف الوثائق لمعرفة المزيد.