في هذا الدرس، ستتعلم كيفية تثبيت شهادة SSL على Lighttpd. يغطي هذا الدليل الإعدادات الحالية (شهادة ومفتاح خاص منفصلين باستخدام وحدة mod_openssl)، وطريقة PEM المدمجة القديمة للإصدارات الأقدم، واختبارًا سريعًا للإعدادات قبل إعادة التشغيل.
قمنا أيضًا بتسجيل فيديو يوضح لك العملية بأكملها خطوة بخطوة. إذا كنت تفضل النسخة النصية، تابع القراءة أدناه.
إنشاء رمز CSR على Lighttpd
سنبدأ بإنشاء CSR (طلب توقيع الشهادة). CSR هو كتلة من النص المشفر ترسلها إلى جهة إصدار الشهادات (CA) للتقدم بطلب للحصول على شهادة SSL. لديك خياران:
- استخدام أداة إنشاء CSR الخاصة بنا لإنشاء CSR تلقائيًا.
- اتباع درسنا التفصيلي حول كيفية إنشاء CSR على Lighttpd.
افتح ملف CSR بأي محرر نصوص وانسخ محتواه، بما في ذلك سطري BEGIN CERTIFICATE REQUEST وEND CERTIFICATE REQUEST، إلى الحقل المخصص خلال عملية طلب شهادة SSL. أرسل CSR إلى جهة إصدار الشهادات وانتظر عملية التحقق. بعد أن تصدر جهة إصدار الشهادات شهادة SSL الخاصة بك، تابع عملية التثبيت أدناه.
تثبيت شهادة SSL على Lighttpd
الخطوة 1: تحضير ملفات الشهادة
بعد إتمام التحقق، سترسل لك جهة إصدار الشهادات ملفات الشهادة عبر البريد الإلكتروني. قم بتنزيل الأرشيف واستخراجه. يجب أن يكون لديك:
- yourdomain.crt، وهي شهادة SSL الأساسية الخاصة بك.
- yourdomain.ca-bundle، وهي الشهادات الوسيطة (حزمة CA).
- yourdomain.key، وهو المفتاح الخاص الذي أنشأته مع CSR.
يوصي Lighttpd بأن يحتوي الملف المشار إليه بواسطة ssl.pemfile على سلسلة الشهادات الكاملة: شهادتك أولاً، تليها الشهادات الوسيطة. أنشئ ملف السلسلة المدمج هذا، ثم انقله مع المفتاح الخاص إلى مجلد يمكن لـ Lighttpd قراءته (مثلاً /etc/lighttpd/ssl/):
cat yourdomain.crt yourdomain.ca-bundle > yourdomain.fullchain.pem
sudo mkdir -p /etc/lighttpd/ssl
sudo cp yourdomain.fullchain.pem yourdomain.key /etc/lighttpd/ssl/
قيّد صلاحيات المفتاح الخاص بحيث يستطيع مستخدم root فقط قراءته:
sudo chmod 600 /etc/lighttpd/ssl/yourdomain.key
الخطوة 2: تفعيل mod_openssl
منذ الإصدار 1.4.56، أصبح دعم TLS في Lighttpd موجودًا في وحدة قابلة للتحميل تسمى mod_openssl (توجد أيضًا خيارات أخرى مثل mod_mbedtls وmod_wolfssl وmod_gnutls وmod_nss). قم بتحميلها في ملف الإعدادات الرئيسي قبل كتلة مقبس SSL:
server.modules += ( "mod_openssl" )
ملاحظة: في الإصدار 1.4.55 من Lighttpd وما قبله، كان دعم TLS مضمّنًا بشكل مباشر بدلاً من تحميله كوحدة، لذا يمكنك تجاهل هذا السطر في تلك الإصدارات. تحقق من إصدارك باستخدام lighttpd -v.
الخطوة 3: تحرير lighttpd.conf
افتح ملف الإعدادات الرئيسي (المسار غالبًا هو /etc/lighttpd/lighttpd.conf) بالمحرر الذي تفضله:
sudo nano /etc/lighttpd/lighttpd.conf
أضف كتلة مقبس للمنفذ 443. في الإصدارات الحالية من Lighttpd (1.4.56 وما بعده)، احتفظ بسلسلة الشهادات والمفتاح الخاص في ملفين منفصلين: وجّه ssl.pemfile إلى ملف السلسلة الكاملة وssl.privkey إلى المفتاح. هذا هو التنسيق الذي تسلمه معظم جهات إصدار الشهادات، وهو الإعداد الذي يوصي به Lighttpd.
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.fullchain.pem"
ssl.privkey = "/etc/lighttpd/ssl/yourdomain.key"
# Minimum TLS version (ssl-conf-cmd needs lighttpd 1.4.48+; TLS 1.2 is already the default on 1.4.56+)
ssl.openssl.ssl-conf-cmd = ( "MinProtocol" => "TLSv1.2" )
}
- ssl.engine يفعّل TLS لهذا المقبس.
- ssl.pemfile يحتوي على شهادتك متبوعة بالسلسلة الوسيطة.
- ssl.privkey يحتوي على المفتاح الخاص. أصبح مطلوبًا منذ الإصدار 1.4.53 عندما لا يكون المفتاح داخل ملف pemfile.
لإعادة توجيه HTTP العادي إلى HTTPS بحيث يصل الزوار دائمًا إلى النسخة الآمنة، أضف إعادة توجيه للمنفذ 80 (يتطلب هذا وحدة mod_redirect، التي يتم تحميلها بشكل افتراضي في معظم التوزيعات):
$SERVER["socket"] == ":80" {
url.redirect = ( "^/(.*)" => "https://yourdomain.com/$1" )
}
احفظ الملف وأغلقه.
الطريقة القديمة: PEM مدمج و ssl.ca-file
الإصدارات القديمة من Lighttpd 1.4.x (قبل 1.4.53) كانت تستخدم ملف PEM واحد مدمج يحتوي على الشهادة والمفتاح الخاص مضافين معًا في ملف واحد، مع توفير السلسلة الوسيطة بشكل منفصل من خلال ssl.ca-file. إذا كنت تدير أحد هذه الأنظمة القديمة، أنشئ الملف المدمج بهذه الطريقة:
cat yourdomain.crt yourdomain.key > /etc/lighttpd/ssl/yourdomain.pem
ثم أشر إليه في كتلة المقبس:
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.pem"
ssl.ca-file = "/etc/lighttpd/ssl/yourdomain.ca-bundle"
}
في الإصدارات الحالية من Lighttpd، من الأفضل استخدام الشكل المنفصل لكل من ssl.pemfile وssl.privkey كما هو مذكور في الخطوة 3، والاحتفاظ بالسلسلة الكاملة داخل pemfile. تم تغيير اسم توجيه ssl.ca-file إلى ssl.verifyclient.ca-file في الإصدار 1.4.60، لأن الغرض الحقيقي منه هو التحقق من شهادات العميل بدلاً من تقديم سلسلة الخادم.
الخطوة 4: اختبار الإعدادات
تحقق دائمًا من الصياغة قبل إعادة التشغيل، لأن وجود خطأ قد يمنع الخادم من التشغيل. نفّذ:
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
يجب أن تظهر لك رسالة تفيد بأن الصياغة صحيحة. للحصول على فحص أعمق يقوم أيضًا بتحميل الوحدات وتهيئتها، استخدم sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf. قم بإصلاح أي أخطاء يتم الإبلاغ عنها قبل الاستمرار.
الخطوة 5: إعادة تشغيل Lighttpd
طبّق التغييرات. في النظام الحديث الذي يستخدم systemd، أعد تشغيل الخدمة:
sudo systemctl restart lighttpd
في الأنظمة الأقدم التي تستخدم SysV init، استخدم بدلاً من ذلك سكربت init:
sudo /etc/init.d/lighttpd restart
تهانينا، شهادة SSL الخاصة بك مُثبتة الآن على Lighttpd. لتأكيد النتيجة والحصول على تقرير حالة فوري، استخدم أداة SSL Checker الخاصة بنا أو تصفح مجموعتنا الكاملة من أدوات SSL. للحصول على خيارات متقدمة، راجع وثائق SSL الرسمية لـ Lighttpd.
الأسئلة الشائعة
يوصي Lighttpd الحالي (1.4.56 وما بعده) باستخدام ملفات منفصلة: الشهادة مع سلسلتها الوسيطة في الملف المسمى بواسطة ssl.pemfile، والمفتاح الخاص في ssl.privkey. لا يزال ملف PEM المدمج القديم الذي يجمع الشهادة والمفتاح في ملف ssl.pemfile واحد يعمل، لكن الشكل المنفصل يطابق الطريقة التي تسلم بها معظم جهات إصدار الشهادات الملفات وهو الشكل الموصى به في الوثائق الرسمية.
لا. التوصية الحالية هي تضمين الشهادات الوسيطة مباشرة في ملف ssl.pemfile، بعد شهادتك مباشرة. كان توجيه ssl.ca-file طريقة قديمة لإكمال السلسلة عندما يحتوي pemfile على شهادة العميل النهائية فقط، وفي الإصدار 1.4.60 تم تغيير اسمه إلى ssl.verifyclient.ca-file لأن دوره الحقيقي هو التحقق من شهادات العميل.
نفّذ sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf لاختبار الصياغة، أو sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf لاختبار أعمق يقوم أيضًا بتحميل الوحدات. قم بإصلاح أي أخطاء يبلغ عنها قبل إعادة التشغيل، بحيث لا يمنع خطأ إملائي الخادم من التشغيل.
يعني هذا عادةً أن الشهادات الوسيطة غير موجودة في ملف ssl.pemfile الخاص بك. اجمع شهادتك مع حزمة CA في ملف واحد، مع وضع الشهادة أولاً، ووجّه ssl.pemfile إليه. ثم اختبر الإعدادات وأعد التشغيل. يمكنك التأكد من اكتمال السلسلة باستخدام أداة SSL Checker الخاصة بنا.
اتصل بموقعك باستخدام OpenSSL واقرأ الشهادة التي يقدمها الخادم:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
إذا كانت الشهادة مُثبتة، ستظهر هذه الأمر معلومات الجهة المصدرة وتواريخ الصلاحية. يمكنك أيضًا فتح موقعك في متصفح والتحقق من رمز القفل.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10


