A LAMP stack is a collection of four different software (Linux, Apache, MySQL, and PHP) that programmers or web developers use to create and deploy websites or applications.
هذا البرنامج التعليمي سيتركز على كيفية تثبيت وتكوين مجموعة LAMP الشهيرة مع PhpMyAdmin في آخر إصدار من RHEL وتوزيعات RHEL المعتمدة مثل CentOS، Oracle Linux، Rocky، و AlmaLinux.
جدول المحتويات
المتطلبات
اعتمادًا على التوزيع المستخدم، استخدم الروابط التالية لأداء تثبيت النظام الأساسي، باستخدام عنوان IP ثابت لتكوين الشبكة.
- كيفية تنزيل وتثبيت RHEL 9 مجانًا
- كيفية تنزيل وتثبيت RHEL 8 مجانًا
- تثبيت CentOS Stream 9 Linux
- تثبيت CentOS 7 Linux
- كيفية تثبيت Rocky Linux 9 خطوة بخطوة
- كيفية تثبيت AlmaLinux 9 خطوة بخطوة
الخطوة 1: تثبيت خادم الويب Apache
1. بعد الانتهاء من تثبيت نظام بسيط وتكوين واجهة الشبكة لخادمك بعنوان IP ثابت Static IP Address، استمر في تثبيت خدمة أباتشي (httpd) المتاحة من المستودعات الرسمية باستخدام الأمر yum command التالي.
# yum install httpd

2. بعد الانتهاء من تثبيت Apache، استخدم الأوامر التالية لإدارة التابع Apache بما أن RHEL و CentOS نقلوا سابقا سِكربتات init من SysV إلى Systemd – Why was init Replaced with Systemd in Linux?.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. في الخطوة التالية، تأكد من السماح بالوصول إلى أباتشي عن طريق فتح المنافذ 80 و 443 على الحائط الناري باستخدام firewall-cmd، وهو الأمر الافتراضي لإدارة Firewalld عبر التابع.
# firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld
لتطبيق قواعد iptables ثابتة على الحائط الناري باستخدام خيار --permanent
وإعادة التشغيل خدمة الحائط الناري لتأثيرها.
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld

بعض أوامر Firewalld المهمة لإدارة الحماية النارية كما هو مقترح أدناه:
# firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp
4. للتحقق من عملية Apache افتح متصفح آخر على بعد بضعة خطوات واكتب عنوان IP الخاص بخادمك باستخدام HTTP في URL، ويجب أن يظهر صفحة افتراضية كما في الصورة أدناه.
http://server_IP

5. في الوقت الحالي، يتم تعيين مسار DocumentRoot Apache إلى مسار النظام /var/www/html، والذي بشكل افتراضي لا يوفر أي ملف فهرسة. إذا كنت ترغب في رؤية قائمة عناوين مسار DocumentRoot الخاص بك.
افتح ملف تكوين welcome Apache وقم بتعيين البيان Indexes من –
إلى +
على توجيه LocationMatch، باستخدام الصورة أدناه كمثال.
# vi /etc/httpd/conf.d/welcome.conf

6. بعد إجراء التغييرات، أغلق الملف، أعد تشغيل خدمة Apache لتعكس التغييرات، وإعادة التحميل صفحة المتصفح لرؤية النتيجة النهائية.
# systemctl restart httpd

الخطوة 2: تثبيت دعم PHP لـ Apache
7. قبل تثبيت دعم PHP لغة البرمجة الديناميكية لـ Apache، حصل على قائمة كاملة من وحدات PHP المتاحة والامتدادات باستخدام الأمر التالي.
# yum search php

8. حسب نوع التطبيقات التي ترغب في استخدامها، قم بتثبيت الوحدات PHP المطلوبة من القائمة أعلاه، لكن لدعم MySQL/MariaDB الأساسي في PHP وPhpMyAdmin تحتاج لتثبيت الوحدات التالية.
# yum install php php-mysql php-pdo php-gd php-mbstring

9. للحصول على قائمة كاملة بالمعلومات حول PHP من متصفحك، قم بإنشاء ملف info.php في جذر مستندات Apache باستخدام الأمر التالي، ثم قم بإعادة تشغيل خدمة httpd، وحدد متصفحك إلى عنوان http://server_IP/info.php.
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. إذا حصلت على خطأ في تاريخ ووقت PHP، افتح ملف تكوين php.ini، ابحث عن date.timezone، وقم بإلغاء تعليق البيان، ثم أضف موقعك الجغرافي، وأعد تشغيل مشروع أباتشي.
# vi /etc/php.ini
حدد وغير السطر date.timezone ليبدو كما يلي، باستخدام قائمة التوقيتات المدعومة من قبل PHP.
date.timezone = Continent/City

الخطوة 3: تثبيت وتكوين قاعدة بيانات MariaDB
11. قام توزيع RHEL بالانتقال من MySQL إلى MariaDB كنظام إدارة قواعد البيانات الافتراضي له. لتثبيت قاعدة بيانات MariaDB استخدم الأمر التالي.
# yum install mariadb-server mariadb

12. بعد تثبيت حزمة MariaDB، قم بتشغيل ديمون قاعدة البيانات واستخدم النصيحة mysql_secure_installation لتأمين القاعدة (تعيين كلمة مرور رئيسية، تعطيل تسجيل الدخول عن بُعد من المستخدم الجذر، إزالة قاعدة البيانات التجريبية، وإزالة المستخدمين المجهولين).
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb # mysql_secure_installation


13. لاختبار وظائف قاعدة البيانات، قم بتسجيل الدخول إلى MariaDB باستخدام حساب الجذر واخرج باستخدام بيان quit.
mysql -u root -p MariaDB > show databases; MariaDB > quit

الخطوة 4: تثبيت PhpMyAdmin لإدارة MySQL
14. بشكل افتراضي، لا توفر المستودعات الرسمية أي حزمة برنامجية لواجهة الويب PhpMyAdmin. إذا كنت غير مرتاح باستخدام سطر الأوامر MySQL لإدارة قاعدة البيانات الخاصة بك، يمكنك تثبيت حزمة PhpMyAdmin عن طريق تمكين مستودع remi باستخدام الأمر التالي.
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [On CentOS/RHEL 7]
بعد تمكين مستودع remi، قم بتثبيت PhpMyAdmin.
# yum install phpmyadmin

15. قم بتكوين PhpMyAdmin للسماح بالاتصالات من المضيفين عن بُعد من خلال تحرير ملف phpmyadmin.conf الموجود في دليل conf.d لـ Apache، وقم بتعليق الأسطر التالية.
# vi /etc/httpd/conf.d/phpMyAdmin.conf
أضف السطر “Require all granted” تحت السطر “Require local” كما هو موضح.
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require local Require all granted </Directory>

16. لتتمكن من تسجيل الدخول إلى واجهة الويب PhpMyAdmin، قم بإعادة تشغيل خدمة Apache وحول متصفحك إلى عنوان URL.
# systemctl restart httpd http://server_IP/phpmyadmin/

الخطوة 5: تمكين نظام LAMP على نطاق واسع في نظام Linux
17. إذا كنت بحاجة إلى أن تبدأ خدمات MariaDB و Apache تلقائيًا بعد إعادة التشغيل، فقم بإصدار الأوامر التالية لتمكينها على نطاق النظام.
# systemctl enable mariadb # systemctl enable httpd
هذا كل ما يلزم لتثبيت أساسي لـ LAMP على توزيعات تعتمد على RHEL. السلسلة التالية من المقالات المتعلقة بـ LAMP ستناقش كيفية إنشاء مضيفات افتراضية، وتوليد شهادات SSL ومفاتيح، وإضافة دعم للمعاملات SSL لخادم Apache HTTP.