تثبيت Nginx و MySQL و PHP (LEMP) على CentOS 7

تثبيت Nginx و MySQL و PHP (LEMP) على CentOS 7

تقديم

يعد برنامج LEMP مجموعة من البرامج مفتوحة المصدر يتم تثبيتها عادةً في ان واحد لتمكين مواقع الويب الديناميكية وتطبيقات الويب الخاصة بالخادم المضيف. هذا المصطلح هو في الواقع اختصار يمثل نظام التشغيل Linux، مع خادم الويب ENginx. يتم تخزين بيانات الموقع في قاعدة بيانات MySQL وتتم معالجة المحتوى الديناميكي بواسطة PHPبي إتش بي.

سنحصل على دليل LEMP هذا مع PHP 7.4 مثبت على خادم CentOS 7، باستخدام MySQL كنظام إدارة قاعدة البيانات.

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

قبل أن تبدأ بهذا الدليل، يجب أن يكون لديك حساب مستخدم منفصل وغير أساسي تم إعداده على الخادم الخاص بك.

الخطوة 1 – تثبيت إنجن إكس

لعرض صفحات الويب لزوار موقعنا، سنستخدم Nginx، خادم ويب عالي الأداء. للحصول على أحدث إصدار من Nginx ، سنقوم أولاً بتثبيت مستودع EPEL، الذي يحتوي على برنامج إضافي لنظام التشغيل CentOS 7.

لإضافة مستودع CentOS 7 EPEL ، قم بتشغيل الأمر التالي:

$ sudo yum install epel-release

لأننا نستخدم الأمر سودو، يتم تنفيذ هذه الأوامر مع امتيازات المستخدم الخارق. وسوف يطالبك بكلمة مرور المستخدم العادية الخاصة بك من أجل التأكد من أن لديك إذن لتشغيل الأوامر مع قدرات المستخدم الخارق. عند مطالبتك بتأكيد التثبيت، اضغط ص للمتابعة.

الآن بعد تثبيت مستودع EPEL على الخادم الخاص بك ، قم بتثبيت Nginx باستخدام الأمر yum التالي:

$ sudo yum install nginx

بمجرد الانتهاء من التثبيت ، ابدأ خدمة Nginx بـ:

$ sudo systemctl start nginx

يمكنك إجراء فحص فوري للتحقق من أن كل شيء يسير وفقًا للخطة عن طريق زيارة عنوان IP العام لخادمك في متصفح الويب الخاص بك

تنقل في متصفح الويب إلى:
http://server_public_IP/

ستظهر لك صفحة CentOS 7 Nginx على الويب الافتراضية ، وهي موجودة لأغراض المعلومات والاختبار. يجب أن يبدو مثل هذا:

يجب أن يبدو مثل هذا:

Nginx Default html on centos - Webhi

إذا رأيت هذه الصفحة، فهذا يعني أن خادم الويب مثبت الآن بشكل صحيح.

لتفعيل بدء Nginx، قم بتشغيل الأمر التالي:

$ sudo systemctl enable nginx

الخطوة 2 – تثبيت ماي إس كيو إل

للحصول على دليل كامل، تابع الخطوات في تثبيت ماي إس كيو إل (MySQL) على ريد هات/فيدورا و سينت أو إس (CentOS/RHEL) 7/6 و (Fedora) 31/30.

الخطوة 3 – تثبيت PHP

PHP هو عنصر من عناصر تكوين لدينا من أن الرمز عملية لعرض محتوى ديناميكي. فإنه يمكن تشغيل البرامج النصية، الاتصال إلى قواعد بيانات MySQL لدينا للحصول على معلومات، والعودة المحتوى معالجتها على خادم الويب الخاص بنا للعرض.

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

لتثبيت مستودع Remi لـ CentOS 7 ، قم بتشغيل:

$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

بمجرد اكتمال عملية التثبيت، يجب تشغيل أمر لتمكين مستودع يحتوي على نسخة المفضل لديك من PHP. للتحقق من توفر إصدارات PHP 7+ في مستودع Remi ، قم بتشغيل:

$ yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64

ستظهر لك النتائج كالاتي:

Output :
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * remi-safe: mirrors.ukfast.co.uk
Available Packages
php70.x86_64            2.0-1.el7.remi                    remi-safe
php71.x86_64            2.0-1.el7.remi                    remi-safe
php72.x86_64            2.0-1.el7.remi                    remi-safe
php73.x86_64            2.0-1.el7.remi                    remi-safe
php74.x86_64            1.0-3.el7.remi                    remi-safe
php80.x86_64            1.0-3.el7.remi                    remi-safe

في هذا الدليل، سنقوم بتثبيت PHP 7.4 ،والذي يعد حاليًا أحدث إصدار ثابت من PHP. لتنشيط حزمة Remi الصحيحة للحصول على PHP 7.4 ، قم بتشغيل:

$ sudo yum-config-manager --enable remi-php74

الآن يمكننا الشروع في استخدام يم لتثبيت PHP كالمعتاد. يقوم الأمر التالي تثبيت كافة حزم اللازمة لPHP 7.4 قدم في إنجن إكس والسماح لها للاتصال قاعدة بيانات MySQL على أساس:

$ sudo yum install php php-mysqlnd php-fpm

للتأكد من تواجد اصدار PHP قم بتشغيل:

$ php --version
Output :
PHP 7.4.8 (cli) (built: Jul 9 2020 16:09:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
  with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

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

$ sudo yum install nano

افتح ملف الاعدادات /etc/php-fpm.d/www.conf باستخدام nano أو المحرر الذي تختاره:

$ sudo nano /etc/php-fpm.d/www.conf

الآن ننظر في المبادئ التوجيهية المستخدمين والمجموعات. إذا كنت تستخدم nano، يمكنك الضغط على CTRL + W للبحث عن هذه المصطلحات داخل الملف المفتوح.

Output :
…
user = apache
group = apache

ستلاحظ أن المستخدم ومتغيرات المجموعة مضبوطة على اباتشي. علينا تغييرها إلى nginx:

Output :
…
user = nginx
group = nginx

سوف يمر php-fpm على مضيف معين والمنفذ على TCP. نريد تغيير هذا الاعداد، بحيث تستمع إلى ملف محلي ، حيث يعمل ذلك على تحسين الأداء العام للخادم.

أخيرًا، نحتاج إلى تغيير إعدادات المالك والمجموعة لملف المقبس الذي حددناه للتو في توجيه الاستماع. ابحث عن توجيهات Listen.owner و Listen.group و Listen.mode. يتم التعليق على هذه السطور بشكل افتراضي. أزلهم عن طريق حذف السابقة ؛ التوقيع في بداية السطر. ثم قم بتغيير مالك ومجموعة nginx:

قم بتغيير الخط الذي يحتوي على توجيه إلى:

listen = /var/run/php-fpm/php-fpm.sock;
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

عندما تنتهي من التحرير، احفظ المِلَفّ وخرجه.

قم بتشغيل الأمر التالي لتمكين وبدء خدمة php-fpm:

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

الخطوة 4 – إعداد Nginx لخدمة صفحات PHP

الآن لدينا جميع المكونات الضرورية مثبتة. التغيير الوحيد في التكوين الذي ما زلنا بحاجة إلى إجرائه هو إخبار Nginx باستخدام معالج PHP للمحتوى الديناميكي.

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

إنشاء ملف جديد في /etc/nginx/conf.d مجلد:

$ sudo nano /etc/nginx/conf.d/default.conf

قم بنسخ بلوك تعريف خادم PHP أدناه إلى ملف التكوين الخاص بك، وتذكر تغيير توجيه server_name باستخدام اسم نطاق الخادم الخاص بك أو عنوان IP:

server {
    listen       80;
    server_name  server_public_IP;
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    
    location = /50x.html {
        root /usr/share/nginx/html;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

عندما تنتهي من التحرير، احفظ الملف وخرجه.

أخيرًا، أعد تشغيل Nginx لتطبيق التغييرات:

$ sudo systemctl restart nginx

الخطوة 5 – تشغيل PHP على Nginx.

سنقوم الآن بإنشاء صفحة اختبار PHP للتأكد من أن خادم الويب يعمل بشكل صحيح.في /usr/share/nginx/html الدليل، إنشاء ملف PHP جديد اسمه info.php:

$ nano /usr/share/nginx/html/info.php
<?php
phpinfo();

عندما تنتهي، احفظ الملف وخرجه.

الآن دعونا نصل إلى ملف المعلومات في:

http://server_public_IP/info.php

ملف معلومات Php إنجن إكس-  apache mariadb mysql nginx

LEAVE A COMMENT