الاستضافة المشتركة سهلة، لكن خادم VPS يمنحك السرعة وصلاحيات root ويحميك من الجيران المزعجين. يأخذ هذا الدليل خادم Ubuntu 24.04 أو 22.04 جديدًا إلى موقع HTTPS يعمل فعليًا باستخدام Nginx، خلال نحو عشرين دقيقة. يمكن نسخ كل أمر كما هو.
ما تحتاجه
- خادم VPS بـ 1 vCPU وذاكرة 1 GB على الأقل (تكفي خططنا الأساسية لمعظم المواقع الصغيرة).
- اسم نطاق موجّه إلى عنوان IP الخاص بالخادم (راجع دليلنا حول توجيه نطاق إلى VPS).
- وصول SSH بمستخدم يملك صلاحيات sudo. إذا كان الخادم جديدًا تمامًا، فنفّذ أولًا التحصين الأساسي.
1. تثبيت Nginx
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
افتح عنوان IP الخاص بخادمك في المتصفح. يجب أن ترى صفحة الترحيب الافتراضية لـ Nginx. إن لم تظهر، تأكد من أن جدار الحماية يسمح بالمنفذين 80 و443:
sudo ufw allow "Nginx Full"
sudo ufw status
2. إنشاء مجلد الموقع
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html
استبدل example.com باسم نطاقك في كل مكان.
3. إضافة كتلة server
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
فعّلها، ثم اختبر الإعدادات وأعد التحميل:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. إضافة HTTPS مجاني عبر Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
يعدّل Certbot كتلة server لديك، ويعيد توجيه HTTP إلى HTTPS، ويثبّت مؤقتًا (timer) يجدد الشهادة تلقائيًا. تحقق من المؤقت باستخدام systemctl list-timers | grep certbot.
5. جعله أسرع
فعّل الضغط والتخزين المؤقت في المتصفح للملفات الثابتة. أضف هذا داخل كتلة server:
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public";
}
أعد تحميل Nginx بعد ذلك. بالنسبة للمواقع الديناميكية مثل WordPress، ثبّت PHP-FPM ومرّر إليه طلبات .php، أو ضع إضافة تخزين مؤقت أمامه.
مشكلات شائعة
- 403 Forbidden: لا يستطيع Nginx قراءة المجلد. تحقق من الملكية ومن أن كل مجلد أب قابل للتنفيذ (
chmod o+x). - فشل Certbot: النطاق لا يشير إلى الخادم بعد، أو أن المنفذ 80 محجوب.
- ما زالت الصفحة الافتراضية تظهر: احذف
/etc/nginx/sites-enabled/defaultثم أعد التحميل.