ديف أوبس

إنشاء مدونة Ghost على Ubuntu

تعلم كيف تنشئ مدونة باستخدام Ghost و Nginx على Ubuntu

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

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


ما هو Ghost؟

Ghost هو نظام إدارة محتوى مفتوح المصدر متخصص في إنشاء المدونات والمواقع التي تركز على المحتوى التحريري. يتم تطويره باستخدام Node.js، ويتميز بواجهة استخدام حديثة وسهلة، مع دعم قوي للكتابة التفاعلية، وإمكانيات متقدمة مثل النشر المجدول، ودعم القوالب، والتحليلات المتكاملة.

Ghost يقدم تجربة استخدام خفيفة الوزن مقارنة بمنصات أخرى مثل WordPress، ويتيح إمكانيات تخصيص عالية، مما يجعله مناسبًا للمدونين، والصحفيين، والكتّاب، والشركات الصغيرة التي ترغب في منصة نشر سريعة وآمنة.


المتطلبات الأساسية لإنشاء مدونة Ghost على Ubuntu

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

  • نسخة حديثة من Ubuntu (يفضل Ubuntu 20.04 أو 22.04)

  • صلاحيات مستخدم sudo أو المستخدم الجذري root

  • تثبيت Node.js (الإصدار 14 أو أحدث)

  • تثبيت npm (مدير حزم Node.js)

  • قاعدة بيانات MySQL أو SQLite (Ghost يدعم SQLite بشكل افتراضي لكنه يفضل MySQL للمدونات الكبيرة)

  • خادم Nginx مثبت وفعال

  • شهادة SSL (اختياري لكن موصى به لتأمين الموقع)

  • أدوات مساعدة مثل curl وgit


الخطوة الأولى: تحديث النظام وتثبيت الأدوات الأساسية

للبدء، يُفضل تحديث الحزم الموجودة في نظام Ubuntu لضمان التوافق مع البرمجيات الجديدة. يمكن تنفيذ ذلك باستخدام الأمر:

bash
sudo apt update && sudo apt upgrade -y

بعد ذلك، تثبيت الأدوات الأساسية المطلوبة مثل curl وgit:

bash
sudo apt install curl git -y

الخطوة الثانية: تثبيت Node.js و npm

Ghost يعتمد على Node.js، لذا يجب تثبيت نسخة حديثة ومستقرة من Node.js و npm. يفضل استخدام Node Version Manager (nvm) لتسهيل إدارة نسخ Node.js المختلفة. لتثبيت nvm:

bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

بعد تثبيت nvm، يمكن تحميل وتثبيت أحدث نسخة مستقرة من Node.js:

bash
source ~/.bashrc nvm install 18 nvm use 18

يمكن التأكد من التثبيت عبر:

bash
node -v npm -v

الخطوة الثالثة: تثبيت قاعدة بيانات MySQL

على الرغم من أن Ghost يدعم SQLite بشكل افتراضي، فإن استخدام MySQL يمنح أداءً أفضل للمدونات الأكبر ويوفر مرونة أكبر.

لتثبيت MySQL:

bash
sudo apt install mysql-server -y

بعد التثبيت، قم بتأمين MySQL باستخدام:

bash
sudo mysql_secure_installation

قم بإنشاء قاعدة بيانات ومستخدم خاص بـ Ghost:

bash
sudo mysql -u root -p

داخل واجهة MySQL، قم بتنفيذ الأوامر التالية:

sql
CREATE DATABASE ghostdb; CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'كلمة_مرور_قوية'; GRANT ALL PRIVILEGES ON ghostdb.* TO 'ghostuser'@'localhost'; FLUSH PRIVILEGES; EXIT;

الخطوة الرابعة: تثبيت Ghost CLI

Ghost CLI هو أداة رسمية لإدارة تثبيت وتشغيل تحديثات منصة Ghost بسهولة. لتثبيت Ghost CLI عالميًا عبر npm:

bash
npm install -g ghost-cli

الخطوة الخامسة: إعداد مجلد التثبيت وبدء التثبيت

من الأفضل إنشاء مجلد مخصص للمدونة، مثلاً داخل /var/www/:

bash
sudo mkdir -p /var/www/ghost sudo chown $USER:$USER /var/www/ghost cd /var/www/ghost

ابدأ تثبيت Ghost باستخدام الأمر:

bash
ghost install

هذه العملية ستقوم بتثبيت النسخة الأخيرة من Ghost، إعداد خدمة النظام لتشغيل Ghost تلقائيًا، تثبيت SSL عبر Let’s Encrypt (إذا كنت متصلاً بإنترنت ويمتلك المجال إعداد DNS صالح)، بالإضافة إلى تكوين Nginx تلقائيًا.


الخطوة السادسة: التحقق من إعداد Ghost

بعد الانتهاء من التثبيت، يمكنك التحقق من أن Ghost يعمل بشكل صحيح عن طريق:

bash
ghost ls

لعرض حالة الخدمة، استخدم:

bash
ghost status

ستجد عنوان المدونة المحلية التي يمكن الوصول إليها عادة على المنفذ 2368.


الخطوة السابعة: إعداد Nginx كخادم عكسي (Reverse Proxy)

في حال لم تقم Ghost تلقائيًا بإعداد Nginx أثناء التثبيت، يمكنك إعداد ملف تكوين يدويًا لخادم Nginx ليعمل كخادم عكسي يقوم بتوجيه الطلبات من المنفذ 80 و443 إلى منفذ Ghost 2368.

مثال لتكوين ملف Nginx لـ Ghost:

nginx
server { listen 80; server_name yourdomain.com www.yourdomain.com; location / { proxy_pass http://127.0.0.1:2368; proxy_set_header Host $host; proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; } location ~ /.well-known/acme-challenge { allow all; } }

يمكنك تفعيل هذا التكوين بإضافة ملف في مجلد /etc/nginx/sites-available/ghost ثم ربطه:

bash
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx

الخطوة الثامنة: تأمين الموقع باستخدام HTTPS

يمكنك استخدام Let’s Encrypt لتأمين مدونتك عبر بروتوكول HTTPS مجانا. مع Ghost CLI، غالبًا ما يتم تثبيت الشهادة تلقائيًا، ولكن يمكن أيضًا تنفيذ الخطوات يدويًا باستخدام Certbot:

bash
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

يتم بعدها تجديد الشهادات تلقائيًا من خلال إعداد Cron Job.


الخطوة التاسعة: إدارة وتحديث Ghost

Ghost CLI يوفر أوامر سهلة لإدارة المدونة مثل التحديث، إعادة التشغيل، النسخ الاحتياطي، وغيرها:

  • لتحديث Ghost:

bash
ghost update
  • لإعادة تشغيل الخدمة:

bash
ghost restart
  • لعرض الحالة:

bash
ghost status

الخطوة العاشرة: تخصيص مدونتك باستخدام واجهة Ghost

بعد إتمام التثبيت والتشغيل، يمكن الدخول إلى لوحة تحكم Ghost عبر:

arduino
https://yourdomain.com/ghost

تستخدم لوحة التحكم لإدارة المحتوى، إنشاء المقالات، تعديل التصميم، إعداد المستخدمين، وإدارة الإعدادات الأساسية للمدونة. توفر Ghost دعمًا جيدًا للقوالب والتخصيص عبر CSS وJavaScript، كما يمكن تركيب إضافات لتحسين الوظائف.


مقارنة موجزة بين Ghost و WordPress

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

ملخص الخطوات العملية

الخطوة الوصف
تحديث النظام تحديث حزم Ubuntu لضمان التوافق
تثبيت Node.js و npm تثبيت بيئة تشغيل Ghost
تثبيت قاعدة بيانات إعداد MySQL أو SQLite
تثبيت Ghost CLI أداة لإدارة وتثبيت Ghost بسهولة
إعداد مجلد التثبيت إنشاء مجلد مخصص للمدونة
تثبيت وتشغيل Ghost بدء تثبيت Ghost وتكوينه
إعداد Nginx توجيه حركة المرور وضبط الخادم
تأمين الموقع بـ HTTPS تفعيل شهادة SSL لتأمين الاتصال
إدارة وتشغيل تحديث وإعادة تشغيل وإدارة المدونة
تخصيص الواجهة إدارة المحتوى والتصميم عبر لوحة Ghost

خاتمة

إن منصة Ghost مع خادم Nginx على نظام Ubuntu تشكل بيئة قوية لإنشاء مدونات احترافية، تجمع بين الأداء العالي، البساطة، والأمان. بفضل الهيكلية القائمة على Node.js ووجود أدوات مساعدة مثل Ghost CLI، يمكن لأي مستخدم يمتلك الحد الأدنى من المهارات التقنية تنفيذ تثبيت وتخصيص المدونة بسهولة. تكامل Ghost مع Nginx يتيح لك إدارة حركة المرور بكفاءة، إضافة إلى تأمين الموقع باستخدام شهادات SSL المجانية من Let’s Encrypt.

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


المصادر والمراجع


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