دليل المستخدم تعليمات بسيطة للعمل مع خدمة Profitserver
الرئيسية دليل المستخدم Certbot: تثبيت شهادة Let's Encrypt

Certbot: تثبيت شهادة Let's Encrypt


سنتناول في هذه المقالة عملية تثبيت وتكوين Certbot على خادم Linux. سنشرح بالتفصيل كيفية الحصول على شهادة Let's Encrypt SSL/TLS لموقعك. كما سنوضح كيفية تثبيته على خادم ويب (مثل Nginx أو Apache) وإعداد التجديد التلقائي للشهادة لضمان اتصال آمن ومستمر بموقعك الإلكتروني.

Certbot أداة مجانية مفتوحة المصدر مصممة للحصول على شهادات SSL/TLS وتجديدها تلقائيًا . تلعب دورًا محوريًا في تأمين الاتصال بين الخادم والعميل، وحماية البيانات من الوصول غير المصرح به. يُسهّل Certbot عملية تثبيت شهادة SSL وتجديدها. لا تقتصر فوائد الشهادة على تعزيز الأمان فحسب، بل تُعزز أيضًا ثقة المستخدمين بموقعك الإلكتروني، مما يُحسّن سمعة الموقع وترتيبه في محركات البحث.

تثبيت Certbot

يتم تضمين Certbot في معظم التوزيعات بشكل افتراضي، لذا لتثبيته على أنظمة Debian/Ubuntu ، ما عليك سوى تحديث قائمة الحزم:

apt update

بعد ذلك، ابدأ عملية التثبيت:

apt install certbot

يدعم Certbot إضافات تُسهّل إعداد وتكوين شهادة خادم الويب. لتثبيت هذه الإضافات، استخدم الأمر المُناسب:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

تختلف عملية التثبيت لأنظمة Red Hat (مثل RHEL و CentOS و Fedora ) قليلاً. في البداية، عليك إضافة مستودع EPEL:

yum install epel-release

ثم قم بتثبيت الأداة:

yum install certbot

وبالمثل، هناك خيار لتحديد البرنامج الإضافي لخادم ويب محدد:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

بعد التثبيت، يمكنك المتابعة فورًا للحصول على الشهادة.

الحصول على شهادة SSL

في هذا القسم، سنناقش عملية الحصول على شهادة مستقلة عن خادم ويب محدد، ثم نشرح عملية تثبيت الشهادة لـ Nginx وApache. مع ذلك، من الضروري أولاً فهم بنية البرنامج ووظائفه. كما يلي:

certbot command option -d domain

تتضمن الأوامر الرئيسية ما يلي:

certbot certonly - يقوم باسترجاع الشهادة ولكن لا يقوم بتثبيتها.
certbot certificates - يعرض هذا الأمر قائمة بجميع الشهادات المثبتة.
certbot renew - تمديد الشهادة الحالية.
certbot revoke - إلغاء الشهادة الموجودة.
certbot delete - حذف الشهادة الموجودة.

الخيارات الأكثر استخدامًا هي:

--nginx - يستخدم نصوص تكوين Nginx للتحقق من المجال.
--apache - يستخدم نصوص تكوين Apache للتحقق من المجال.
-d - قائمة المجالات التي يتم طلب الشهادة لها.
--standalone - يستخدم الوضع المستقل للتحقق من المجال.
--manual - يقوم بالتحقق اليدوي للمجال.

هذا مجرد مثال على الأوامر والخيارات الأكثر شيوعًا. يمكنك الاطلاع على القائمة الكاملة لإمكانيات البرنامج في قسم المساعدة:

certbot –help
قسم المساعدة في أداة Certbot

ننتقل الآن إلى الحصول على الشهادة. على سبيل المثال، سنحصل على شهادة لخادم افتراضي لنطاق مجاني من المستوى الثالث مثل yourusername.pserver.space

أولاً، عليك إدخال الأمر:

certbot certonly

ردًا على ذلك، ستطلب منك الأداة المساعدة اختيار طريقة للتحقق من ملكية المجال:

كيفية الحصول على شهادة SSL من Certbot

الخيار الأول مناسب إذا لم يكن لديك خادم ويب مُهيأ أو لا ترغب في إجراء تغييرات على خادم موجود. تُنشئ هذه الطريقة خادم ويب مؤقتًا لتأكيد حقك في النطاق. وهي مثالية للإعداد البسيط والسريع. عند اختيار هذه الطريقة، من المهم إبقاء المنفذ 80 خاليًا.

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

نختار الخيار الأول ونضغط على التالي. في هذه المرحلة، ستحتاج إلى:

  1. أدخل عنوان البريد الإلكتروني؛
  2. الموافقة على شروط الخدمة؛
  3. الموافقة أو رفض تلقي رسائل البريد الإلكتروني نيابة عن الشركة وشركائها؛
  4. حدد اسم المجال الذي سيتم إصدار الشهادة له.
بيانات الحصول على شهادة SSL

بعد إكمال عملية إصدار الشهادة باستخدام أداة Certbot، ستشير إلى المسار إلى الدليل حيث يتم تخزين الشهادة الصادرة والبيانات الخاصة بحسابك:

بيانات شهادة SSL التي تم الحصول عليها

كل ما تبقى عليك هو ربط الشهادة التي حصلت عليها بالخدمة المطلوبة.

تثبيت الشهادة لـ Nginx أو Apache

يفترض هذا القسم استيفاء بعض الشروط الأساسية:

  1. لقد قمتَ بالفعل بتثبيت خادم ويب وتكوينه، سواءً Nginx أو Apache. يجب أن يكون الوصول إليه متاحًا عبر الإنترنت عبر اسم النطاق الذي ترغب في الحصول على الشهادة له.
  2. أثناء تثبيت الأداة، قمت أيضًا بتثبيت مكون إضافي لـ Nginx أو Apache باستخدام الأمر المناسب؛
  3. يسمح جدار الحماية بالاتصالات عبر المنفذين 80 و443. في حال إغلاق هذين المنفذين أمام الاتصالات، لن تكون الخدمة متاحة للاتصالات الواردة. لمزيد من التفاصيل حول تشغيل جدار الحماية، ناقشنا ذلك في المقالة حول إعداد جدار الحماية على لينكس.

بعد استيفاء جميع الشروط، يمكنك المتابعة مباشرةً لإصدار الشهادة. سنتناول عملية الحصول على شهادة SSL على خادم Nginx كمثال. أما إذا كنت تستخدم خادم ويب Apache، فالعملية متطابقة تمامًا.

للحصول على الشهادة، يجب عليك إدخال الأمر:

certbot --nginx # for Nginx
certbot --apache # for Apache

ردًا على ذلك، ستطلب الأداة: عنوان بريد إلكتروني، والموافقة على شروط استخدام خدمة Let's Encrypt، والإذن بإرسال رسائل بريد إلكتروني نيابة عن الخدمة وشركائها.

الحصول على شهادة SSL لـ Nginx و Apache

بعد ذلك، ستحتاج إلى تحديد اسم النطاق الذي صدرت الشهادة لأجله. يستطيع Certbot تحديد النطاق تلقائيًا إذا تم تحديده في حقل server_name لإعدادات Nginx ، أو في حقلي ServerName و ServerAlias ​​لإعدادات Apache . في حال عدم تحديده، سيُعلمك البرنامج بذلك ويطلب منك إدخال اسم النطاق يدويًا. ثم سيسألك البرنامج عما إذا كنت ترغب في تفعيل إعادة توجيه الطلبات من بروتوكول HTTP إلى بروتوكول HTTPS. لإعداد إعادة التوجيه التلقائي، اختر الخيار الثاني.

إعادة توجيه الطلبات من HTTP إلى HTTPS

بعد فترة، سيُعلمك Certbot بنجاح الحصول على الشهادة للنطاق المحدد. من هذه النقطة، سيتم إعادة توجيه جميع الاتصالات الواردة من المنفذ 80 إلى المنفذ 443. ستعرض الأداة المجلدات التي يمكنك العثور فيها على جميع بيانات الشهادة وتفاصيل حساب Let's Encrypt.

إصدار شهادة Certbot بنجاح

ستحدد الرسالة أيضًا مدة صلاحية الشهادة التي تم الحصول عليها والخيارات المهمة لإدارة جميع الشهادات النشطة:

  1. بالتأكيديُستخدم هذا الخيار للحصول على الشهادة أو تحديثها دون الحاجة إلى تهيئة خادم الويب تلقائيًا. سيطلب Certbot الشهادة أو يُحدّثها فقط، ولكنه لن يُجري أي تغييرات تلقائية على تهيئة الخادم. في السابق، كنا نستخدم هذا الخيار للحصول على شهادة دون الحاجة إلى الارتباط بخادم الويب.
  2. تجديد يُستخدم هذا البرنامج للتجديد التلقائي لجميع الشهادات التي تم الحصول عليها عبر Certbot والتي انتهت صلاحيتها. سيتحقق البرنامج من جميع الشهادات، وإذا انتهت صلاحية أي منها خلال 30 يومًا أو أقل، فسيتم تجديدها تلقائيًا.

في التعليمات التالية، سنناقش كيفية إعداد التجديد التلقائي للشهادات دون تدخل المستخدم كل ثلاثة أشهر.

تجديد الشهادة تلقائيًا في Certbot

لـ Debian/Ubuntu

عند استخدام أنظمة التشغيل هذه، يُضيف Certbot تلقائيًا نصًا برمجيًا إلى قائمة المهام للتجديد التلقائي للشهادات المُثبّتة. يمكنك التحقق من وظائف النص البرمجي باستخدام الأمر التالي:

systemctl status certbot.timer
التحقق من حالة خدمة certbot.timer

ستعرض الاستجابة حالة الخدمة، بالإضافة إلى المجلد الذي يحتوي على ملف الإعدادات. يمكنك فتحه باستخدام أي محرر نصوص. إذا لم تكن لديك خبرة في استخدام محررات النصوص في لينكس، فننصحك بالاطلاع على دليلنا لأشهر الحلول. في هذه الحالة، سنستخدم محرر nano.

nano /lib/systemd/system/certbot.timer
عرض تكوين certbot.timer

تم تسليط الضوء على جميع المعلمات المهمة:

  1. يشير الجدول إلى أن الخدمة ستعمل مرتين في اليوم عند الساعة 00:00 و 12:00؛
  2. تشير القيمة الثانية إلى تأخير عشوائي بالثواني يُضاف إلى بداية المؤقت. في هذه الحالة، تبلغ القيمة 43,200 ثانية (12 ساعة)، مما يجعل الإطلاق أكثر عشوائية ويوزع الحمل.
  3. تضمن هذه المعلمة أنه إذا كان من المفترض تنفيذ المؤقت أثناء إيقاف تشغيل النظام، فسيتم تنشيطه فورًا عند بدء التشغيل.

يمكنك أيضًا تشغيل فحص قسري لتجديد الشهادة باستخدام الأمر:

certbot renew --dry-run

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

لـ CentOS وFedora وغيرها

تختلف عملية تفعيل التحديثات التلقائية على أنظمة عائلة Red Hat قليلاً. فعلى عكس Debian/Ubuntu، يتطلب CentOS والأنظمة الأخرى إضافة مهمة إلى جدولة المهام يدويًا. سنستخدم أداة cron لهذا الغرض.

crontab -e

ثم في الملف الذي يفتح، أضف السطر التالي:

0 12 * * * /usr/bin/certbot renew --quiet

دعونا نقوم بتحليل الحجج الرئيسية للأمر:

  1. وقت التنفيذ. في هذه الحالة، سيتم تنفيذ الأمر تلقائيًا الساعة ١٢:٠٠ ظهرًا كل يوم؛
  2. الأمر لتجديد شهادات SSL/TLS باستخدام Certbot؛
  3. استخدم --هادئ يعمل العلم على قمع الإخراج، مما يجعل العملية أكثر إخفاءً وأقل تدخلاً في سجلات النظام أو العرض.

بعد إضافة الأمر، يجب عليك حفظ التغييرات في الملف.

تمامًا كما هو الحال مع Debian/Ubuntu، يمكنك أيضًا بدء فحص قسري لتجديدات الشهادات:

certbot renew --dry-run

تبدو نتيجة التنفيذ الناجح للأمر كما يلي:

نتيجة فحص ناجح لأمر التجديد

خاتمة

لقد استكشفنا العملية الشاملة لتثبيت Certbot وتكوينه على خادم Linux. باتباع التعليمات المُقدمة، يمكنك الحصول على شهادة SSL/TLS بنجاح من Let's Encrypt، وتثبيتها على خادم الويب الخاص بك، وتكوين التجديد التلقائي لضمان الحماية المستمرة وزيادة الثقة في موارد الويب الخاصة بك. مع Certbot، يمكنك بسهولة إنشاء بيئة موثوقة وآمنة للمستخدمين.

❮ المقال السابق مديرو حزم لينكس
المقال التالي ❯ تقليل تحميل الخادم

اسألنا عن VPS

نحن على استعداد دائمًا للإجابة على أسئلتك في أي وقت من النهار أو الليل.