مقدمة
في هذا البرنامج التعليمي، ستتعلم كيفية تثبيت حزمة LEMP (لينكس، NGINX، قاعدة بيانات MySQL، PHP) على نظام Ubuntu 24.04 LTS. بنهاية هذا البرنامج التعليمي، سيكون لديك خادم حزمة LEMP يعمل بكامل طاقته.
المتطلبات الأساسية
- خادم مع Ubuntu 24.04 LTS
- الوصول إلى المستخدم الجذر أو المستخدم الذي لديه أذونات sudo
- تم تثبيت nano أو محرر النصوص المفضل لديك.
الخطوة 1 – تحديث الخادم
استخدم الأمر التالي لتحديث مستودعات الحزمة للتأكد من تثبيت أحدث إصدار من البرنامج:
sudo apt update
ثم استخدم الأمر التالي لترقية الحزم المثبتة حاليًا:
sudo apt dist-upgrade -yيؤكد العلم -y العملية تلقائيًا، لذلك لا تحتاج إلى كتابة Y للمتابعة.
الخطوة 2 – تثبيت NGINX
NGINX هو خادم الويب الذي سنستخدمه، ويمكننا تثبيته باستخدام الأمر التالي:
sudo apt install nginx -y
الخطوة 3 – تثبيت MySQL
الآن يُمكننا تثبيت خادم MySQL. قاعدة البيانات التي سنستخدمها هي MySQL، ويمكننا تثبيتها باستخدام الأمر التالي:
sudo apt install mysql-server -y
الخطوة 4 – تأمين MySQL
قم بتأمين خادم MySQL المثبت حديثًا باستخدام الأمر التالي:
sudo mysql_secure_installation
سيطلب منك MySQL تأكيد كلمة المرور:
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:يمكنك الضغط على Y ثم ENTER.
حدّد سياسة التحقق من كلمة المرور. هناك ثلاثة مستويات:
0: الطول المنخفض >= 81: متوسط الطول >= 8، أرقام، أحرف كبيرة وصغيرة، وأحرف خاصة2: الطول القوي >= 8، رقمي، أحرف كبيرة وصغيرة، أحرف خاصة وملف القاموس
اختر الرقم المناسب، ثم اضغط على زر الإدخال. أنصح باختيار كلمة مرور قوية (الرقم ٢).
سيسألك MySQL إذا كنت تريد إزالة المستخدمين المجهولين:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) :للمتابعة، اضغط على Y ثم ENTER.
بعد ذلك، سيسألك MySQL عما إذا كنت تريد منع تسجيل الدخول الجذر عن بعد:
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :للمتابعة، اضغط على Y ثم ENTER.
بعد ذلك، سيسألك MySQL إذا كنت تريد حذف قاعدة بيانات الاختبار والوصول إليها:
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :للمتابعة، اضغط على Y ثم ENTER.
الآن، للمرة الأخيرة، سيسألك MySQL إذا كنت تريد إعادة تحميل جداول النتائج:
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :للمتابعة، اضغط على Y ثم ENTER.
تم الانتهاء. لديك الآن خادم MySQL آمن.
الخطوة 5 – تثبيت PHP
يجب أن يحتوي إصدار Ubuntu 24.04 على أحدث إصدار PHP مستقر. يمكنك التحقق من ذلك:
apt list | grep '^php[0-9]*-\(fpm\|mysql\)'
تثبيت PHP:
sudo apt install php8.3-fpm php8.3-mysql -y
php8.3-fpm هو مدير عملية FastCGI الذي يسمح لنا باستخدام PHP على NGINX.
php8.3-mysql هو امتداد يسمح لـ PHP بالتفاعل مع خادم MySQL.
في هذه المرحلة تكون قد انتهيت من تثبيت الحزم.
الخطوة 6 – تكوين NGINX لـ PHP
بشكل افتراضي، لا يتعامل NGINX مع ملفات PHP، لذا نحتاج إلى تحرير ملف التكوين الافتراضي.
استخدم محرر النصوص المفضل لديك لتحرير ملف التكوين الافتراضي، وسأستخدم nano.
sudo nano /etc/nginx/sites-available/default
في هذا الملف، نحتاج إلى التمرير لأسفل قليلاً، داخل كتلة الخادم، بعد الموقع/التوجيه، نحتاج إلى إضافة ما يلي:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}إذا كان لديك إصدار PHP مختلف مثبتًا، فيمكنك تغييره هنا.
يخبر هذا NGINX بإرسال جميع الملفات ذات امتداد .php إلى مدير عملية FastCGI الذي قمنا بتثبيته سابقًا.
يمكنك أيضًا إضافة index.php إلى القائمة هنا:
index index.html index.htm index.nginx-debian.html index.php;
احفظ الملف ثم اخرج. (CTRL+X,Y, ENTER) لـ nano.
قم بتشغيل الأمر التالي للتحقق من صحة تكوين NGINX:
sudo nginx -t
يجب أن ترى شيئًا كهذا:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulثم أعد تشغيل NGINX باستخدام الأمر التالي:
sudo service nginx restart
الخطوة 7 - التحقق مما إذا كان PHP يعمل أم لا
الآن، لنتحقق من عمل PHP مع NGINX. يمكننا إنشاء نص PHP بسيط بصيغة "Hello, World".
الدليل الجذر الافتراضي لـ NGINX هو /var/www/html.
لنقم بإنشاء ملف hello.php في هذا الدليل:
sudo nano /var/www/html/hello.php
داخل الملف، أضف المحتوى التالي:
<?php
echo 'Hello, World!';احفظ الملف ثم اخرج. (CTRL+X,Y, ENTER) لـ nano.
الآن يمكننا الذهاب إلى http:// في متصفحنا. /hello.php الوصول.
للحصول على عنوان IP العام لخادمك، استخدم الأمر التالي:
hostname -I
إذا لم ينجح ذلك، فحاول استخدام cURL للحصول على عنوان IP العام للخادم:
curl -4 https://ip.hetzner.com
يجب أن ترى هذا:
خاتمة
لقد نجحت في تثبيت حزمة LEMP على نظام Ubuntu 24.04 LTS. يمكنك الآن بدء نشر تطبيقات حزمة LEMP. بالتوفيق!









