كيفية تثبيت خادم LEMP على CentOS 8

LEMP هو مجموعة برامج تتكون من مجموعة من الأدوات المجانية ومفتوحة المصدر تُستخدم لتشغيل مواقع الويب الديناميكية وذات الحركة المرورية العالية. LEMP هو اختصار لـ Linux، Nginx (التي تُنطق إنجين إكسMariaDB / MySQL و PHP.

Nginx هو خادم ويب مفتوح المصدر، قوي وذو أداء عالي يمكن استخدامه أيضًا كخادم وكذلك بروكسي عكسي. MariaDB هو نظام قواعد البيانات المستخدم لتخزين بيانات المستخدم و PHP هو لغة برمجة على الخادم تُستخدم لتطوير ودعم الصفحات الويب الديناميكية.

مقال ذو صلة: كيفية تثبيت خادم LAMP على CentOS 8

في هذا المقال، ستتعلم كيفية تثبيت خادم LEMP على توزيعة Linux CentOS 8.

الخطوة 1: تحديث حزم البرامج على CentOS 8

للبدء، قم بتحديث مستودع وحزم البرامج على نظام تشغيل Linux CentOS 8 باستخدام الأمر التالي dnf.

$ sudo dnf update
Update CentOS 8 Packages

الخطوة 2: تثبيت خادم Nginx على CentOS 8

بعد اكتمال تحديث الحزم، قم بتثبيت Nginx باستخدام الأمر البسيط.

$ sudo dnf install nginx
Install Nginx on CentOS 8

تُظهر المقتطفات أن تثبيت Nginx تم بنجاح دون أي مشاكل.

Nginx Installation on CentOS 8

عند اكتمال التثبيت، قم بتكوين Nginx للبدء عند تشغيل النظام وتحقق من تشغيل Nginx عن طريق تنفيذ الأوامر.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
Verify Nginx Service Status

للتحقق من الإصدار المثبت لـ Nginx، قم بتشغيل الأمر.

$ nginx -v
Check Nginx Version

إذا كنت فضوليًا وترغب في الحصول على مزيد من المعلومات حول Nginx، قم بتنفيذ الأمر التالي باستخدام أمر rpm.

$ rpm -qi nginx 
Check Nginx Info

للتأكد من تشغيل خادم Nginx الخاص بك باستخدام متصفح الويب، قم ببساطة بكتابة عنوان IP الخاص بنظامك في شريط عنوان URL واضغط على ENTER.

http://server-IP

يجب أن ترى صفحة ويب ” مرحبًا بك في Nginx ” مؤشرًا على أن خادم الويب Nginx الخاص بك قيد التشغيل ويعمل.

Check Nginx Web Page

الخطوة 3: تثبيت MariaDB على CentOS 8

MariaDB هو فرع مجاني ومفتوح المصدر من MySQL ويشحن بأحدث الميزات التي تجعله بديلاً أفضل لـ MySQL. لتثبيت MariaDB، قم بتشغيل الأمر.

$ sudo dnf install mariadb-server mariadb
Install MariaDB in CentOS 8

لتمكين MariaDB للبدء تلقائيًا عند التمهيد، قم بتشغيل.

$ sudo systemctl enable mariadb

لبدء خادم MariaDB، قم بتشغيل الأمر.

$ sudo systemctl start mariadb

بعد تثبيته، استخدم الأمر أدناه للتحقق من حالته.

$ sudo systemctl status mariadb
Verify MariaDB Service Status

محرك قاعدة بيانات MariaDB غير آمن ويمكن لأي شخص تسجيل الدخول بدون بيانات اعتماد. لتقوية MariaDB وتأمينها لتقليل فرص الوصول غير المصرح به، قم بتشغيل الأمر.

$ sudo mysql_secure_installation

ما يلي هو سلسلة من التعليمات. تتطلب الخطوة الأولى تعيين كلمة مرور الجذر. اضغط ENTER واكتب Y للإشارة إلى نعم لتحديد كلمة مرور الجذر.

Secure MariaDB Server

بعد تعيين كلمة المرور، قم بالإجابة على الأسئلة المتبقية لإزالة المستخدم المجهول، وإزالة قاعدة البيانات التجريبية، وتعطيل تسجيل الدخول الجذر عن بعد.

Secure MariaDB Installation Summary

بمجرد الانتهاء من جميع الخطوات، يمكنك تسجيل الدخول إلى خادم MariaDB وفحص معلومات إصدار خادم MariaDB (قم بتقديم كلمة المرور التي حددتها عند تأمين الخادم).

$ mysql -u root -p
Check MariaDB Version

الخطوة 4: تثبيت PHP 7 على CentOS 8

وأخيرًا، سنقوم بتثبيت آخر مكون من مكونات الشبكة LEMP وهو PHP، وهو لغة برمجة نصية شائعة تستخدم عادة لتطوير صفحات الويب الديناميكية.

في وقت كتابة هذا الدليل، الإصدار الأحدث هو PHP 7.4. سنقوم بتثبيت ذلك باستخدام مستودع Remi. مستودع Remi هو مستودع مجاني يأتي مع أحدث الإصدارات المتطورة التي لا تتوفر افتراضيًا على CentOS.

قم بتشغيل الأمر أدناه لتثبيت مستودع EPEL.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

بعد ذلك، قم بتثبيت yum-utils وتمكين remi-repository باستخدام الأمر أدناه.

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

بعد ذلك، ابحث عن الوحدات النمطية PHP المتاحة التي يمكن تثبيتها.

$ sudo dnf module list php

كما يظهر، سيتم عرض الوحدات البرمجية لـ PHP المتاحة، وتيار المعلومات وملفات التثبيت. من الناتج أدناه، يمكننا أن نرى أن الإصدار المثبت حاليًا هو PHP 7.2 المشار إليه بحرف d محاط بأقواس مربعة.

List PHP Module in CentOS 8

من الناتج، يمكننا أيضًا أن نرى أن أحدث وحدة PHP هي PHP 7.4 التي سنقوم بتثبيتها. ولكن أولاً، نحتاج إلى إعادة تعيين وحدات PHP. لذا قم بتشغيل الأمر.

$ sudo dnf module reset php
Reset PHP Module in CentOS 8

بعد ذلك، قم بتمكين الوحدة PHP 7.4 عن طريق التشغيل.

$ sudo dnf module enable php:remi-7.4
Enable PHP Module in CentOS 8

بعد تمكين وحدة PHP 7.4، قم بتثبيت PHP، PHP-FPM (مدير عمليات FastCGI) والوحدات البرمجية PHP المرتبطة باستخدام الأمر.

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

الآن، تحقق من الإصدار المثبت.

$ php -v 
Check PHP Version in CentOS 8

بعد ذلك، قم بتمكين وبدء php-fpm.

$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm

للتحقق من حالته، قم بتنفيذ الأمر.

$ sudo systemctl status php-fpm
Check PHP-FPM Status

شيء آخر هو أنه بشكل افتراضي، PHP-FPM مضبوط ليعمل كمستخدم Apache. ولكن بما أننا نستخدم خادم ويب Nginx، نحتاج إلى تغيير هذا ليصبح مستخدم Nginx.

لذا افتح الملف /etc/php-fpm.d/www.conf.

$ vi /etc/php-fpm.d/www.conf

ابحث عن هاتين السطرين.

user = apache
group = apache

الآن قم بتغيير قيمتيهما إلى Nginx.

user = nginx
group = nginx
Configure PHP-FPM

احفظ واخرج من ملف التكوين.

ثم أعد تشغيل Nginx و PHP-FPM لتنفيذ التغييرات.

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

الخطوة 5: اختبار معلومات PHP.

بشكل افتراضي، مجلد الدليل على الويب لـ نجنكس يقع في المسار /usr/share/nginx/html/. لاختبار في بي إف بي-إف إم، سنقوم بإنشاء ملف PHP info.php ولصق الأسطر أدناه.

<?php
 phpinfo();
?>

احفظ وأغلق الملف.

افتح متصفحك، وفي شريط عنوان URL، اكتب عنوان IP الخاص بخادم الويب الخاص بك كما هو موضح.

http://server-ip-address/info.php
Check PHP-FPM Info

إذا كان كل شيء على ما يرام، ستظهر لك معلومات حول إصدار PHP الذي تعمل به وسيتم عرض مقاييس أخرى.

وهذا هو كل شيء، أصدقائي! لقد قمت بتثبيت مجموعة خوادم LEMP بنجاح على CentOS 8. كإجراء احترازي للأمان، قد ترغب في إزالة ملف info.php لمنع المتسللين من الحصول على المعلومات من خادم Nginx الخاص بك.

Source:
https://www.tecmint.com/install-lemp-on-centos-8/