انتقل إلى المحتوى

الدرس 2 من 3

تثبيت بيئة تشغيل المواقع

دقيقة واحدة

يحتاج موقع PHP المعتاد إلى خادم ويب وPHP وقاعدة بيانات. وهذا إعداد نظيف باستخدام Nginx وPHP-FPM وMariaDB.

ثبّت الحزم

sudo apt install nginx php-fpm php-mysql mariadb-server
sudo mysql_secure_installation

أنشئ قاعدة البيانات

sudo mysql
CREATE DATABASE shop;
CREATE USER 'shop'@'localhost' IDENTIFIED BY 'a-long-random-password';
GRANT ALL ON shop.* TO 'shop'@'localhost';

خصّص لكل موقع مستخدم قاعدة بيانات مستقلًا، ولا تربط التطبيق بحساب root أبدًا.

اضبط Nginx

أنشئ الملف /etc/nginx/sites-available/shop:

server {
    server_name shop.yourcompany.com;
    root /var/www/shop;
    index index.php;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

فعّله، ثم اختبره وأعد التحميل:

sudo ln -s /etc/nginx/sites-available/shop /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

أضف HTTPS

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d shop.yourcompany.com

نفّذ دائمًا nginx -t قبل إعادة التحميل، فخطأ في إعدادات موقع واحد قد يوقف كل المواقع على الخادم.