إعداد السيرفر الكامل: الدليل المرجعي النهائي

من أول boot لبيئة إنتاج كاملة. OS، users، firewall، Nginx، PHP، MySQL، SSL، monitoring — كل شي في دليل واحد.
من سيرفر فارغ إلى بيئة إنتاج كاملة
هذا الدليل يأخذك من سيرفر Linux جديد تماماً إلى بيئة إنتاج مؤمّنة وجاهزة لاستقبال الزوار. كل خطوة مشروحة بالأوامر الفعلية. الدليل يفترض أنك تستخدم Ubuntu 24.04 LTS على سيرفر VPS.
وقت التنفيذ المتوقع: 45-60 دقيقة لمن لديه خبرة أساسية، و2-3 ساعات للمبتدئين.
المرحلة 1: تأمين الوصول
تحديث النظام فوراً
أول أمر تنفذه على أي سيرفر جديد:
apt update && apt upgrade -y
إنشاء مستخدم غير root
لا تعمل بصلاحيات root مباشرة. أنشئ مستخدماً عادياً:
adduser deploy
usermod -aG sudo deploy
إعداد مفاتيح SSH
على جهازك المحلي، أنشئ مفتاحاً إذا لم يكن موجوداً:
ssh-keygen -t ed25519 -C "your-email@example.com"
انسخ المفتاح للسيرفر:
ssh-copy-id deploy@server-ip
تعطيل الدخول بكلمة المرور
عدّل /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
أعد تشغيل SSH:
sudo systemctl restart sshd
تحذير: تأكد أن مفتاح SSH يعمل قبل تعطيل كلمة المرور. وإلا ستُقفل خارج السيرفر.
المرحلة 2: جدار الحماية
إعداد UFW
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
التحقق
sudo ufw status verbose
يجب أن ترى المنافذ 22 و80 و443 مفتوحة فقط. أي منفذ آخر تحتاجه (مثل 3306 لـ MySQL)، لا تفتحه للعالم بل اجعله محلياً فقط.
المرحلة 3: تثبيت البرمجيات الأساسية
Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
PHP 8.4 (لتطبيقات Laravel)
sudo add-apt-repository ppa:ondrej/php -y
sudo apt install php8.4-fpm php8.4-mysql php8.4-mbstring php8.4-xml php8.4-curl php8.4-zip php8.4-gd php8.4-intl php8.4-redis -y
MySQL 8
sudo apt install mysql-server -y
sudo mysql_secure_installation
أجب بـ "نعم" على جميع أسئلة التأمين: حذف المستخدمين المجهولين، تعطيل الدخول عن بُعد لـ root، حذف قاعدة الاختبار.
Node.js 22 LTS (إذا احتجته)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install nodejs -y
Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
المرحلة 4: إعداد الموقع
بنية المجلدات
sudo mkdir -p /var/www/myapp
sudo chown deploy:www-data /var/www/myapp
sudo chmod 750 /var/www/myapp
إعداد Nginx
أنشئ ملف إعداد في /etc/nginx/sites-available/myapp:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/myapp/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
فعّل الموقع:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
المرحلة 5: SSL مجاني
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
Certbot يعدّل إعداد Nginx تلقائياً ويُضيف التجديد التلقائي. شهادات Let's Encrypt المجانية متوفرة على جميع سيرفرات كلاود (cloud.net.sa).
المرحلة 6: النسخ الاحتياطي
نسخ قاعدة البيانات يومياً
أنشئ سكربت /usr/local/bin/backup-db.sh:
#!/bin/bash
DATE=$(date +%Y-%m-%d)
mysqldump -u root --all-databases | gzip > /backups/db-$DATE.gz
find /backups -name "db-*.gz" -mtime +30 -delete
اجعله قابلاً للتنفيذ وأضفه للجدولة:
chmod +x /usr/local/bin/backup-db.sh
echo "0 2 * * * root /usr/local/bin/backup-db.sh" >> /etc/crontab
نسخ الملفات
استخدم rsync لنسخ ملفات التطبيق إلى موقع خارجي أو خدمة تخزين.
المرحلة 7: المراقبة
مراقبة أساسية بأقل تكلفة
- htop:
sudo apt install htop -y— مراقبة الموارد في الوقت الحقيقي - ncdu:
sudo apt install ncdu -y— تحليل استخدام القرص - fail2ban:
sudo apt install fail2ban -y— حماية من محاولات الاختراق
إعداد Fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
عدّل /etc/fail2ban/jail.local وتأكد من تفعيل:
[sshd]
enabled = true
maxretry = 3
bantime = 3600
المرحلة 8: تحديثات الأمان التلقائية
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
هذا يضمن تثبيت تحديثات الأمان تلقائياً بدون تدخل منك.
قائمة مراجعة ما بعد الإعداد
| البند | الحالة |
|---|---|
| تحديث النظام | مطلوب |
| مستخدم غير root | مطلوب |
| مفاتيح SSH فقط (بدون كلمة مرور) | مطلوب |
| جدار حماية UFW | مطلوب |
| Nginx + PHP + MySQL | حسب الحاجة |
| شهادة SSL | مطلوب |
| نسخ احتياطي يومي | مطلوب |
| Fail2ban | مطلوب |
| تحديثات أمان تلقائية | مطلوب |
| مراقبة الموارد | موصى به |
هذا الدليل يُغطي 90% مما تحتاجه لإعداد سيرفر إنتاج آمن. على سيرفرات كلاود (cloud.net.sa)، يمكنك البدء بباقة نمو (2 vCPU، 4 جيجا رام، أسعار تنافسية — الأسعار والباقات) وتنفيذ هذه الخطوات خلال ساعة واحدة. التفعيل فوري بعد الدفع، وزمن الاستجابة 8ms من الرياض.
السيرفر المُعد جيداً من البداية يوفر عليك ساعات من استكشاف المشاكل لاحقاً. استثمر الوقت الآن في الإعداد الصحيح.
ابدأ الآن
تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.
