Home Knowledge base Skyline Cloud كيفية تثبيت حزمة LEMP (Nginx وMySQL وPHP) على أوبونتو 24.04 KNOWLEDGE BASE

كيفية تثبيت حزمة LEMP (Nginx وMySQL وPHP) على أوبونتو 24.04

دليل واضح خطوة بخطوة لتثبيت وتهيئة حزمة LEMP جاهزة للإنتاج — Nginx وMySQL وPHP-FPM — على نظام أوبونتو 24.04 LTS، مع كتلة خادم مُختبَرة وصفحة اختبار PHP.

مقدمة

حزمة LEMP هي مجموعة من البرمجيات مفتوحة المصدر تُستخدَم لتشغيل تطبيقات الويب الديناميكية. والاسم اختصار لكلمات Linux (لينكس) وENginx (وتُنطَق "إنجن إكس") وMySQL وPHP. وهي تُشغِّل شريحة كبيرة من الويب، بما في ذلك مواقع ووردبريس ولارافيل وماجنتو.

في هذا الدرس ستقوم بتثبيت وتهيئة حزمة LEMP كاملة على نظام أوبونتو 24.04 LTS: Nginx بصفته خادم الويب، وMySQL بصفته قاعدة البيانات، وPHP-FPM لمعالجة المحتوى الديناميكي. وفي النهاية ستحصل على كتلة خادم عاملة تقدّم صفحة PHP.

ينطبق هذا الدليل على أي خادم أوبونتو 24.04. وإذا كنت تشغّله على خادم VPS أو خادم سحابي من Skyline Cloud داخل المملكة، فستحصل أيضًا على إقامة البيانات داخل المملكة، والتوافق مع نظام حماية البيانات الشخصية (PDPL) والهيئة الوطنية للأمن السيبراني (NCA)، ودعم محلي باللغة العربية.

المتطلبات الأساسية

قبل أن تبدأ، ينبغي أن يتوفر لديك:

  • خادم أوبونتو 24.04 مع مستخدم غير الجذر (non-root) يملك صلاحيات sudo.
  • جدار حماية أساسي (UFW) — وهو مشروح أدناه.
  • اختياريًا، اسم نطاق موجَّه إلى عنوان IP العام لخادمك عبر سجل A.

إذا لم يكن لديك خادم بعد، يمكنك إنشاء واحد خلال دقائق على Skyline Cloud.

الخطوة 1 — تحديث فهرس الحزم

ابدأ دائمًا بفهرس حزم محدَّث حتى تثبّت أحدث الإصدارات:

sudo apt update
sudo apt upgrade -y

الخطوة 2 — تثبيت Nginx

ثبّت خادم الويب Nginx:

sudo apt install nginx -y

إذا كان جدار الحماية UFW مُفعَّلًا، فاسمح بحركة مرور HTTP وHTTPS. يفتح ملف التعريف Nginx Full المنفذين 80 و443 معًا:

sudo ufw allow 'Nginx Full'
sudo ufw status

تحقق من أن Nginx قيد التشغيل:

systemctl status nginx

افتح http://your_server_ip في المتصفح — ينبغي أن تظهر صفحة الترحيب الافتراضية Welcome to nginx!.

الخطوة 3 — تثبيت MySQL

ثبّت خادم قاعدة بيانات MySQL:

sudo apt install mysql-server -y

يبدأ MySQL تلقائيًا. بعد ذلك، شغّل سكربت الأمان لإزالة الإعدادات الافتراضية غير الآمنة:

sudo mysql_secure_installation

سيُطلَب منك تهيئة مكوّن VALIDATE PASSWORD، وإزالة المستخدمين المجهولين، ومنع تسجيل دخول الجذر عن بُعد، وحذف قاعدة بيانات الاختبار. أجِب بـ Y على خطوات التقوية هذه.

في تثبيت أوبونتو الجديد، يستوثق مستخدم الجذر root في MySQL عبر إضافة auth_socket، لذا تتصل من الطرفية دون كلمة مرور:

sudo mysql

من أفضل الممارسات إنشاء مستخدم مخصَّص للتطبيق بدلًا من استخدام root. من موجِّه أوامر MySQL:

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'a_strong_password';
CREATE DATABASE appdb;
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

الخطوة 4 — تثبيت PHP

على عكس Apache، لا يحتوي Nginx على معالج PHP مدمج. لذا تثبّت PHP-FPM (مدير عمليات FastCGI) وإضافة MySQL:

sudo apt install php-fpm php-mysql -y

يأتي أوبونتو 24.04 مع PHP 8.3 افتراضيًا. أكِّد الإصدار واسم خدمة FPM:

php -v
systemctl status php8.3-fpm

لاحظ مسار المقبس (socket) /run/php/php8.3-fpm.sock — ستشير إليه في إعداد Nginx.

الخطوة 5 — تهيئة Nginx لاستخدام PHP-FPM

أنشئ جذر الويب وكتلة خادم لموقعك. استبدل your_domain بنطاقك أو عنوان IP لخادمك.

sudo mkdir -p /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain

أنشئ ملف كتلة الخادم:

sudo nano /etc/nginx/sites-available/your_domain

أضِف الإعداد التالي:

server {
    listen 80;
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.php index.html index.htm;

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

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

    location ~ /\.ht {
        deny all;
    }
}

فعّل الموقع بربطه داخل sites-enabled، ثم احذف الموقع الافتراضي حتى لا يتعارض:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default

اختبر الإعداد بحثًا عن أخطاء في الصياغة، ثم أعِد التحميل:

sudo nginx -t
sudo systemctl reload nginx

الخطوة 6 — اختبار معالجة PHP

أنشئ ملف PHP للاختبار في جذر الويب:

nano /var/www/your_domain/info.php

أضِف هذا المحتوى:

<?php
phpinfo();

افتح http://your_domain/info.php في متصفحك. ينبغي أن تظهر صفحة مفصّلة بمعلومات PHP، مما يؤكد أن Nginx يمرّر الطلبات بشكل صحيح إلى PHP-FPM.

احذف الملف فورًا بعد ذلك — فهو يكشف تفاصيل الخادم التي قد يستغلها المهاجمون:

sudo rm /var/www/your_domain/info.php

الخطوة 7 — التأمين باستخدام HTTPS (موصى به)

لأي موقع عام ينبغي أن تقدّم حركة المرور عبر HTTPS. إذا كان نطاقك موجَّهًا إلى الخادم، فثبّت Certbot واحصل على شهادة Let's Encrypt مجانية:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain -d www.your_domain

يقوم Certbot بتعديل كتلة الخادم، وتثبيت الشهادة، وإعداد التجديد التلقائي. يمكنك التحقق من مؤقّت التجديد بالأمر systemctl status certbot.timer. وللمواقع التجارية التي تحتاج إلى شهادة مُتحقَّق من المؤسسة (OV) أو شهادة شاملة (wildcard)، اطّلع على خيارات SSL المُدارة من Skyline.

ملخّص الخدمات

المكوّن الحزمة الخدمة المنفذ / المقبس الافتراضي
خادم الويب nginx nginx 80 / 443
قاعدة البيانات mysql-server mysql 3306 (محلي)
معالج PHP php-fpm php8.3-fpm /run/php/php8.3-fpm.sock

الخاتمة

أصبح لديك الآن حزمة LEMP عاملة على أوبونتو 24.04 — Nginx يخدم الطلبات، وPHP-FPM يعالج الشيفرة الديناميكية، وMySQL يخزّن بياناتك، والكل مؤمَّن خلف UFW وHTTPS. من هنا يمكنك نشر ووردبريس، أو تطبيق لارافيل، أو أي مشروع PHP داخل /var/www/your_domain.

وإذا كنت تفضّل ألا تدير نظام التشغيل بنفسك، فإن منصة مُدارة أو استضافة البريد الإلكتروني للأعمال يمكن أن تتولى هذا العمل عنك. ولاستكشاف أحجام خوادم VPS والأسعار ومجموعة المنتجات الأوسع، تفضّل بزيارة مركز خوادم VPS والخوادم السحابية.

مستعد للنشر؟ أطلِق خادمًا سحابيًا داخل المملكة مع Skyline Cloud ولتكن حزمة LEMP لديك جاهزة خلال دقائق.

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.