لمن لا يعرف ما هو LEMP – هذه مجموعة من حزم البرمجيات – Lينكس، Nجنكس (يُنطق Eنجين إكس)، Mاريا دي بي، و Pإتش بي.
يمكنك استخدام LEMP لأغراض الاختبار أو في بيئة إنتاجية حقيقية لنشر تطبيقات الويب باستخدام إطارات العمل PHP مثل Laravel أو Yii، أو أنظمة إدارة المحتوى مثل WordPress، Drupal، أو Joomla
قد تتساءل ما هي الفارق بين LAMP و LEMP. حسنًا، الفارق الوحيد هو الخادم الويب المضمن – أباتشي (في LAMP) و إنجنكس (في LEMP). كلا الخادمين الويب جيدين للغاية وعلى الرغم من أن أباتشي هو الأكثر استخدامًا، إنجنكس لا يتراجع بأي شكل من الأشكال.
تطبيق آخر يُستخدم على نطاق واسع عادة ما يُثبت جنبًا إلى جنب مع مكدس LEMP هو PhpMyAdmin – وهو أداة ويب PHP لإدارة خادم قواعد البيانات MySQL/MariaDB عبر متصفح الويب.
إذا كنت تبحث عن إعداد LAMP لـ أوبونتو 20.04 الخاص بك، فعليك قراءة دليل إعداد LAMP على أوبونتو 20.04 الخاص بنا.
المتطلبات:
في هذا المقال، ستتعلم كيفية تثبيت وتكوين مجموعة LEMP مع PhpMyAdmin في خادم أوبونتو 20.04.
الخطوة 1: تثبيت Nginx على أوبونتو 20.04
1. Nginx هو خادم ويب حديث سريع مصمم لخدمة العديد من الاتصالات المتزامنة دون استهلاك الكثير من موارد الخادم. لهذا السبب، يُفضل استخدامه في بيئات الشركات.
يُستخدم NGINX أيضًا بشكل شائع كموزع حمل وذاكرة تخزين محتوى ويب. يدعم خوادم الـ NGINX الظاهرة بناءً على الاسم وعنوان IP (مشابه لمضيفين افتراضيين في Apache).
يمكنك تثبيت Nginx على سطح مكتب أو خادم أوبونتو 20.04 الخاص بك عن طريق تشغيل الأمر التالي.
$ sudo apt update $ sudo apt install nginx

تُخزن ملفات تكوين Nginx تحت الدليل /etc/nginx وملف التكوين الرئيسي لها هو /etc/nginx/nginx.conf. ومن الأهمية بمكان، أن الجذر الافتراضي للمستندات الخاص بك لتخزين ملفات الويب هو /usr/share/nginx/html/. ولكن يمكنك استخدام /var/www/html القياسي الذي يجب تكوينه في ملف تكوين كتلة الخادم الخاصة بموقع الويب الخاص بك أو التطبيق.
2. يُشغل مثبت حزم Ubuntu systemd لبدء خدمة Nginx وتمكينها للبدء تلقائيًا في كل مرة يتم فيها إعادة تشغيل الخادم. استخدم أوامر systemctl التالية للتأكد من أن الخدمة قيد التشغيل وتم تمكينها.
$ sudo systemctl status nginx $ sudo systemctl is-enabled nginx

3. الآن حان الوقت للتحقق مما إذا كانت عملية تثبيت Nginx ناجحة عن طريق استدعاء صفحة Nginx عبر المتصفح باستخدام عنوان IP الخادم.
http://SERVER_IP
إذا كنت لا تعرف عنوان IP الخادم الخاص بك، يمكنك العثور عليه باستخدام أمر IP كما هو موضح.
$ ip addr show
يجب أن تحمَّل صفحة الويب الافتراضية لـ NGINX كما هو موضح في لقطة الشاشة التالية، مما يؤكد عملية التثبيت والتشغيل الصحيحة.

الخطوة 2: تثبيت قاعدة بيانات MariaDB على Ubuntu 20.04
4. MariaDB هو نظام إدارة قواعد بيانات ذو علاقة نسبياً جديد تم تصميمه كشعبة مجتمعية من MySQL بعد استحواذها من قِبل Oracle.
تثبيت MariaDB بسيط ويمكن البدء فيه بالأمر التالي:
$ sudo apt install mariadb-server mariadb-client

5. يتم بدء خدمة MariaDB تلقائيًا وتمكينها للتشغيل دائمًا عند بدء التشغيل، ويمكنك تأكيد ذلك باستخدام الأوامر التالية.
$ sudo systemctl status mariadb $ sudo systemctl is-enabled mariadb

6. إذا كنت ترغب في تعزيز أمان MariaDB، يمكنك تشغيل الأمر mysql_secure_installation
، الذي سيوفر بعض الخيارات الأساسية والمهمة لتكوين:
$ sudo mysql_secure_installation
ثم اختر الخيار لتعيين كلمة مرور مستخدم جذر قاعدة البيانات (أو المسؤول) واتبع التعليمات واقرأ الأسئلة بعناية. لتأمين خادم قاعدة البيانات الخاص بك، قم بالإجابة على الأسئلة كما هو موضح في الشاشة.
- أدخل كلمة مرور الجذر الحالية (اضغط Enter إذا لم يكن هناك): أدخل
- هل ترغب في تعيين كلمة مرور للجذر؟ [ن/ي]
y
- هل ترغب في إزالة المستخدمين المجهولين؟ [ن/ي]
y
- هل ترغب في منع تسجيل الدخول للجذر عن بُعد؟ [ن/ي]
y
- هل ترغب في إزالة قاعدة البيانات الاختبارية والوصول إليها؟ [ن/ي]
y
- هل ترغب في إعادة تحميل جداول الامتياز الآن؟ [ن/ي]
y

7. لإنشاء وإدارة وتنفيذ عمليات قاعدة البيانات، تحتاج إلى استخدام الأمر الشل mysql مع علم الخيار -u
لتحديد اسم مستخدم قاعدة البيانات و -p
لتوفير كلمة مرور المستخدم.
للاتصال كمستخدم جذر، استخدم أمر sudo (حتى بدون علم الخيار -p
) وإلا ستتلقى الخطأ المُشار إليه في الشاشة التالية.
$ mysql -u root -p $ sudo mysql -u root

الخطوة 3: تثبيت PHP في Ubuntu 20.04
8. PHP هي لغة برمجة نصية شهيرة مفتوحة المصدر ومرنة وديناميكية لبناء مواقع الويب وتطبيقات الويب. تدعم مجموعة متنوعة من تقنيات البرمجة. ومن المهم أن تكون مجتمع PHP كبيرًا ومتنوعًا، مكونًا من مكتبات وأطر عمل ومكونات أخرى مفيدة لا تُحصى.
NGINX يستخدم FPM (إدارة عمليات FastCGI) أو PHP-FPM لمعالجة النصوص PHP. PHP-FPM هو بديل مستخدم على نطاق واسع لتنفيذ FastCGI لـ PHP يأتي مع العديد من الميزات الإضافية ويُستخدم لتشغيل مواقع/تطبيقات الويب ذات حركة مرور عالية.
لتثبيت PHP و PHP-FPM، قم بتشغيل الأمر التالي الذي سيقوم أيضًا بتثبيت بعض الحزم الإضافية المطلوبة.
$ sudo apt install php php-mysql php-fpm

نظرًا لأن PHP 7.4 هو الإصدار الافتراضي لـ PHP في Ubuntu 20.04، توجد ملفات تكوين PHP في /etc/php/7.4/ وملفات تكوين PHP-FPM تحت /etc/php/7.4/fpm.
9. بعد ذلك، تحقق مما إذا كانت خدمة php7.4-fpm قيد التشغيل وتعمل وما إذا كانت ممكّنة باستخدام الأمر التالي.
$ sudo systemctl status php7.4-fpm $ sudo systemctl is-enabled php7.4-fpm

الخطوة 4: تكوين Nginx للعمل مع PHP-FPM
10. الآن تحتاج إلى تكوين NGINX لإعادة توجيه طلبات العميل إلى PHP-FPM، الذي يتم تكوينه افتراضيًا للاستماع على مقبس UNIX كما هو معرف بواسطة المعلمة الصوتية في ملف التكوين الافتراضي /etc/php/7.4/fpm/pool.d/www.conf.
$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf

١١. في ملف تكوين كتلة الخادم الافتراضية (/etc/nginx/sites-available/default)، قم بإلغاء تعليق توجيه الموقع لمعالجة طلبات PHP حتى تبدو مشابهة لتلك الموضحة في لقطة الشاشة التالية.
$ sudo vi /etc/nginx/sites-available/default

احفظ الملف واخرج.
١٢. ثم اختبر صحة بناء جملة تكوين NGINX. إذا كانت سليمة، أعد تشغيل خدمة Nginx لتطبيق التغييرات الجديدة.
$ sudo nginx -t $ sudo systemctl restart nginx

١٣. الآن اختبر ما إذا كان NGINX يمكنه العمل بالتزامن مع PHP-FPM لمعالجة طلبات PHP. قم بإنشاء صفحة info.php بسيطة تحت دليل جذر المستندات.
$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
١٤. في متصفحك، انتقل باستخدام العنوان التالي. يجب أن تحمل صفحة التكوين PHP كما هو موضح في لقطة الشاشة التالية.
http://SERVER_IP/info.php

الخطوة ٥: تثبيت PhpMyAdmin في أوبونتو ٢٠.٠٤
١٥. PhpMyAdmin هو تطبيق PHP مجاني ومفتوح المصدر مبني على الويب وتم إنشاؤه خصيصًا لإدارة خوادم قواعد البيانات MySQL/MariaDB من خلال متصفح الويب. يوفر واجهة رسومية بديهية ويدعم مجموعة واسعة من الميزات الشائعة لمهام إدارة قواعد البيانات.
$ sudo apt install phpmyadmin

١٦. خلال عملية تثبيت الحزمة، ستُطلب منك تكوين عدة جوانب لحزمة PhpMyAdmin. أولاً، ستطلب منك اختيار خادم الويب الافتراضي لتشغيله. اضغط Esc لأن NGINX غير مدرج في القائمة المقدمة.

17. بعد ذلك، يتطلب PhpMyAdmin قاعدة بيانات للعمل معها. في مربع حوار تكوين هذه الحزمة، اختر نعم
لتكوين قاعدة بيانات لـ PhpMyAdmin باستخدام حزمة dbconfig-common.

18. في المربع الحواري التالي، تحتاج إلى تقديم كلمة مرور لـ PhpMyAdmin للتسجيل في قاعدة بيانات MariaDB. أدخل كلمة مرور آمنة وانقر على Enter.

الخطوة 6: تكوين NGINX لخدمة موقع PhpMyAdmin
19. لتمكين NGINX من خدمة موقع PhpMyAdmin الموجود في /usr/share/phpmyadmin، قم بإنشاء رابط رمزي لهذا الدليل تحت جذر المستند، ثم قم بتعيين الأذونات والملكية الصحيحة على دليل PHPMyAdmin كما يلي.
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin $ sudo chmod 775 -R /usr/share/phpmyadmin/ $ sudo chown root:www-data -R /usr/share/phpmyadmin/
20. بالإضافة إلى ذلك، تأكد من أن التوجيه index في ملف تكوين كتلة الخادم الافتراضي (/etc/nginx/sites-available/default) يتضمن index.php كما هو موضح في لقطة الشاشة التالية.

21. بعد ذلك، أعد تشغيل خدمة Nginx مرة أخرى لتطبيق التغييرات أعلاه.
$ sudo systemctl restart nginx
22. الآن، ادخل إلى موقع PhpMyAdmin من المتصفح باستخدام العنوان التالي.
http://SERVER_IP/phpmyadmin
عند صفحة تسجيل الدخول، قم بالمصادقة باستخدام اسم المستخدم وكلمة المرور لـ PHPMyAdmin. تذكر أن تسجيل دخول المستخدم الجذر عن بُعد معطل ما لم تكن تستخدم PHPMyAdmin على الخادم المحلي حيث يتم تثبيت قاعدة بيانات MariaDB، فلن يعمل الوصول الجذر.


تأمين تثبيت PhpMyAdmin الخاص بك باستخدام دليلنا: 4 نصائح مفيدة لتأمين واجهة ويب PhpMyAdmin.
الختام
تم الآن استكمال إعدادك لـ LEMP ويمكنك بدء بناء تطبيقات الويب الخاصة بك أو ببساطة اللعب مع خدمات Nginx و MariaDB التي قمت للتو بتثبيتها. يُنصح بشدة لمسؤولي النظام بالحصول على المزيد من المعرفة في هذه التقنيات لأنها تستخدم على نطاق واسع وتكتسب مزيدًا من الشهرة.
Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/