في هذا الدليل، ستتعلم كيفية تثبيت شهادة SSL على Apache، خطوة بخطوة. تنطبق التعليمات على Apache 2.4، وهي سلسلة الإصدارات المستقرة الحالية.
جدول المحتويات
- كيفية إنشاء رمز CSR على Apache؟
- تثبيت شهادة SSL على Apache
- اختبار تثبيت شهادة SSL
- أين يمكن شراء شهادة SSL لـ Apache؟
كيفية إنشاء رمز CSR على Apache؟
طلب توقيع الشهادة، أو ببساطة CSR، هو ملف نصي صغير يحتوي على معلومات حول ملكية نطاقك و/أو شركتك. يُعد إنشاء CSR جزءًا أساسيًا من عملية شراء شهادة SSL، وتشترط جميع مراجع التصديق (CA) التجارية على المتقدمين إكمال هذه الخطوة.
لديك خياران:
- إنشاء CSR تلقائيًا باستخدام أداة مولّد CSR الخاصة بنا.
- اتباع دليلنا التفصيلي حول كيفية إنشاء CSR على Apache.
تثبيت شهادة SSL على Apache
بعد أن تقوم مرجعية التصديق بتوقيع شهادة SSL وإرسالها إليك، يمكنك تثبيتها بأمان على خادم Apache الخاص بك. اتبع الخطوات أدناه.
الخطوة 1: تحضير ملفات الشهادة
قم بتنزيل الملفات واستخراجها من مجلد ZIP الذي تلقيته من مرجعية التصديق. ستجد عادةً:
- ملف .crt – شهادة SSL الأساسية الخاصة بك.
- ملف .ca-bundle – الشهادات الوسيطة (والجذرية) التي تشكل سلسلة الثقة. هذه السلسلة ضرورية لكي تتمكن المتصفحات والتطبيقات من التحقق من شهادتك. بدونها، قد تصنّف بعض العملاء موقعك على أنه غير آمن.
قم بتحميل هذه الملفات، إلى جانب المفتاح الخاص (.key) الذي أنشأته مع CSR، إلى دليل آمن على خادمك، مثلًا /etc/ssl/. حافظ على أن يكون المفتاح الخاص قابلًا للقراءة فقط من قبل root (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: تكوين المضيف الافتراضي (Virtual Host)
أولًا، قم بعمل نسخة احتياطية من ملف التكوين الحالي. بهذه الطريقة، إذا حدث خطأ ما، يمكنك التراجع عن تغييراتك بسرعة:
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. Remove the leading # to enable HSTS,
# but only after you have confirmed HTTPS works correctly:
# 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، قم بإنشاء تكوين مخصص باستخدام مولّد تكوين SSL من Mozilla. يتطلب OCSP stapling أيضًا توجيه SSLStaplingCache في تكوين Apache العام لديك.
تفعيل الموقع: في Debian/Ubuntu، لا يتم تحميل المضيف الافتراضي الموضوع في /etc/apache2/sites-available/ حتى تقوم بتفعيله. إذا حفظت هذا التكوين كملف جديد (مثلًا example-ssl.conf)، قم بتفعيله باستخدام:
sudo a2ensite example-ssl.conf
يمكنك أيضًا تعديل ملف default-ssl.conf المرفق، لكن يجب أيضًا تفعيله باستخدام a2ensite default-ssl. في RHEL/CentOS/AlmaLinux/Rocky، يتم تحميل الملفات الموجودة في /etc/httpd/conf.d/ تلقائيًا – لكن لاحظ أن ssl.conf يحتوي بالفعل على كتلة افتراضية <VirtualHost _default_:443> بشهادة موقّعة ذاتيًا، لذا إما أن تقوم بتعديل تلك الكتلة أو إضافة مضيفك الافتراضي كملف منفصل مثل /etc/httpd/conf.d/yourdomain.conf لتجنب وجود مضيفَين متداخلَين على المنفذ 443.
الخطوة 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


