Virtualmin لوحة تحكم استضافة مفتوحة المصدر مبنية على Webmin، وتُستخدم على نطاق واسع في خوادم Linux. وهي توفر أدوات قوية لإدارة شهادات SSL. نتناول في هذا الدليل خطوة بخطوة تثبيت SSL وإنشاء CSR وإعداد Let's Encrypt على Virtualmin/Webmin .
1. تثبيت SSL من Virtualmin
الخطوة 1: إنشاء CSR
- سجّل الدخول إلى لوحة Virtualmin (https://sunucu-ip:10000)
- اختر النطاق المعني من القائمة اليسرى
- "Server Configuration" → "SSL Certificate"
- انقر على تبويب "Create Signing Request"
- املأ البيانات:
- Organisation: اسم الشركة
- Organisation Unit: قسم تقنية المعلومات
- City/State/Country: بيانات الموقع الجغرافي
- Email: بريد المسؤول الإلكتروني
- انقر على زر "Create Now"
- سيظهر نص CSR على الشاشة — انسخه
الخطوة 2: رفع شهادة SSL
- في صفحة "SSL Certificate" افتح تبويب "Install Certificate"
- استخدم أحد الخيارين:
- "Paste text below" — الصق محتوى الشهادة
- "Upload certificate file" — ارفع ملف CRT
- أضِف ملف CA Bundle بالطريقة نفسها
- انقر على زر "Install Now"
2. وحدة Let's Encrypt
يوفر Virtualmin دعمًا مدمجًا لـ Let's Encrypt:
- اختر النطاق ثم "Server Configuration" → "SSL Certificate"
- انقر على تبويب "Let's Encrypt"
- انقر على زر "Request Certificate"
- ستُثبَّت الشهادة تلقائيًا ويُضبط Apache/Nginx
التجديد التلقائي
# مهمة cron لتجديد Let's Encrypt في Virtualmin
# تُنشأ تلقائيًا ضمن /etc/cron.d/
# تجديد يدوي
virtualmin generate-letsencrypt-cert --domain example.com --renew
# التجديد لجميع النطاقات
virtualmin generate-letsencrypt-cert --all-domains --renew
3. إعداد SSL لخادم Webmin
لتثبيت SSL على لوحة Webmin نفسها:
- من Webmin افتح قائمة "Webmin" ثم "Webmin Configuration"
- انقر على خيار "SSL Encryption"
- حدِّد ملفات الشهادة:
- Private key file: /etc/webmin/miniserv.pem
- Certificate file: مسار ملف الشهادة
- Additional certificate files: مسار CA Bundle
- انقر على زر "Save"
- أعد تشغيل Webmin
4. إعادة التوجيه إلى HTTPS
- من Virtualmin اختر النطاق ثم "Server Configuration" → "Website Options"
- اضبط خيار "Redirect all requests to SSL site?" على "Yes"
- انقر على زر "Save"
5. الأخطاء الشائعة وحلولها
| الخطأ | الحل |
|---|---|
| تجاوز حد الطلبات (rate limit) في Let's Encrypt | انتظر أسبوعًا أو استخدم خادم staging: --staging |
| وحدة SSL في Apache غير مفعّلة | a2enmod ssl && systemctl restart apache2 |
| المنفذ 443 مستخدم من خدمة أخرى | ss -tlnp | grep 443 — تحقق بهذا الأمر |
| الشهادة والمفتاح (key) غير متطابقين | استخدم المفتاح الذي أُنشئ مع CSR نفسه. للتحقق: openssl x509 -noout -modulus -in cert.crt | md5sum |
الأسئلة الشائعة
هل يُثبَّت SSL تلقائيًا لكل نطاق في Virtualmin؟
إذا فعّلت خيار "Request Let's Encrypt certificate at creation time" في إعدادات Virtualmin، فسيُطلب SSL تلقائيًا لكل نطاق جديد يُضاف.
كيف يُثبَّت SSL على لوحة Webmin نفسها؟
يمكنك إعداد شهادة HTTPS الخاصة باللوحة من قسم Webmin Configuration → SSL Encryption. ويمكنك كذلك الحصول على شهادة تلقائيًا عبر Let's Encrypt.