يشرح هذا الدليل كيفية تثبيت شهادة SSL على خادم Debian مع Apache.
كيفية إنشاء CSR لخادم Debian؟
قبل التثبيت، مهمتك الأولى هي إنشاء رمز CSR (طلب توقيع الشهادة). هذا هو الإجراء المعتاد عند طلب شهادة SSL. يحتوي CSR على تفاصيل مهمة حول نطاقك ومؤسستك يجب على جهة إصدار الشهادات التحقق منها قبل إصدار الشهادة لك.
لديك خياران:
- إنشاء CSR تلقائيًا باستخدام مولد CSR الخاص بنا.
- اتبع دليلنا التفصيلي حول كيفية إنشاء CSR على Debian.
انسخ محتوى CSR بالكامل وقدّمه إلى جهة إصدار الشهادات أثناء طلبك. اعتمادًا على نوع التحقق، يجب أن تستلم شهادة SSL الخاصة بك خلال دقائق، أو في غضون بضعة أيام بالنسبة للشهادات ذات مستوى التحقق الأعلى. بمجرد إصدارها من جهة إصدار الشهادات، تابع مع خطوات التثبيت أدناه.
الخطوة 1: رفع الشهادة والمفتاح الخاص إلى الخادم
ضع الملفات في المواقع القياسية لنظام Debian. احتفظ بالمفتاح الخاص في /etc/ssl/private/ بصلاحيات صارمة، وادمج الشهادة والشهادات الوسيطة في ملف سلسلة كاملة واحد في /etc/ssl/certs/:
# Private key (set strict permissions)
sudo install -m 600 yourdomain.key /etc/ssl/private/yourdomain.key
# Concatenate the server certificate + intermediate(s) into one full-chain file
cat yourdomain.crt intermediate1.crt intermediate2.crt | sudo tee /etc/ssl/certs/yourdomain-fullchain.pem >/dev/null
إذا سلمتك جهة إصدار الشهادات السلسلة كملف ca-bundle واحد بدلاً من شهادات وسيطة منفصلة، استخدم ذلك الملف بدلاً من intermediate1.crt intermediate2.crt أعلاه.
في إصدار Apache 2.4.8 وما بعده، ملف السلسلة الكاملة هذا هو كل ما تحتاجه لـ SSLCertificateFile. توجيه SSLCertificateChainFile القديم أصبح مهملاً ولم يعد مطلوبًا.
الخطوة 2: تفعيل وحدة SSL
فعّل وحدة SSL الخاصة بـ Apache (ووحدة headers المستخدمة لـ HSTS في الخطوة 3):
sudo a2enmod ssl
sudo a2enmod headers
الخطوة 3: إنشاء VirtualHost لـ HTTPS
أنشئ ملف تكوين موقع جديد في /etc/apache2/sites-available/:
sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf
الصق ما يلي لخانة VirtualHost على المنفذ 443، وعدّل المسارات وأسماء النطاقات لتتوافق مع إعدادك:
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain-fullchain.pem
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# HSTS: uncomment the line below only AFTER you confirm HTTPS works on the
# domain and every subdomain (includeSubDomains applies to all of them).
# Reversing HSTS in visitors' browsers is slow, so enable it deliberately.
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
# Optional: enable HTTP/2
# Protocols h2 http/1.1
<Directory /var/www/yourdomain>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain-ssl-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain-ssl-access.log combined
</VirtualHost>
- SSLCertificateFile، ملف السلسلة الكاملة الخاص بك (الشهادة + الشهادات الوسيطة). في إصدار Apache 2.4.8+ يحل هذا محل SSLCertificateChainFile المهمل.
- SSLCertificateKeyFile، المفتاح الخاص الذي أنشأته مع CSR.
الخطوة 4: فرض إعادة التوجيه من HTTP إلى HTTPS
لضمان وصول الزوار دائمًا إلى النسخة الآمنة، أنشئ VirtualHost منفصلًا على المنفذ 80 يعيد توجيه كل حركة HTTP إلى HTTPS:
sudo nano /etc/apache2/sites-available/yourdomain-redirect.conf
ثم الصق ما يلي:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
الخطوة 5: تفعيل تكوينات موقعك
فعّل موقع HTTPS الجديد (وإعادة التوجيه، إذا قمت بإنشائه). الملفات الموجودة في sites-enabled/ هي مجرد روابط رمزية إلى sites-available/:
sudo a2ensite yourdomain-ssl
# If you created the redirect
sudo a2ensite yourdomain-redirect
الخطوة 6: اختبار التكوين
اختبر التكوين دائمًا قبل إعادة التحميل، لأن أي خطأ في الصياغة يمكن أن يوقف الموقع عن العمل:
sudo apache2ctl configtest
يجب أن ترى Syntax OK. إذا ظهر لك خطأ، راجع الخطوات السابقة قبل المتابعة.
الخطوة 7: إعادة تحميل خادم Apache
طبّق التغييرات بإعادة تحميل Apache. تُفعّل إعادة التحميل التكوين الجديد دون قطع الاتصالات الحالية:
sudo systemctl reload apache2
لقد قمت بنجاح بتكوين شهادة SSL على خادم Debian الخاص بك. يمكنك دائمًا التحقق من حالة تثبيت SSL باستخدام أداة SSL Checker الخاصة بنا.
أين تشتري شهادة SSL لخادم Debian؟
أفضل مكان لشراء شهادة SSL لنظام Debian هو SSL Dragon. نقدم أسعارًا تنافسية وخصومات منتظمة وعروضًا رائعة على مجموعتنا الكاملة من منتجات SSL. لقد اخترنا بعناية أفضل العلامات التجارية لشهادات SSL في السوق لمنح موقعك تشفيرًا قويًا. جميع شهادات SSL لدينا متوافقة مع Debian.
الأسئلة الشائعة
وفقًا للتعارف المتبع، توضع الشهادات في /etc/ssl/certs/ والمفاتيح الخاصة في /etc/ssl/private/ (يجب أن يكون المفتاح قابلاً للقراءة من قبل root فقط). هذه هي الإعدادات الافتراضية؛ يمكنك استخدام مواقع أخرى طالما أن VirtualHost الخاص بك يشير إليها.
اتصل بموقعك باستخدام OpenSSL واقرأ الشهادة التي يقدمها:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
إذا كانت هناك شهادة مثبتة، سيعرض هذا الأمر جهة إصدارها وتواريخ صلاحيتها. يمكنك أيضًا سرد المضيفين الافتراضيين النشطين في Apache باستخدام sudo apache2ctl -S، أو ببساطة فتح موقعك في متصفح والتحقق من رمز القفل.
توجد ملفات تكوين الموقع في /etc/apache2/sites-available/ (على سبيل المثال yourdomain-ssl.conf)، والمواقع المفعّلة مرتبطة رمزيًا بـ /etc/apache2/sites-enabled/. فعّل موقعًا باستخدام sudo a2ensite yourdomain-ssl.
نعم. بدون شهادة SSL، تُظهر المتصفحات موقعك على أنه “غير آمن” وتكون حركة البيانات بين مستخدميك وخادمك غير مشفرة. تقوم شهادة SSL بتشفير ذلك الاتصال وهي إلزامية فعليًا لأي موقع إنتاجي.
خلاصة القول
يتلخص تثبيت شهادة SSL على Debian مع Apache في رفع ملفاتك، وتفعيل mod_ssl، وتكوين VirtualHost لـ HTTPS بشهادة السلسلة الكاملة، وإضافة إعادة توجيه من HTTP إلى HTTPS، والاختبار باستخدام sudo apache2ctl configtest، وإعادة تحميل Apache. هل تحتاج إلى شهادة أولاً؟ تصفح شهادات SSL الخاصة بنا.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

