bg-tutorials

كيفية تثبيت شهادة SSL على Sentora

يوضح لك هذا الدليل كيفية تثبيت شهادة SSL على Sentora، لوحة تحكم استضافة الويب مفتوحة المصدر المنشقة عن ZPanel. يتناول الدليل توليد CSR، ولصق الشهادة والمفتاح ومجموعة CA في وحدة Apache Admin الخاصة بـ Sentora، وتقوية المضيف الافتراضي الناتج بإعدادات TLS حديثة.

ملاحظة حول حالة صيانة Sentora

قبل أن تبدأ: تباطأ التطوير الرسمي لـ Sentora بشكل حاد خلال السنوات الأخيرة. أحدث إصدار مستقر على مستودع sentora/sentora-core هو v2.0.2 (مايو 2024، PHP 7.4)؛ أما فرع 2.1.x الذي يستهدف PHP 8.x فلا يزال مُصنّفًا على أنه للتطوير فقط وغير مخصص للاستخدام الإنتاجي. توجد نسخة منشقة من المجتمع، Sentora-NG، لكنها صغيرة. إذا كنت تُجهّز خادمًا جديدًا، فالخليفة مفتوحة المصدر التي تنتقل إليها معظم الإدارات هي HestiaCP، وهي نسخة منشقة من VestaCP بواجهة مشابهة، ودعم حديث لـ PHP وTLS، ودعم مدمج لـ Let’s Encrypt. أما للدعم التجاري، فإن Plesk هو الخيار المعتاد. الخطوات أدناه لا تزال تنطبق على تثبيت Sentora القائم، ولم يتغيّر مسار عمل SSL.

توليد رمز CSR على Sentora

إذا كنت قد وَلَّدت CSR بالفعل واستلمت الشهادة الصادرة من CA، فتخطَّ إلى قسم التثبيت.

كل شهادة SSL/TLS تجارية تبدأ بـ CSR (طلب توقيع الشهادة)، وهو كتلة من النص المُرمَّز يحتوي على تفاصيل نطاقك وبيانات الاتصال ويُقرَن بمفتاح خاص. لديك خياران:

  • توليد CSR تلقائيًا باستخدام مولّد CSR الخاص بنا. تُولَّد CSR والمفتاح الخاص بها في متصفحك، فاحفظ المفتاح في مكان آمن: ستلصقه على الخادم باسم yourdomain.key أثناء التثبيت.
  • توليد CSR على الخادم نفسه باتباع درسنا حول كيفية توليد CSR على Sentora.

افتح CSR بأي محرر نصوص (مثل Notepad)، وانسخ الكتلة كاملة (بما فيها سطري BEGIN CERTIFICATE REQUEST و END CERTIFICATE REQUEST)، ثم ألصقها في نموذج الطلب. بعد التحقق، تُرسل CA ملفات الشهادة الصادرة إليك عبر البريد الإلكتروني.

تثبيت شهادة SSL على Sentora

لا يحتوي Sentora على نموذج مدمج لِلَصق شهادة SSL من طرف ثالث بالطريقة التي يفعلها cPanel أو VestaCP. عملية التثبيت تتكون من جزئين: نسخ ملفات الشهادة إلى الخادم، ثم ربطها بـ Apache من خلال وحدة Apache Admin في Sentora حتى تُعيد اللوحة كتابة المضيف الافتراضي في المزامنة التالية.

الخطوة 1: تحضير ملفات SSL

بعد أن تُصدر جهة إصدار الشهادات (CA) شهادتك، نزّل ملف الأرشيف ZIP وقم باستخراجه. يجب أن ينتج عن ذلك ثلاثة ملفات:

  • شهادة الخادم الأساسية لنطاقك (ملف .crt).
  • المفتاح الخاص المُولَّد مع CSR (ملف .key).
  • مجموعة CA التي تحتوي على الشهادات الوسيطة (ملف .ca-bundle أو .crt من CA).

بعض جهات إصدار الشهادات ترسل ملفًا واحدًا يحتوي على السلسلة المُجمَّعة؛ وأخرى ترسل الشهادة الجذرية والوسيطة كملفين منفصلين. إن كانا منفصلين، فافتحهما في محرر نصوص عادي، ولصق الشهادة الوسيطة أولًا ثم الشهادة الجذرية في ملف واحد يُحفظ باسم yourdomain.ca-bundle.crt. لا تترك أسطرًا فارغة بين الشهادات، وتأكد من أن كل كتلة تحتفظ بعلامتي BEGIN CERTIFICATE و END CERTIFICATE.

الخطوة 2: نسخ الملفات إلى الخادم

افتح جلسة SSH إلى الخادم وانتقل إلى صلاحيات الجذر (root)، سواء بإضافة sudo قبل كل أمر أو بفتح سطر أوامر جذري باستخدام sudo -i. أنشئ مجلد SSL ضمن Apache وانسخ الملفات الثلاثة إليه (استخدم scp أو sftp أو محرر الملفات الذي تفضّله لتحميلها أولًا):

sudo mkdir -p /etc/apache2/ssl
sudo cp yourdomain.crt /etc/apache2/ssl/yourdomain.crt
sudo cp yourdomain.key /etc/apache2/ssl/yourdomain.key
sudo cp yourdomain.ca-bundle.crt /etc/apache2/ssl/yourdomain.ca-bundle.crt
sudo chmod 600 /etc/apache2/ssl/yourdomain.key

تشديد صلاحيات ملف المفتاح إلى وضع 600 يمنع المستخدمين المحليين الآخرين من قراءة المفتاح الخاص.

الخطوة 3: تفعيل وحدة SSL في Apache

إذا لم تكن وحدة SSL مفعّلة بعد، فعّلها وأعد تشغيل Apache:

sudo a2enmod ssl
sudo service apache2 restart

يُنشئ أمر a2enmod ssl الرابطين الرمزيين mods-enabled/ssl.conf و mods-enabled/ssl.load نيابةً عنك، لذا لا حاجة لإنشائهما يدويًا. يمكنك التأكد من تحميل الوحدة عبر تنفيذ apache2ctl -M | grep ssl.

الخطوة 4: إضافة المضيف الافتراضي لـ SSL من خلال Apache Admin

سجّل الدخول إلى Sentora بحساب المسؤول، ثم انتقل إلى Admin > Module Admin > Apache Admin. ألصق ما يلي في مربع Global Sentora entry، مع تعديل مسارات الملفات وأسماء المضيفين بما يوافق تثبيتك:

##################################################
# Apache vhost configuration for Sentora
# Adds an HTTPS virtual host that uses your cert
##################################################

<VirtualHost *:443>
    ServerAdmin zadmin@localhost
    DocumentRoot "/etc/sentora/panel/"
    ServerName panel.example.com
    ServerAlias sentora.example.com

    SSLEngine on
    SSLCertificateFile      /etc/apache2/ssl/yourdomain.crt
    SSLCertificateKeyFile   /etc/apache2/ssl/yourdomain.key
    SSLCertificateChainFile /etc/apache2/ssl/yourdomain.ca-bundle.crt

    # Modern TLS only. SSLv2, SSLv3, TLS 1.0 and TLS 1.1
    # are deprecated and unsafe (POODLE, BEAST).
    SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder     on
    SSLCipherSuite          HIGH:!aNULL:!MD5:!3DES:!RC4
    SSLCompression          off
</VirtualHost>

استبدل panel.example.com وأسماء الملفات باسم مضيفك الفعلي ومسارات شهادتك. احفظ الإدخال. يُعيد Sentora كتابة تهيئة Apache في المرة القادمة التي تتم فيها المزامنة (وعند الحفظ)، لذا لا تُحرّر /etc/apache2/sites-available مباشرة: فاللوحة ستُعيد كتابته.

حول SSLProtocol SSLv3: دروس Sentora القديمة، بما فيها إصدارات سابقة من هذا الدرس، تلصق SSLProtocol SSLv3 في مربع Apache Admin. لا تستخدم هذه القيمة. تعطّل بروتوكول SSL 3.0 منذ الكشف عن ثغرة POODLE عام 2014 (CVE-2014-3566) وهو معطَّل في كل متصفح حديث؛ ومضيف Apache الافتراضي الذي يفرض SSLv3 سيرفض العملاء الحديثين، وسيكون غير آمن حتى لو قبلوه. تُقيّد الكتلة أعلاه Apache على TLS 1.2 و1.3 فقط، وهو الحد الأدنى الأمن الحالي.

الخطوة 5: إعادة تشغيل Apache

بعد حفظ إدخال Apache Admin، اختبر التهيئة وأعد تحميل الخدمة:

sudo apache2ctl configtest
sudo service apache2 restart

إذا أظهر configtest رسالة Syntax OK، فإن المضيف الافتراضي الجديد يعمل. افتح اللوحة عبر https://panel.example.com وتحقق من رمز القفل.

اختياري: استخدام Let’s Encrypt من خلال وحدة Sencrypt

إذا لم تكن بحاجة إلى شهادة مدفوعة، فإن وحدة Sencrypt التابعة للمجتمع (يُحافظ عليها في TGates71/sencrypt من قِبل أحد مطوري Sentora الأصليين) تُصدر وتُجدّد آليًا شهادات Let’s Encrypt المجانية للوحة وللنطاقات المستضافة. تأتي مضمّنة في بعض تثبيتات Sentora، وهي متوفرة كإضافة منفصلة في تثبيتات أخرى؛ بعد تثبيتها، انتقل إلى Admin > Module Admin > Sencrypt SSL (أو Sencrypt ضمن إدارة النطاقات لموقع مستضاف)، اختر النطاق، ونفّذ إجراء الإصدار. تُنفّذ Sencrypt تحدي HTTP-01 عبر المنفذ 80 وتضع الشهادة والمفتاح والسلسلة الناتجة في مكانها تلقائيًا. يجب أن يشير النطاق مسبقًا إلى هذا الخادم في DNS لضمان نجاح التحدي.

اختبار تثبيت SSL

بعد إعادة تشغيل Apache، افتح موقعك عبر https:// وتحقق من رمز القفل. للحصول على فحص أعمق يؤكد سلامة السلسلة الوسيطة ودعم البروتوكول، شغّل اسم المضيف عبر فاحص SSL الخاص بنا. إذا أشار التقرير إلى شهادة وسيطة مفقودة، أعد فتح Apache Admin، وتأكد من أن المسار في SSLCertificateChainFile يشير إلى مجموعة CA التي نسختها في الخطوة 2، ثم احفظ وأعد تشغيل Apache مرة أخرى.

الأسئلة الشائعة

هل لا يزال Sentora يُصان بفعالية في 2026؟

تباطأ التطوير الرسمي لـ Sentora بشكل حاد خلال السنوات الأخيرة. آخر إصدار مستقر على sentora/sentora-core هو v2.0.2 من مايو 2024 (PHP 7.4)، ولا يزال فرع 2.1.x الذي يستهدف PHP 8.x مُصنّفًا على أنه للتطوير فقط دون أي دعم طويل الأمد أو تدفق إصدارات أمنية نشط. توجد نسخة منشقة من المجتمع، Sentora-NG، لكنها صغيرة. معظم الإدارات التي تبحث عن خليفة مفتوحة المصدر يُصانها بفعالية تنتقل إلى HestiaCP؛ أما Plesk فهو الخيار المعتاد للدعم التجاري. تثبيتات Sentora القائمة لا تزال تعمل ومسار عمل SSL أعلاه لا يزال يُثبّت شهادات صالحة.

أين يخزّن Sentora ملفات الشهادة والمفتاح؟

لا يفرض Sentora موقعًا ثابتًا للشهادات من طرف ثالث. الاتفاقية المستخدمة في هذا الدليل هي /etc/apache2/ssl/yourdomain.crt وyourdomain.key وyourdomain.ca-bundle.crt، المُشار إليها من المضيف الافتراضي الذي تضيفه عبر Apache Admin. الشهادات الصادرة عبر وحدة Sencrypt الخاصة بـ Let’s Encrypt التابعة للمجتمع تُخزَّن في مجلد بيانات وحدة Sencrypt الخاص، وتُربط بـ Apache تلقائيًا.

لماذا يجب عليّ تجنّب SSLProtocol SSLv3 في إدخال Apache Admin؟

تعطّل بروتوكول SSL 3.0 بسبب هجوم POODLE عام 2014 (CVE-2014-3566) وأُزيل من كل متصفح رئيسي منذ سنوات. إن ضبط SSLProtocol SSLv3 يُلزم Apache بالتفاوض على ذلك البروتوكول فقط، فيفشل العملاء الحديثون في الاتصال، وأي عميل يتصل سيكون معرَّضًا للخطر. استخدم SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 للسماح بـ TLS 1.2 و1.3 فقط، وهو الحد الأدنى الأمن الحالي.

هل يجب أن أُنشئ روابط رمزية لِـ mods-enabled/ssl.conf يدويًا؟

لا. يُنشئ sudo a2enmod ssl كلا الرابطين الرمزيين ssl.conf و ssl.load تحت /etc/apache2/mods-enabled/ نيابةً عنك. تسرد دروس Sentora القديمة أوامر ln -s منفصلة، لكنها تُكرّر ما فعله a2enmod بالفعل. نفّذ apache2ctl -M | grep ssl للتأكد من تحميل الوحدة.

هل يمكنني تحرير ملفات مواقع Apache مباشرة بدلًا من استخدام Apache Admin؟

يمكنك ذلك، لكن التغيير لن يدوم. يُعيد Sentora توليد تهيئة Apache من قوالبه الخاصة عند كل مزامنة، وسيُعيد كتابة أي شيء تضعه يدويًا في /etc/apache2/sites-available. استخدم Global Sentora entry في وحدة Apache Admin للتوجيهات العامة، أو الإدخال الخاص بكل نطاق لموقع واحد، حتى يحافظ Sentora على إضافاتك عند إعادة كتابة التهيئة.

لماذا يُشير فاحص SSL إلى أن سلسلتي غير مكتملة؟

السبب الأكثر شيوعًا هو مسار SSLCertificateChainFile المفقود أو الخاطئ في إدخال Apache Admin. تأكد من أن المسار يشير إلى ملف مجموعة CA الذي نسخته في الخطوة 2، وأن المجموعة تحتوي على كل شهادة وسيطة بين شهادة نطاقك والشهادة الجذرية، وأن كل كتلة محاطة بعلامتي BEGIN CERTIFICATE و END CERTIFICATE. احفظ إدخال Apache Admin، وأعد تشغيل Apache، ثم أعد تشغيل فاحص SSL الخاص بنا.

وفِّر 10% على شهادات SSL عند الطلب اليوم!

إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

صورة مفصلة لتنين أثناء طيرانه

كاتب محتوى متمرس متخصص في شهادات SSL. تحويل موضوعات الأمن السيبراني المعقدة إلى محتوى واضح وجذاب. المساهمة في تحسين الأمن الرقمي من خلال السرد المؤثر.