البدء السريع: موقع في 15 دقيقة
من جهاز نظيف إلى موقع nginx يعمل بشهادة HTTPS: التثبيت، ودليل الموقع، والنطاق، والجدار الناري، والتحقق.
آخر تحديث 23 أغسطس 2026
السيناريو: تثبيت جديد لـ Debian أو Ubuntu، ونطاق خاص بك، والهدف رؤية صفحتك عبر HTTPS. تُنفَّذ جميع الأوامر بصلاحيات root عبر SSH.
1. تثبيت nginx
apt update && apt install -y nginx
systemctl enable --now nginx
افتح http://your-address في متصفحك — يجب أن ترى صفحة الترحيب. إذا لم تظهر، فتحقق من الجدار الناري (الخطوة 3).
على AlmaLinux، استخدم dnf بدلًا من apt؛ راجع AlmaLinux.
2. ربط النطاق
في لوحة المسجّل لديك، أضف سجل A بعنوان الجهاز من تبويب “نظرة عامة”:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
تحقق من أن النطاق يُترجَم إلى العنوان الصحيح:
apt install -y dnsutils
dig +short example.com
يستغرق تحديث السجلات من دقيقة إلى عدة ساعات. وطالما أعاد dig العنوان القديم، فلن تتمكن من إصدار شهادة.
3. فتح المنافذ
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
نفّذ
allow OpenSSHأولًا، ثمenable. العكس سيقطع وصولك، وستضطر إلى تسجيل الدخول عبر وحدة التحكم النصية.
4. إنشاء موقع
mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com
الإعداد في /etc/nginx/sites-available/example.com:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
فعّل الإعداد وطبّقه:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t إلزامي: فهو يتحقق من الإعداد قبل إعادة التشغيل. إذا لم ينتهِ الخرج بـ syntax is ok وtest is successful، فلا تعد تشغيل الخدمة — أصلح الخطأ أولًا.
5. إصدار شهادة
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
سيطلب Certbot بريدًا إلكترونيًا، ويضيف كتلة listen 443 ssl، ويضبط إعادة توجيه HTTP. يُضبط التجديد تلقائيًا؛ ويمكنك التحقق منه هكذا:
certbot renew --dry-run
الأخطاء الأكثر شيوعًا
| العَرَض | السبب |
|---|---|
| المتصفح لا يفتح الموقع | المنفذ 80 أو 443 مغلق في ufw |
Certbot: Timeout during connect | النطاق لا يشير إلى الجهاز بعد، أو المنفذ 80 مغلق |
502 Bad Gateway | يوجّه nginx الطلبات إلى تطبيق غير قيد التشغيل — تحقق من systemctl status لخدمتك |
403 Forbidden | لا توجد صلاحيات على المجلد، أو index.html مفقود |
| صفحة nginx الافتراضية بدلًا من صفحتك | لم يُحذف /etc/nginx/sites-enabled/default |
سجلات أي من هذه المشكلات:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
بعد ذلك، ينبغي أن تعتني بالأمان الأساسي باستخدام قائمة التحقق للساعة الأولى إن لم تكن قد مررت بها بعد.