كيفية تثبيت LEMP Stack مع PhpMyAdmin في Ubuntu 20.04

لمن لا يعرف ما هو 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 الخاص بنا.

المتطلبات:

  1. دليل تثبيت أوبونتو 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
Install Nginx on Ubuntu 20.04

تُخزن ملفات تكوين 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
Check Nginx Service Status

3. الآن حان الوقت للتحقق مما إذا كانت عملية تثبيت Nginx ناجحة عن طريق استدعاء صفحة Nginx عبر المتصفح باستخدام عنوان IP الخادم.

http://SERVER_IP

إذا كنت لا تعرف عنوان IP الخادم الخاص بك، يمكنك العثور عليه باستخدام أمر IP كما هو موضح.

$ ip addr show

يجب أن تحمَّل صفحة الويب الافتراضية لـ NGINX كما هو موضح في لقطة الشاشة التالية، مما يؤكد عملية التثبيت والتشغيل الصحيحة.

Test Nginx Installation

الخطوة 2: تثبيت قاعدة بيانات MariaDB على Ubuntu 20.04

4. MariaDB هو نظام إدارة قواعد بيانات ذو علاقة نسبياً جديد تم تصميمه كشعبة مجتمعية من MySQL بعد استحواذها من قِبل Oracle.

تثبيت MariaDB بسيط ويمكن البدء فيه بالأمر التالي:

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. يتم بدء خدمة MariaDB تلقائيًا وتمكينها للتشغيل دائمًا عند بدء التشغيل، ويمكنك تأكيد ذلك باستخدام الأوامر التالية.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. إذا كنت ترغب في تعزيز أمان MariaDB، يمكنك تشغيل الأمر mysql_secure_installation، الذي سيوفر بعض الخيارات الأساسية والمهمة لتكوين:

$ sudo mysql_secure_installation

ثم اختر الخيار لتعيين كلمة مرور مستخدم جذر قاعدة البيانات (أو المسؤول) واتبع التعليمات واقرأ الأسئلة بعناية. لتأمين خادم قاعدة البيانات الخاص بك، قم بالإجابة على الأسئلة كما هو موضح في الشاشة.

  • أدخل كلمة مرور الجذر الحالية (اضغط Enter إذا لم يكن هناك): أدخل
  • هل ترغب في تعيين كلمة مرور للجذر؟ [ن/ي] y
  • هل ترغب في إزالة المستخدمين المجهولين؟ [ن/ي] y
  • هل ترغب في منع تسجيل الدخول للجذر عن بُعد؟ [ن/ي] y
  • هل ترغب في إزالة قاعدة البيانات الاختبارية والوصول إليها؟ [ن/ي] y
  • هل ترغب في إعادة تحميل جداول الامتياز الآن؟ [ن/ي] y
Secure MariaDB Server

7. لإنشاء وإدارة وتنفيذ عمليات قاعدة البيانات، تحتاج إلى استخدام الأمر الشل mysql مع علم الخيار -u لتحديد اسم مستخدم قاعدة البيانات و -p لتوفير كلمة مرور المستخدم.

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

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

الخطوة 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
Install PHP and PHP-FPM on Ubuntu 20.04

نظرًا لأن 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
Check PHP-FPM Status

الخطوة 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 
Configure PHP-FPM Socket

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

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

احفظ الملف واخرج.

١٢. ثم اختبر صحة بناء جملة تكوين NGINX. إذا كانت سليمة، أعد تشغيل خدمة Nginx لتطبيق التغييرات الجديدة.

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

١٣. الآن اختبر ما إذا كان NGINX يمكنه العمل بالتزامن مع PHP-FPM لمعالجة طلبات PHP. قم بإنشاء صفحة info.php بسيطة تحت دليل جذر المستندات.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

١٤. في متصفحك، انتقل باستخدام العنوان التالي. يجب أن تحمل صفحة التكوين PHP كما هو موضح في لقطة الشاشة التالية.

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

الخطوة ٥: تثبيت PhpMyAdmin في أوبونتو ٢٠.٠٤

١٥. PhpMyAdmin هو تطبيق PHP مجاني ومفتوح المصدر مبني على الويب وتم إنشاؤه خصيصًا لإدارة خوادم قواعد البيانات MySQL/MariaDB من خلال متصفح الويب. يوفر واجهة رسومية بديهية ويدعم مجموعة واسعة من الميزات الشائعة لمهام إدارة قواعد البيانات.

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

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

Choose Web Server to Configure PHPMyAdmin

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

Configure Database for PhpMyAdmin

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

Create a Password for PhpMyAdmin

الخطوة 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 كما هو موضح في لقطة الشاشة التالية.

Configure Nginx Index Directive

21. بعد ذلك، أعد تشغيل خدمة Nginx مرة أخرى لتطبيق التغييرات أعلاه.

$ sudo systemctl restart nginx

22. الآن، ادخل إلى موقع PhpMyAdmin من المتصفح باستخدام العنوان التالي.

http://SERVER_IP/phpmyadmin

عند صفحة تسجيل الدخول، قم بالمصادقة باستخدام اسم المستخدم وكلمة المرور لـ PHPMyAdmin. تذكر أن تسجيل دخول المستخدم الجذر عن بُعد معطل ما لم تكن تستخدم PHPMyAdmin على الخادم المحلي حيث يتم تثبيت قاعدة بيانات MariaDB، فلن يعمل الوصول الجذر.

PhpMyAdmin Login
PhpMyAdmin Dashboard

تأمين تثبيت PhpMyAdmin الخاص بك باستخدام دليلنا: 4 نصائح مفيدة لتأمين واجهة ويب PhpMyAdmin.

الختام

تم الآن استكمال إعدادك لـ LEMP ويمكنك بدء بناء تطبيقات الويب الخاصة بك أو ببساطة اللعب مع خدمات Nginx و MariaDB التي قمت للتو بتثبيتها. يُنصح بشدة لمسؤولي النظام بالحصول على المزيد من المعرفة في هذه التقنيات لأنها تستخدم على نطاق واسع وتكتسب مزيدًا من الشهرة.

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/