كيفية تثبيت PhpMyAdmin مع Apache في أنظمة RHEL

في هذا المقال، سنرشدك خلال عملية تثبيت الإصدار الأحدث من PhpMyAdmin مع خادم الويب Apache على التوزيعات القائمة على RHEL مثل CentOS Stream، Fedora، Rocky Linux، و Alma Linux.

ما هو PhpMyAdmin؟

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

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

قبل أن نبدأ، تأكد من أن لديك ما يلي:

  • وصول إلى نظام RHEL، CentOS Stream، Fedora، Rocky Linux، أو AlmaLinux.
  • تأكد من أنك قادر على تسجيل الدخول كمستخدم root أو أن لديك أذونات sudo لتثبيت البرامج.
  • حزمة LAMP الموجودة حاليًا، التي تتضمن أباتشي وماياس أو ماريادبي وبيثون. إذا لم يكن لديك LAMP، يمكنك اتباع هذه الخطوات لإعداده.

الخطوة 1: تحديث النظام

قبل تثبيت أي برنامج، من المهم جدًا التأكد من أن نظامك محدث عن طريق تشغيل الأمر dnf.

sudo dnf update
Update Linux System

هذا سيحدث تحديث كافة الحزم على نظامك إلى أحدث الإصدارات.

الخطوة 2: تثبيت ويب سيرفر أباتشي

PhpMyAdmin هو أداة مبوبة على شبكة الإنترنت، ولاستخدامها، تحتاج إلى تثبيت خادم الويب أباتشي باستخدام الأمر التالي.

sudo dnf install httpd
Install Apache in Linux

بمجرد تثبيته، ابدأ خدمة أباتشي وقم بتمكينها للبدء عند تشغيل التشغيل.

sudo systemctl start httpd
sudo systemctl enable httpd

الخطوة 3: تثبيت ماريادبي أو ماياس

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

sudo dnf install mariadb-server
Install MariaDB in Linux

بمجرد تثبيته، ابدأ خدمة ماريادبي وقم بتمكينها للبدء عند تشغيل التشغيل.

sudo systemctl start mariadb
sudo systemctl enable mariadb

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

sudo mysql_secure_installation
Secure MariaDB in Linux

الخطوة 4: تثبيت PHP

PhpMyAdmin مبنية بواسطة PHP، لذا نحتاج إلى تثبيت PHP وبعض الملحقات المطلوبة باستخدام الأمر التالي.

sudo dnf install php php-mysqlnd php-json php-mbstring
Install PHP in Linux

الخطوة 5: تثبيت PhpMyAdmin

الآن، دعونا نتابع بتثبيت PhpMyAdmin على نظامنا اللينكسي بالتنقل إلى دليل جذر موقع الويب للويب /var/www/html كما هو موضح.

cd /var/www/html

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

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

بمجرد تنزيله، قم باستخراج الأرشيف المنزلق وإعادة التسمية للمرونة.

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

قم بإنشاء ملف تكوين لـ PhpMyAdmin.

sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

قم بتحرير ملف التكوين:

sudo nano /var/www/html/phpmyadmin/config.inc.php

ابحث عن السطر التالي وقم بتعيين مفتاح blowfish الخاص بك:

$cfg['blowfish_secret'] = 'your_secret';

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

الخطوة 6: فتح منفذ Apache في firewalld

بشكل افتراضي، أباتشي يستخدم عادةً المنافذ 80 و 443 لـ HTTP و HTTPS على التوالي. لفتح منافذ أباتشي والسماح بالوصول إلى بريمي أدمين على خادمك، اجراء:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

هذه الأوامر تضيف قاعدة للسماح بالمرور الوارد على المنفذ المحدد وإعادة التشغيل الحراسة البريدية لتطبيق التغييرات.

الخطوة 7: إعادة التشغيل الويب أباتشي

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

sudo systemctl restart httpd

الخطوة 8: الوصول إلى بريمي أدمين

يمكنك الآن الوصول إلى بريمي أدمين من خلال متصفح الويب عن طريق التنقل إلى عنوان IP خادمك أو اسم المجال المتبقي بعدها “phpmyadmin” في عنوان URL:

http://your_server_ip/phpmyadmin

تسجيل الدخول باستخدام صلاحيات MySQL أو MariaDB.

PHPMyAdmin Login
PHPMyAdmin Dashboard

الخطوة 9: السماح بالوصول الخارجي في بريمي أدمين

افتح ملف تكوين بريمي أدمين.

sudo vi /etc/httpd/conf/httpd.conf

أوجد قسم <Directory "/var/www/html"> أو القسم الذي يتم فيه تكوين بريمي أدمين الخاص بك وتحديث توجيه Require للسماح بوصول جميع عناوين IP إلى بريمي أدمين.

<Directory "/var/www/html/phpmyadmin">
    ...
    Require all granted
    ...
</Directory>

الإعداد المذكور أعلاه يسمح بالوصول من أي عنوان IP، ولكن إذا كنت ترغب في تقييد الوصول إلى عناوين IP محددة، قم باستبدال Require all granted بـ Require ip your_ip.

قم بإعادة تشغيل Apache لتطبيق التغييرات.

sudo systemctl restart httpd

الآن، يجب أن تتمكن من الوصول إلى PhpMyAdmin من العالم الخارجي باستخدام عنوان IP خادمك أو المجال.

http://your_server_ip/phpmyadmin

تذكر، فتح الوصول إلى PhpMyAdmin من العالم الخارجي يمكن أن يشكل مخاطر أمنية. تأكد من وجود آلية مصادقة عليا قوية والتفكير في استخدام HTTPS للاتصال المشفرة. علاوة على ذلك، قيد الوصول فقط إلى عناوين IP موثوقة إن أمكن أو تأمين عنوان URL تسجيل PhpMyAdmin.

تغيير عنوان URL تسجيل phpMyAdmin

عنوان URL التسجيل الافتراضي لـ phpMyAdmin أمر متوقع ويستهدف عادة من قبل فاعلي الأذى الذين يحاولون استغلال الثغرات الأمنية. تغيير عنوان URL التسجيل يضيف طبقة أمان إضافية، مما يجعل من الصعب على المستخدمين غير المصرح بهم الوصول إلى واجهة ادارة واجهة قاعدة البيانات.

للقيام بذلك، قم بإنشاء ملف /etc/httpd/conf.d/phpMyAdmin.conf التكوين.

vi /etc/httpd/conf.d/phpMyAdmin.conf

بعد ذلك، أضف التكوين التالي.

#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin

<Directory /var/www/htm/lphpmyadmin>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
            # Additional IP or hostname-based access control can be added here
        </RequireAny>
    </IfModule>

    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from All
        Allow from 127.0.0.1
        Allow from ::1
        # Additional IP or hostname-based access control can be added here
    </IfModule>

</Directory>

استبدل /my بـ عنوان URL التسجيل المخصص الذي ترغب به. احفظ التغييرات وأغلق محرر النص.

بعد تغيير الملفات التكوين، أعد تشغيل أباتشي لتطبيق التعديلات:

systemctl restart httpd

افتح متصفح الويب الخاص بك وانتقل إلى عنوان تسجيل phpMyAdmin الجديد.

http://yourdomain.com/my/
phpMyAdmin Login URL

إعداد SSL لـ phpMyAdmin

تأمين الاتصال بين خادم الويب أباتشي و phpMyAdmin ضروري لحماية المعلومات الحساسة مثل بيانات تسجيل الدخول ومحتوى القاعدة الأساسية. إحدى الطرق الفعالة لتحقيق ذلك هي تكوين SSL (Secure Socket Layer) لـ phpMyAdmin على خادم أباتشي.

للقيام بذلك، قم أولاً بتثبيت mod_ssl الوحدة النمطية على خادمك.

yum install httpd mod_ssl openssl

بعد ذلك، قم بإنشاء دليل لتخزين الشهادة وإنشاء شهادة SSL مستقلة التوليف ومفتاح خاص كما هو موضح.

mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
Create SSL Certificate for PhpMyAdmin

بعد إنشاء شهادة SSL ومفتاح، افتح ملف تكوين Apache SSL.

vi /etc/httpd/conf.d/ssl.conf

بعد ذلك، أضف السطور التالية إلى ملف التكوين.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

احفظ التغييرات وأعد تشغيل خادم الويب أباتشي.

systemctl restart httpd

الآن، افتح ملف تكوين phpMyAdmin.

vi /var/www/html/phpmyadmin/config.inc.php

أضف السطور التالية لفرض SSL لـ phpMyAdmin.

$cfg['ForceSSL'] = true;

احفظ التغييرات وإغلاق محرر النص.

أخيرًا، افتح متصفح الويب الخاص بك وانتقل إلى الرابط التالي للوصول إلى phpMyAdmin عبر اتصال SSL آمن.

https://yourdomain.com/my/

يرجى ملاحظة أن رسالة تحذير الاتصال غير الآمن ترجع فقط إلى استخدام شهادة مستقلة التوليف. للمتابعة، انقر على “متقدم” وتأكيد استثناء الأمان.

SSL Warning
Secure phpMyAdmin Login
الخاتمة

مبروك! لقد نجحت في تثبيت PhpMyAdmin مع Apache على نظامك الأساسي RHEL أو CentOS Stream أو Rocky Linux أو AlmaLinux. هذه الأداة الويب القائمة تبسط إدارة قواعد بياناتك، مما يجعل مهام مثل إنشاء قاعدة بيانات وإجراءات الاستعلام وإدارة البيانات أمرًا سهلاً.

Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/