bg-tutorials

كيفية تثبيت شهادة SSL في Linux

في هذا الدرس، ستتعلم كيفية تثبيت شهادة SSL على Linux التي تشغّل خادم الويب Apache (httpd).

تستخدم الأمثلة Red Hat Enterprise Linux (RHEL) وسلالاتها القريبة (Rocky Linux، AlmaLinux، CentOS، Fedora)، حيث يكون Apache عبارة عن حزمة httpd ويوجد التكوين تحت /etc/httpd/. يتضمن القسم الأخير توصيات شراء SSL لخوادم Red Hat Linux.

إنشاء طلب توقيع الشهادة CSR على Linux

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

طلب توقيع الشهادة (CSR) هو كتلة صغيرة من النص المشفَّر تحتوي على معلومات حول نطاقك، وبالنسبة للشهادات التجارية، حول مؤسستك أيضًا. إنشاء طلب توقيع الشهادة (CSR) جزء ضروري من عملية طلب SSL؛ فكل هيئة إصدار شهادات تجارية تطلب هذا الملف قبل إصدار شهادتك. أمامك خياران:

أرسل طلب توقيع الشهادة (CSR) إلى هيئة إصدار الشهادات خلال عملية الشراء. بعد أن تتحقق هيئة إصدار الشهادات منه وتصدر شهادة SSL الخاصة بك، تابع عملية التثبيت أدناه.

تثبيت شهادة SSL على Linux (Red Hat / Apache)

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

  • yourdomain.crt، شهادة SSL الأساسية الخاصة بك (الشهادة النهائية أو الورقية leaf certificate).
  • yourdomain.ca-bundle، الشهادات الوسيطة، والتي تُسمى أيضًا حزمة CA.
  • yourdomain.key، المفتاح الخاص الذي أنشأته مع طلب توقيع الشهادة (CSR).

إذا أرسلت هيئة إصدار الشهادات لديك الشهادة كنص وليس كملفات، افتح الشهادة الأساسية، وانسخ كل شيء بما في ذلك سطري —–BEGIN CERTIFICATE—– و—–END CERTIFICATE—–، واحفظه بصيغة yourdomain.crt. افعل الشيء ذاته مع حزمة CA. اتبع الخطوات أدناه لإتمام التثبيت.

الخطوة 1: تثبيت وحدة SSL (mod_ssl)

على الأنظمة المبنية على Red Hat، يأتي دعم HTTPS من حزمة mod_ssl. قم بتثبيتها (على RHEL 8/9 وFedora استخدم dnf؛ وعلى الإصدارات الأقدم استخدم yum):

sudo dnf install mod_ssl

تثبيت هذه الحزمة يُنشئ أيضًا ملف تكوين SSL الافتراضي في المسار /etc/httpd/conf.d/ssl.conf، وهو المكان الذي ستضيف فيه توجيهات الشهادة.

الخطوة 2: رفع ملفات الشهادة إلى الخادم

انسخ ملفاتك إلى المواقع القياسية للشهادات في Red Hat. توضع الشهادات في /etc/pki/tls/certs/ ويوضع المفتاح الخاص في /etc/pki/tls/private/:

sudo cp yourdomain.crt /etc/pki/tls/certs/
sudo cp yourdomain.ca-bundle /etc/pki/tls/certs/
sudo cp yourdomain.key /etc/pki/tls/private/

قم بتقييد الوصول إلى المفتاح الخاص بحيث لا يمكن لأحد قراءته سوى المستخدم root:

sudo chmod 600 /etc/pki/tls/private/yourdomain.key

في Apache 2.4.8 والإصدارات الأحدث، والتي تشمل جميع إصدارات RHEL المدعومة، اجمع شهادتك وحزمة CA في ملف واحد متسلسل كامل (full-chain)، بحيث تكون الشهادة النهائية أولًا والشهادات الوسيطة بعدها. هذا الملف الواحد هو كل ما يحتاجه توجيه SSLCertificateFile:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
sudo cp yourdomain_fullchain.crt /etc/pki/tls/certs/

الخطوة 3: تكوين VirtualHost لـ HTTPS

افتح ملف تكوين SSL باستخدام محرر نصوص:

sudo nano /etc/httpd/conf.d/ssl.conf

داخل كتلة VirtualHost للمنفذ 443، قم بإعداد تكوين حديث وكامل مثل التكوين أدناه. عدِّل المسارات والنطاق بحيث تتطابق مع ملفاتك:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/html

    SSLEngine on

    # Apache 2.4.8+ : certificate + CA bundle in one full-chain file
    SSLCertificateFile    /etc/pki/tls/certs/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.key

    # Recommended TLS hardening (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Enable HSTS only after you confirm HTTPS works
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
  • SSLCertificateFile: ملف السلسلة الكاملة (full-chain) الخاص بك (الشهادة متبوعة بالشهادات الوسيطة). في Apache 2.4.8+ يحل هذا التوجيه الواحد محل SSLCertificateChainFile المهجور.
  • SSLCertificateKeyFile: المفتاح الخاص الذي أنشأته مع طلب توقيع الشهادة (CSR).

إصدارات Apache القديمة (أقدم من 2.4.8): إذا كنت عالقًا بخادم قديم جدًا، احتفظ بالشهادة والسلسلة الوسيطة منفصلتين، وحدد SSLCertificateFile بحيث يشير إلى yourdomain.crt، وأضف SSLCertificateChainFile /etc/pki/tls/certs/yourdomain.ca-bundle، مع الإشارة إلى حزمة CA، لا إلى شهادتك الخاصة.

الخطوة 4: إعادة توجيه HTTP إلى HTTPS

لضمان وصول الزوار دائمًا إلى النسخة الآمنة من موقعك، أضف كتلة VirtualHost للمنفذ 80 (في تكوين الموقع الرئيسي، على سبيل المثال /etc/httpd/conf.d/yourdomain.conf) تُعيد التوجيه إلى HTTPS:

<VirtualHost *:80>
    ServerName www.yourdomain.com
    ServerAlias yourdomain.com
    Redirect permanent / https://www.yourdomain.com/
</VirtualHost>

الخطوة 5: اختبار التكوين

اختبر الصيغة دائمًا قبل إعادة التحميل؛ فأي خطأ إملائي في التكوين قد يمنع Apache من البدء:

sudo apachectl configtest

يجب أن تظهر لك عبارة Syntax OK. إذا ظهر لك خطأ، راجع الخطوات السابقة قبل الاستمرار.

الخطوة 6: إعادة تحميل Apache

طبِّق التغييرات بإعادة تحميل خدمة httpd. إعادة التحميل تُفعِّل التكوين الجديد دون قطع الاتصالات الحالية:

sudo systemctl reload httpd
sudo systemctl start httpd
sudo systemctl enable httpd

أمر أخير: تأكد من أن جدار الحماية يسمح بحركة مرور HTTPS على المنفذ 443:

sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

تهانينا. شهادة SSL الخاصة بك مثبَّتة الآن على خادم Apache على نظام Red Hat Linux.

للتأكد من أن كل شيء يعمل والحصول على تقرير فوري عن الحالة، شغِّل نطاقك عبر SSL Checker الخاص بنا. يكشف الفحص عن أي أخطاء في السلسلة أو التكوين قد تؤثر في مدى ثقة المتصفحات في شهادتك.

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

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

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

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