في هذا الدليل، ستتعلم كيفية تثبيت شهادة SSL على Apache، خطوة بخطوة. تنطبق التعليمات على Apache 2.4، وهو إصدار الاستقرار الحالي.
جدول المحتويات
- كيفية إنشاء كود CSR على Apache؟
- تثبيت شهادة SSL على Apache
- اختبار تثبيت SSL
- أين تشتري شهادة SSL لـ Apache؟
كيفية إنشاء كود CSR على Apache؟
طلب توقيع الشهادة، أو CSR اختصارًا، هو ملف نصي صغير يحتوي على معلومات حول ملكية نطاقك و/أو شركتك. يُعدّ إنشاء CSR جزءًا أساسيًا من عملية شراء SSL، وتشترط جميع جهات إصدار الشهادات التجارية على مقدمي طلبات SSL إتمام هذه الخطوة.
لديك خياران:
- إنشاء CSR تلقائيًا باستخدام CSR Generator الخاص بنا.
- اتباع دليلنا التفصيلي حول كيفية إنشاء CSR على Apache.
تثبيت شهادة SSL على Apache
بعد أن تقوم جهة إصدار الشهادات بتوقيع شهادة SSL وإرسالها إليك، يمكنك تثبيتها بأمان على خادم Apache الخاص بك. اتبع الخطوات أدناه.
الخطوة 1: تجهيز ملفات الشهادة
قم بتنزيل الملفات واستخراجها من مجلد ZIP الذي تلقيته من جهة إصدار الشهادات. ستجد عادةً:
- ملف .crt – شهادة SSL الأساسية الخاصة بك.
- ملف .ca-bundle – الشهادات الوسيطة (والجذرية) التي تشكّل سلسلة الثقة. هذه السلسلة ضرورية حتى تتمكن المتصفحات والتطبيقات من التحقق من شهادتك. بدونها، قد تُصنّف بعض العملاء موقعك على أنه غير آمن.
قم برفع هذه الملفات، إلى جانب المفتاح الخاص (.key) الذي أنشأته مع CSR، إلى دليل آمن على خادمك، على سبيل المثال /etc/ssl/. احرص على أن يكون المفتاح الخاص قابلًا للقراءة من قِبل المستخدم الجذر فقط (chmod 600).
موصى به (Apache 2.4.8 والإصدارات الأحدث): ادمج شهادتك وحزمة CA في ملف “سلسلة كاملة” واحد. منذ Apache 2.4.8، يقوم التوجيه SSLCertificateFile بتحميل الشهادات الوسيطة مباشرةً من هذا الملف، وهذا هو السبب في أن التوجيه القديم SSLCertificateChainFile لم يعد ضروريًا:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
إذا قدّمت جهة إصدار الشهادات الشهادات الوسيطة كـملفات منفصلة، فقم بدمجها مع شهادتك أولًا، متبوعةً بالشهادات الوسيطة مرتبةً من الشهادة التي وقّعت شهادتك وصولًا إلى الجذر (الشهادة الجذرية نفسها اختيارية):
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
على سبيل المثال، عند تثبيت شهادة Sectigo PositiveSSL، ستقوم بدمج شهادة نطاقك مع حزمة Sectigo الوسيطة. استخدم دائمًا أسماء الملفات الدقيقة التي قدّمتها جهة إصدار الشهادات.
الخطوة 2: تفعيل وحدة SSL (mod_ssl)
قبل تهيئة HTTPS، تأكد من تفعيل وحدة SSL في Apache.
على Debian/Ubuntu، فعّل mod_ssl (وmod_headers، الذي ستحتاجه لرأس HSTS في الخطوة 4):
sudo a2enmod ssl
sudo a2enmod headers
على RHEL/CentOS/AlmaLinux/Rocky Linux، قم بتثبيت حزمة وحدة SSL (تُحمَّل الوحدة تلقائيًا بمجرد تثبيتها):
sudo dnf install mod_ssl
الخطوة 3: تحديد موقع ملف تهيئة Apache
اعتمادًا على نظام التشغيل وإصدار Apache، قد تكون التهيئة موجودة في ملفات مختلفة. ابحث عن httpd.conf أو apache2.conf أو ملف تهيئة SSL/موقع مخصص، في أحد المواقع التالية:
- Debian/Ubuntu: التهيئة الرئيسية /etc/apache2/apache2.conf؛ تهيئات كل موقع في /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky: التهيئة الرئيسية /etc/httpd/conf/httpd.conf؛ تهيئة SSL /etc/httpd/conf.d/ssl.conf.
ملاحظة: إذا كان خادم Apache الخاص بك يعمل على Ubuntu، يمكنك أيضًا اتباع تعليمات تثبيت SSL المخصصة لـ Ubuntu.
الخطوة 4: تهيئة المضيف الافتراضي
أولًا، قم بعمل نسخة احتياطية من ملف التهيئة الحالي. بهذه الطريقة، إذا حدث خطأ ما، يمكنك التراجع عن التغييرات بسرعة:
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
الآن افتح ملف التهيئة وقم بإعداد المضيف الافتراضي لـ HTTPS (المنفذ 443). يبدو المضيف الافتراضي الحديث الكامل كما يلي:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : server certificate + intermediate chain in ONE file
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Tell browsers to always use HTTPS (enable only after HTTPS works)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
استبدل example.com وجذر المستند ومسارات الملفات بقيمك الخاصة. إليك ما تفعله التوجيهات الرئيسية:
- SSLEngine on – يُفعّل SSL/TLS لهذا المضيف الافتراضي.
- SSLCertificateFile – المسار إلى ملف السلسلة الكاملة (الشهادة + الشهادات الوسيطة) الذي أنشأته في الخطوة 1. في Apache 2.4.8+ يحلّ هذا التوجيه الواحد محل SSLCertificateChainFile المُهمَل.
- SSLCertificateKeyFile – المسار إلى مفتاحك الخاص، الذي تم إنشاؤه مع CSR.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – يُعطّل بروتوكولات SSL/TLS القديمة وغير الآمنة ويسمح فقط بـ TLS 1.2 و TLS 1.3.
- Strict-Transport-Security (HSTS) – يوجّه المتصفحات للاتصال عبر HTTPS فقط. يتطلب mod_headers (المُفعَّل في الخطوة 2). قم بتفعيله فقط بعد التأكد من أن HTTPS يعمل بشكل صحيح.
تأكد من أن أيًا من هذه الأسطر لا يبدأ بـ # (مما سيجعلها تعليقًا). على Debian/Ubuntu، يُحلَّل ${APACHE_LOG_DIR} إلى /var/log/apache2؛ على الأنظمة المبنية على RHEL استخدم /var/log/httpd/ بدلًا من ذلك.
الخوادم القديمة: إذا كنت عالقًا على إصدار Apache أقدم من 2.4.8، احتفظ بالشهادة والسلسلة في ملفات منفصلة وأضف التوجيه المُهمَل SSLCertificateChainFile /etc/ssl/example_com.ca-bundle أسفل SSLCertificateFile. على أي خادم حديث، يُفضَّل استخدام نهج السلسلة الكاملة أعلاه.
التقوية المتقدمة (اختياري): للحصول على مجموعة تشفير أقوى وتفعيل OCSP stapling، قم بإنشاء تهيئة مخصصة باستخدام Mozilla SSL Configuration Generator. يتطلب OCSP stapling أيضًا توجيه SSLStaplingCache في تهيئة Apache العامة.
الخطوة 5: إعادة توجيه HTTP إلى HTTPS
لضمان وصول الزوار دائمًا إلى النسخة الآمنة من موقعك، أضف مضيفًا افتراضيًا ثانيًا على المنفذ 80 يُعيد توجيه جميع حركة مرور HTTP بشكل دائم إلى HTTPS:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
الخطوة 6: اختبار التهيئة وإعادة تشغيل Apache
اختبر دائمًا تهيئتك قبل إعادة التشغيل. قد يؤدي خطأ في الصياغة إلى تعطّل موقعك، لذا قم بتشغيل:
sudo apachectl configtest
إذا كان كل شيء صحيحًا، ستظهر لك:
Syntax OK
الآن طبّق التغييرات بإعادة تحميل Apache (تُفعّل إعادة التحميل التهيئة الجديدة دون قطع الاتصالات الحالية):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
إذا لم تكن إعادة التحميل كافية، أعد تشغيل الخدمة بدلًا من ذلك (sudo systemctl restart apache2 أو httpd). على الأنظمة القديمة التي لا تدعم systemd، استخدم sudo apachectl graceful.
إذا نجح التثبيت، تهانينا! موقعك الآن محمي بـ SSL/TLS.
اختبار تثبيت SSL
بعد تثبيت شهادة SSL على Apache، تحقق من أن كل شيء يعمل كما هو متوقع. سيكشف الفحص الفوري عن أي أخطاء أو ثغرات قد تؤثر على أداء شهادتك. استخدم أداة SSL Checker الخاصة بنا للتحقق من حالة تثبيتك.
يمكنك أيضًا التحقق من الشهادة وسلسلتها مباشرةً من سطر الأوامر:
openssl s_client -connect www.example.com:443 -servername www.example.com
أين تشتري شهادة SSL لـ Apache؟
أفضل مكان للحصول على شهادة SSL لـ Apache هو من SSL Dragon. نقدم أسعارًا وخصومات لا تُضاهى عبر مجموعتنا الكاملة من منتجات SSL، وقد اخترنا بعناية أفضل علامات SSL التجارية في السوق لتزويد موقعك بحماية محكمة. جميع شهاداتنا SSL متوافقة مع Apache. احصل على شهادة SSL الآن!
ضع في اعتبارك أن فترات صلاحية شهادات SSL/TLS آخذة في التقلص: تنخفض الصلاحية القصوى إلى 200 يوم في مارس 2026، و100 يوم في 2027، و47 يومًا فقط بحلول 2029. تعني دورات الحياة الأقصر تجديدات أكثر تكرارًا، لذا يستحق الأمر التخطيط لعملية التجديد (والأتمتة) مسبقًا.
الأسئلة الشائعة
SSL (طبقة المقابس الآمنة)، التي خلفها الآن TLS (أمان طبقة النقل)، هو بروتوكول تشفير يُشفّر الاتصال بين نقطتَي نهاية شبكيتين، على سبيل المثال خادم ويب مثل Apache ومتصفح المستخدم.
على توزيعات Debian و Ubuntu، ابحث في التهيئة عن توجيه بروتوكول SSL:grep -ir SSLProtocol /etc/apache2/
إذا كان SSL مُهيَّأً، ستظهر لك نتيجة مشابهة لـ:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
يمكنك أيضًا التأكد من أن وحدة SSL محمّلة في الخادم الجاري:apachectl -M | grep ssl
قد يكون ملف التهيئة في مواقع مختلفة اعتمادًا على نظام التشغيل والإعداد. على Debian/Ubuntu، تحقق من /etc/apache2/apache2.conf وملفات كل موقع في /etc/apache2/sites-available/. على RHEL/CentOS/AlmaLinux/Rocky، تحقق من /etc/httpd/conf/httpd.conf و/etc/httpd/conf.d/ssl.conf.
SSLCertificateFile يشير إلى شهادة خادمك. منذ Apache 2.4.8، يمكن للملف نفسه أن يحتوي أيضًا على الشهادات الوسيطة، وبذلك يُقدّم السلسلة الكاملة. SSLCertificateChainFile كان الطريقة القديمة لتوفير تلك الشهادات الوسيطة بشكل منفصل، لكنه مُهمَل منذ Apache 2.4.8. على أي خادم حديث، ضع الشهادة والشهادات الوسيطة في ملف واحد وأشر إليه باستخدام SSLCertificateFile فقط.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10


