جميع الأنظمة تعمل بشكل طبيعي 21 العملات المشفرة المقبولة · Monero مرحّب بها سياسة بدون KYC
ChainVPS

النشر · بدون KYC

استضف Ghost على VPS خارجي

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

ما هو

Ghost هو نظام إدارة محتوى (CMS) مفتوح المصدر مبني على Node.js، مُصمم للمدونات والنشرات البريدية ومواقع العضويات، ويأتي مزودًا باشتراكات بريد إلكتروني أصلية، وباقات مدفوعة، ومحرر Markdown نظيف. يُوزَّع كصورة Docker رسمية تعتمد على MySQL 8، وتخدم موقعك عبر منفذ خاص به خلف وكيل عكسي (reverse proxy).

لماذا تستضيفه خارجيًا

تشغيل Ghost على خادم VPS بدون KYC يُدفع بالعملات الرقمية يعني أن منشورك غير مرتبط بحساب يمكن ربطه بهويتك، أو إقصاؤه من المنصات، أو تسليمه عند الطلب. مع مواقع ChainVPS الخارجية ذات مستوى الخصوصية العالي والنطاق الترددي غير المحدود، تحتفظ بالسيطرة الكاملة على محتواك وقائمة أعضائك ومدفوعات Stripe الخاصة بك، دون أن تتحكم جهة الاستضافة في كلماتك.

النشر

إعداد مرجعي عملي

انسخ هذا إلى نسخة ChainVPS جديدة. استبدل العناصر النائبة، ثم قم بتشغيله.

docker-compose.yml
services:
  ghost:
    image: ghost:5-alpine
    restart: always
    ports:
      # Bind to localhost only; terminate TLS in a reverse proxy (nginx/Caddy)
      - "127.0.0.1:2368:2368"
    environment:
      url: https://blog.example.com
      NODE_ENV: production
      database__client: mysql
      database__connection__host: db
      database__connection__port: 3306
      database__connection__user: ghost
      database__connection__password: CHANGE_ME_DB_PASSWORD
      database__connection__database: ghostdb
      # Optional outbound SMTP for member/newsletter email:
      # mail__transport: SMTP
      # mail__options__host: smtp.example.com
      # mail__options__port: 587
      # mail__options__auth__user: [email protected]
      # mail__options__auth__pass: CHANGE_ME_SMTP
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    command: --default-authentication-plugin=caching_sha2_password
    environment:
      MYSQL_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
      MYSQL_DATABASE: ghostdb
      MYSQL_USER: ghost
      MYSQL_PASSWORD: CHANGE_ME_DB_PASSWORD
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:

# Deploy:
#   apt-get update && apt-get install -y docker.io docker-compose-v2
#   docker compose up -d
# Then point a reverse proxy (Caddy/nginx) at 127.0.0.1:2368 to add HTTPS,
# and set `url:` to your real https:// domain before first boot.

جدار الحماية

المنافذ المطلوب فتحها

المنفذالبروتوكولالغرض
2368TCPمنفذ تطبيق Ghost عبر HTTP - أبقِه مرتبطًا بـ 127.0.0.1 ووجّهه عبر وكيل عكسي، ولا تعرضه للعامة أبدًا
443TCPHTTPS للعامة عبر الوكيل العكسي الخاص بك (Caddy/nginx)
80TCPHTTP لإصدار شهادات ACME/Let's Encrypt وإعادة التوجيه إلى المنفذ 443
3306TCPMySQL - لشبكة Docker الداخلية فقط، لا تنشره على المضيف أبدًا

الحجم الأمثل

الباقة التي تحتاجها

خفيف

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

مدونة شخصية أو نشرة بريدية صغيرة. يعمل Ghost مع MySQL بارتياح؛ أضف 1 GB من الذاكرة الافتراضية (swap) كإجراء احترازي.

متوسط

VPS Pro (2-4 vCPU, 4-8 GB RAM)

منشور نشط يضم عضويات مدفوعة، ومنشورات غنية بالصور، وإرسال بريد إلكتروني منتظم. يوفر هامشًا كافيًا لذاكرة تخزين MySQL المؤقتة (cache) ولارتفاعات الزيارات المفاجئة.

مكثف

Dedicated (dedicated cores, 16 GB+ RAM, NVMe)

موقع عالي الزيارات أو إعداد متعدد المدونات يحتوي مكتبات وسائط كبيرة؛ اعزل MySQL وقدّم الوسائط عبر ذاكرة تخزين مؤقت (cache) للحصول على زمن استجابة ثابت.

أفضل المواقع: لنشر يجب أن يبقى متصلاً بالإنترنت بصرف النظر عن ضغوط الإزالة، اختر موقعًا من مواقع ChainVPS ذات مستوى الخصوصية العالي: آيسلندا (IS)، سويسرا (CH)، رومانيا (RO)، مولدوفا (MD)، هولندا (NL)، أو لوكسمبورغ (LU). تتمتع سويسرا وآيسلندا بحماية قوية لحرية الصحافة والتعبير وبقوانين خصوصية صارمة؛ بينما توفر هولندا ولوكسمبورغ وصولاً منخفض زمن الاستجابة إلى القراء الأوروبيين مع نطاق ترددي غير محدود للمواقع الغنية بالصور والنشرات البريدية.

أحكِم تأمينه

قائمة تحقق التحصين

  • لا تنشر المنفذ 2368 أو 3306 على 0.0.0.0 أبدًا. أبقِ Ghost مرتبطًا بـ 127.0.0.1 وMySQL على شبكة Docker الداخلية فقط؛ واعرض الموقع حصريًا عبر وكيل عكسي TLS (يصدر Caddy شهادات Let's Encrypt تلقائيًا، أو استخدم nginx مع certbot).
  • اضبط متغيّر البيئة `url` على نطاق https:// الحقيقي الخاص بك قبل الإقلاع الأول. يدمج Ghost هذا الرابط داخل روابط الموارد، وتغييره لاحقًا يتطلب تحديث قاعدة البيانات وتفريغ ذاكرة التخزين المؤقت (cache).
  • أحكِم إغلاق لوحة الإدارة: فرض كلمة مرور طويلة وفريدة عند الإعداد الأول، وقصر الوصول إلى /ghost/ عبر قائمة سماح لعناوين IP أو مصادقة أساسية (basic-auth) على مستوى الوكيل إذا كنت تنشر من مواقع ثابتة. فعّل ميزة التحقق بخطوتين (2FA) المدمجة لطاقم Ghost.
  • خذ نسخًا احتياطية لكلا الحجمين وفق جدول زمني منتظم: صدّر قاعدة بيانات MySQL (`docker compose exec db mysqldump -u ghost -p ghostdb`) وأرشِف حجم المحتوى (`/var/lib/ghost/content`، الذي يضم الصور والقوالب). أرسل النسخ الاحتياطية المشفّرة إلى تخزين ChainVPS أو إلى جهاز خارجي.
  • ثبّت وسوم الصور (ghost:5-alpine، mysql:8.0) وحدّثها بشكل مدروس باستخدام `docker compose pull && docker compose up -d`؛ واختبر توافق القوالب والتكاملات قبل الانتقال إلى إصدار رئيسي جديد من Ghost، وأبقِ حماية DDoS المرفقة مع الباقة مفعّلة عند حافة الشبكة.

الأسئلة

الاستضافة Ghost — الأسئلة الشائعة

هل يحتاج Ghost إلى MySQL، أم يمكنني استخدام SQLite؟

يتطلب Ghost 5 رسميًا استخدام MySQL 8 في بيئة الإنتاج. يقوم ملف compose أعلاه بربط MySQL 8 تلقائيًا. أما SQLite فمدعوم فقط لبيئة التطوير المحلية، ولا يُنصح به لنشر خارجي فعلي.

كيف أضيف HTTPS؟

يقدّم Ghost بحد ذاته بروتوكول HTTP العادي عبر المنفذ 2368. ضع وكيلاً عكسيًا أمامه - يُعد Caddy الخيار الأبسط (يصدر ويجدد شهادات Let's Encrypt تلقائيًا)، أو استخدم nginx مع certbot. وجّهه إلى 127.0.0.1:2368 واضبط متغيّر `url` في Ghost على نطاق https:// الخاص بك.

هل يمكنني إرسال النشرات البريدية دون ترك أثر لهوية لدى طرف ثالث؟

يرسل Ghost بريد الأعضاء عبر أي مزود SMTP أو عبر Mailgun. في إعداد يركّز على الخصوصية، استخدم مرحّل SMTP يقبل الدفع بالعملات الرقمية أو تسجيلاً بأقل قدر من البيانات، واضبطه عبر متغيرات البيئة mail__. ولا يزال البريد التبادلي (transactional email) بحاجة إلى نطاق إرسال قابل للتسليم مزوّد بسجلات SPF/DKIM.

كم سأحتاج من مساحة القرص؟

حجم نواة Ghost مع MySQL صغير (بضع مئات من الميغابايت). النمو الحقيقي يأتي من الصور ومقاطع الفيديو المرفوعة في حجم المحتوى. تعمل المدونة الخفيفة بشكل جيد على 20-40 GB؛ أما المواقع الغنية بالصور أو مواقع العضويات فينبغي أن تخطط لتخزين NVMe ونسخ احتياطية منتظمة لحجم المحتوى.

هل سيصمد موقعي أمام ارتفاعات الزيارات أو هجمات DDoS؟

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

أطلق فورًا Ghost
خلال الـ60 ثانية القادمة.

نطاق غير محدود · حماية DDoS مشمولة · 21 عملة رقمية · بدون KYC.