سنشرح في هذه المقالة بالتفصيل عملية تثبيت حزمة LAMP على خادم يعمل بنظام التشغيل CentOS Stream. ستتعلم كيفية تهيئة كل مكون خطوة بخطوة والتحقق من وظائف الحزمة المثبتة. أما بالنسبة لمستخدمي توزيعات Debian/Ubuntu، فسنشرح عملية تثبيت LAMP مشابهة في مقالة أخرى لدينا.
تتكون حزمة LAMP من مجموعة من البرامج، تشمل نظام التشغيل Linux، وخادم الويب Apache، ونظام إدارة قواعد البيانات MySQL أو MariaDB، ولغة البرمجة PHP. تعمل هذه المكونات معًا لإنشاء منصة قوية ومرنة لنشر تطبيقات الويب ومواقع الويب.
إعداد الخادم
قبل البدء في التثبيت، يجب اتخاذ سلسلة من الخطوات التحضيرية.
التبديل إلى المستخدم الفائق
أولاً، عليك الحصول على صلاحيات المستخدم الجذر (الجذر)، لأن معظم الأوامر اللازمة لإعداد الخادم تتطلب صلاحيات مرتفعة. أدخل الأمر التالي للانتقال إلى المستخدم الجذر:
su -
تحديث النظام
بعد ذلك، يُنصح بتحديث جميع الحزم المُثبّتة إلى أحدث الإصدارات. للتحديث، شغّل الأمر:
dnf update -y
تكوين جدار الحماية
لضمان أمان خادمك، عليك تهيئة قواعد الوصول. يستخدم CentOS Stream نظام firewalld افتراضيًا كنظام لإدارة القواعد. تأكد من تثبيت firewalld وتشغيله:
systemctl status firewalld
بعد ذلك، افتح المنافذ التي سيتم استخدامها بواسطة مجموعة LAMP:
- HTTP (المنفذ 80) للوصول إلى موقع الويب؛
- HTTPS (المنفذ 443) للوصول الآمن إلى موقع الويب؛
- MySQL (المنفذ 3306) للوصول إلى قاعدة البيانات (إذا كان الاتصال عن بعد مطلوبًا).
استخدم الأوامر التالية لفتح هذه المنافذ:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
أضف أيضًا قاعدة لاتصال SSH:
firewall-cmd --permanent --add-port=22/tcp
بعد إضافة جميع القواعد الضرورية، أعد تحميل إعدادات جدار الحماية:
firewall-cmd --reload
تأكد من أن جدار الحماية يعمل بشكل صحيح. نفّذ الأمر التالي لعرض جميع القواعد:
firewall-cmd --list-all
تثبيت أباتشي
لتثبيت Apache، استخدم مدير الحزم DNF. إذا كنت تحتاج فقط إلى الإصدار الأساسي من Apache، فاستخدم الأمر التالي:
dnf install httpd -y
بالإضافة إلى التثبيت الأساسي لأباتشي، يمكنك أيضًا إضافة أدوات ووحدات متنوعة لتوسيع وظائف خادم الويب وتعزيز أمانه. صيغة هذا الأمر هي:
dnf install additional_packages –y
لتثبيت الخدمة مع الحزم الإضافية، يبدو الأمر كما يلي:
dnf install httpd additional_packages -y
راجع الوثائق الرسمية للتعرف على الأدوات والوحدات المتاحة.
بعد تثبيت Apache، قم بتشغيله وإضافته إلى بدء التشغيل:
systemctl start httpd
systemctl enable httpd
التحقق من حالة الخدمة باستخدام الأمر:
systemctl status httpd
في هذه المرحلة، يمكنك فتح متصفح ويب وإدخال عنوان IP الخاص بالخادم في شريط العناوين. ستظهر لك صفحة ترحيب Apache، مما يُشير إلى نجاح التثبيت.
يوجد برنامج Apache افتراضيًا على نظام CentOS في الدليل /etc/httpd . ويحتوي هذا الدليل على العديد من الأدلة الفرعية والملفات المستخدمة لتكوين الخادم وإدارته.
يجب وضع ملفات الموقع الإلكتروني، مثل HTML وCSS وJavaScript، في المجلد /var/www/html . ستكون جميع الملفات الموجودة في هذا المجلد متاحة على عنوان موقعك.
تثبيت MySQL
في هذا القسم، سنتناول عملية تثبيت MariaDB وتكوينها على خادم CentOS Stream. MariaDB هي نسخة فرعية من MySQL تحافظ على توافقها مع MySQL، ولكنها تقدم أداءً وميزات مُحسّنة ومجتمع مطورين نشط. لتثبيت الأداة، استخدم الأمر:
dnf install mariadb-server mariadb -y
بعد التثبيت، قم ببدء الخدمة وتمكينها للبدء عند تشغيل النظام:
systemctl start mariadb
systemctl enable mariadb
للتأكد من تشغيل خدمة MariaDB بشكل صحيح، استخدم الأمر التالي:
systemctl status mariadb
توفر MariaDB برنامجًا نصيًا لإعداد الأمان يسمح لك بإزالة الإعدادات الافتراضية غير الآمنة وحماية قاعدة البيانات. شغّله:
sudo mysql_secure_installation
أثناء تنفيذ البرنامج النصي، سيُطلب منك تنفيذ عدة خطوات:
- تعيين كلمة مرور للمستخدم الجذر (إذا لم يتم تعيينها بالفعل)؛
- إزالة المستخدمين المجهولين؛
- عدم السماح بتسجيل الدخول عن بعد كجذر؛
- إزالة قاعدة بيانات الاختبار والوصول إليها؛
- قم بإعادة تحميل جداول الامتيازات لتطبيق التغييرات.
من المستحسن الإجابة بـ (نعم) في جميع المراحل.
بعد إكمال إعداد الأمان الأولي، يمكنك الاتصال بـ MariaDB. للقيام بذلك، شغّل الأمر:
mysql -u root -p
لضمان عمل MariaDB بشكل صحيح، يُنصح بإنشاء قاعدة بيانات تجريبية. نفّذ الأوامر التالية في وحدة تحكم MariaDB:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
ستُنشئ هذه الأوامر قاعدة بيانات جديدة باسم testdb، وجدولاً باسم test_table، وتُضيف سجلاً واحداً. ثم ستعرض محتويات الجدول للتحقق:
للخروج من shell، استخدم الأمر:
exit
تثبيت PHP
بعد تثبيت Apache وMySQL، الخطوة التالية هي تثبيت وتكوين PHP، وهو المسؤول عن معالجة صفحات الويب الديناميكية. وكما هو الحال مع Apache، يمكنك إجراء تثبيت أساسي لـ PHP، بالإضافة إلى إضافة الوحدات الإضافية اللازمة. للتثبيت الأساسي، استخدم الأمر:
dnf install php
مع ذلك، نادرًا ما يتم تثبيت الأداة بهذا الشكل. في أغلب الأحيان، يتم التثبيت فورًا مع وحدات إضافية. لنبدأ بالتثبيت مع بعض الوحدات المهمة:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
راجع الوثائق الرسمية للاطلاع على القائمة الكاملة للوحدات المتاحة. للتحقق من الوحدات المثبتة، استخدم الأمر التالي:
php -m
للتحقق من إصدار PHP المثبت، استخدم الأمر:
php -v
يوجد ملف تهيئة PHP الرئيسي في المسار /etc/php.ini . افتح هذا الملف في محرر نصوص.
vim /etc/php.ini
قم بإجراء التغييرات اللازمة، على سبيل المثال، اضبط المنطقة الزمنية الصحيحة باستخدام توجيه date.timezone، وعدّل أحجام الملفات المرفوعة باستخدام توجيهي upload_max_filesize و post_max_size. إذا لم يسبق لك العمل مع محررات النصوص الطرفية، فقد أعددنا مقالًا لمساعدتك على فهم أساسيات العمل مع محرر vim.
بعد تثبيت الأداة وإجراء أي تغييرات على ملف التكوين، أعد تشغيل خدمة Apache:
systemctl restart httpd
للتحقق من وظائف الموقع، أنشئ برنامجًا نصيًا بسيطًا يعرض معلومات حول إصدار PHP والإعدادات الحالية. أنشئ ملفًا باسم info.php في المجلد الرئيسي لخادم الويب /var/www/html بالمحتوى التالي:
<?php
phpinfo();
?>
افتح متصفح ويب وأدخل عنوان URL للخادم متبوعًا باسم ملف البرنامج النصي للاختبار. على سبيل المثال:
http://your_server_ip/info.php
إذا تم إعداد كل شيء بشكل صحيح، فستشاهد معلومات مفصلة حول إصدار PHP والإعدادات والوحدات النمطية المدعومة والمزيد:
خاتمة
يُعد تثبيت حزمة LAMP على خادم CentOS Stream خطوةً مهمةً لإنشاء خادم ويب موثوق. باتباع التعليمات، ستتعلم كيفية تهيئة Apache وMySQL وPHP، وهي ضرورية لمواقع الويب الديناميكية. تتيح هذه الحزمة إمكانياتٍ عديدة لتطوير الويب، وسيساعدك المزيد من الدراسة والتحسين على تحسين أداء خادمك وموثوقيته.