كيفية استضافة موقع على خادم VPS (Nginx/Apache + PHP + SSL)

القراءة المقدرة:2دقائق

Summary: يرشدك هذا الدليل إلى استضافة موقع على خادم VeerHost VPS من الصفر — تثبيت خادم ويب (Nginx أو Apache) وPHP وإنشاء مضيف افتراضي ورفع ملفاتك وتأمينه بشهادة

يرشدك هذا الدليل إلى استضافة موقع على خادم VeerHost VPS من الصفر — تثبيت خادم ويب (Nginx أو Apache) وPHP وإنشاء مضيف افتراضي ورفع ملفاتك وتأمينه بشهادة SSL مجانية من Let’s Encrypt. يعمل على Ubuntu 22.04 وUbuntu 24.04 وDebian.

الخيار أ: Nginx (موصى به لمعظم المواقع)

1. ثبّت Nginx وPHP

apt update
apt install -y nginx php-fpm php-mysql php-cli php-curl php-zip php-mbstring php-xml php-gd

افحص إصدار PHP:

php -v

2. أنشئ دليل الموقع

mkdir -p /var/www/yourdomain.com/html
chown -R www-data:www-data /var/www/yourdomain.com
chmod -R 755 /var/www/yourdomain.com

3. أنشئ مضيفًا افتراضيًا في Nginx

nano /etc/nginx/sites-available/yourdomain.com

الصق هذا التكوين (استبدل yourdomain.com بنطاقك الفعلي وعدّل إصدار PHP عند الحاجة):

server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

ملاحظة: تحقق من إصدار مقبس PHP-FPM: ls /var/run/php/ واستخدم اسم الملف الصحيح (مثلًا php8.1-fpm.sock أو php8.3-fpm.sock).

فعّل الموقع واختبر:

ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

الخيار ب: Apache

1. ثبّت Apache وPHP

apt update
apt install -y apache2 php libapache2-mod-php php-mysql php-curl php-zip php-mbstring php-xml php-gd

2. أنشئ دليل الموقع

mkdir -p /var/www/yourdomain.com/html
chown -R www-data:www-data /var/www/yourdomain.com

3. أنشئ مضيفًا افتراضيًا في Apache

nano /etc/apache2/sites-available/yourdomain.com.conf
<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/yourdomain.com/html

    <Directory /var/www/yourdomain.com/html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
    CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
</VirtualHost>
a2ensite yourdomain.com.conf
a2enmod rewrite
apache2ctl configtest
systemctl reload apache2

ثبّت MySQL (إذا لزم الأمر)

apt install -y mysql-server
mysql_secure_installation

أنشئ قاعدة بيانات ومستخدمًا لموقعك:

mysql -u root -p

CREATE DATABASE mywebsite;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mywebsite.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

ارفع ملفات موقعك

من جهازك المحلي، ارفع الملفات عبر SCP:

scp -r /path/to/local/files root@YOUR_VPS_IP:/var/www/yourdomain.com/html/

أو استخدم عميل FTP مثل FileZilla مع SFTP (المنفذ 22) وبيانات دخول SSH الخاصة بك.

ثبّت شهادة SSL مجانية (Let’s Encrypt)

تأكد من أن DNS لنطاقك يشير بالفعل إلى عنوان IP لخادم VPS قبل تشغيل هذا. ثبّت Certbot:

apt install -y certbot python3-certbot-nginx
# or for Apache:
apt install -y certbot python3-certbot-apache

احصل على الشهادة وثبّتها:

# Nginx:
certbot --nginx -d yourdomain.com -d www.yourdomain.com

# Apache:
certbot --apache -d yourdomain.com -d www.yourdomain.com

سيضبط Certbot تلقائيًا HTTPS ويعدّ التجديد التلقائي. اختبر التجديد:

certbot renew --dry-run

تحقق من أن كل شيء يعمل

أنشئ ملف PHP اختباريًا للتأكد من أن كل شيء يعمل:

echo '<?php phpinfo(); ?>' > /var/www/yourdomain.com/html/info.php

زر http://yourdomain.com/info.php في متصفحك. يجب أن ترى صفحة معلومات PHP. احذفها بعد التأكد:

بمجرد أن يصبح موقعك مباشرًا، قم بـتأمين خادم VPS وإعداد نسخ احتياطية منتظمة.

rm /var/www/yourdomain.com/html/info.php
Launchpad