Как установить 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, включающий Apache, MySQL/MariaDB и PHP. Если у вас нет LAMP, вы можете следовать этим шагам для его настройки.

Шаг 1: Обновите систему

Перед установкой любого программного обеспечения важно убедиться, что ваша система обновлена, выполнив следующую команду dnf.

sudo dnf update
Update Linux System

Это обновит все пакеты на вашей системе до последних версий.

Шаг 2: Установите веб-сервер Apache

PhpMyAdmin – это веб-инструмент, и для его использования вам нужно установить веб-сервер Apache, используя следующую команду.

sudo dnf install httpd
Install Apache in Linux

После установки запустите службу Apache и включите ее для запуска при загрузке.

sudo systemctl start httpd
sudo systemctl enable httpd

Шаг 3: Установите MariaDB или MySQL

Вам также понадобится сервер баз данных. Вы можете выбрать установку либо MariaDB, либо MySQL, но в данном примере мы будем использовать MariaDB.

sudo dnf install mariadb-server
Install MariaDB in Linux

После установки запустите службу MariaDB и включите ее для запуска при загрузке.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Далее, обеспечьте безопасность установки MariaDB, запустив скрипт, который попросит вас ввести пароль для пользователя root, запретит удаленные входы для root и удалит анонимных пользователей. Также будет удален тестовый базы данных, который по умолчанию может быть доступен анонимным пользователям.

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 на нашу систему Linux, перейдя в корневой каталог веб-сервера /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_secret:

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

Сохраните и выйдите из файла.

Шаг 6: Открытие порта Apache в firewalld

По умолчанию, Apache обычно использует порты 80 и 443 для HTTP и HTTPS соответственно. Чтобы открыть порты Apache и разрешить доступ к PhpMyAdmin на вашем сервере, выполните:

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: Перезапустите веб-сервер Apache

Наконец, перезапустите Apache для применения изменений:

sudo systemctl restart httpd

Шаг 8: Доступ к PhpMyAdmin

Теперь вы можете получить доступ к PhpMyAdmin через веб-браузер, перейдя по IP-адресу или доменному имени вашего сервера, за которым следует “/phpmyadmin” в URL:

http://your_server_ip/phpmyadmin

Войдите, используя учетные данные MySQL или MariaDB.

PHPMyAdmin Login
PHPMyAdmin Dashboard

Шаг 9: Разрешить внешний доступ в PhpMyAdmin

Откройте файл конфигурации PhpMyAdmin.

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

Найдите раздел <Directory "/var/www/html"> или раздел, где настроен ваш PhpMyAdmin, и обновите директиву Require, чтобы разрешить доступ к PhpMyAdmin со всех IP-адресов.

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

Вышеуказанная конфигурация позволяет получить доступ с любого IP-адреса, но если вы хотите ограничить доступ до определенных IP-адресов, замените Require all granted на Require ip ваш_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-адрес входа. Сохраните изменения и выйдите из текстового редактора.

После внесения изменений в файлы конфигурации перезапустите Apache, чтобы применить изменения:

systemctl restart httpd

Откройте веб-браузер и перейдите по новому phpMyAdmin URL входа.

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

Настройка SSL для phpMyAdmin

Обеспечение безопасного обмена данными между веб-сервером Apache и phpMyAdmin является критически важным для защиты конфиденциальной информации, такой как учетные данные входа и содержимое базы данных. Один из эффективных способов достичь этого – настроить SSL (Secure Socket Layer) для phpMyAdmin на веб-сервере Apache.

Для этого сначала установите модуль 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-сертификата и ключа откройте файл конфигурации SSL Apache.

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

Далее добавьте следующие строки в файл конфигурации.

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

Сохраните изменения и перезапустите веб-сервер Apache.

systemctl restart httpd

Теперь откройте файл конфигурации phpMyAdmin.

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

Добавьте следующие строки для принудительного использования SSL для phpMyAdmin.

$cfg['ForceSSL'] = true;

Сохраните изменения и выйдите из текстового редактора.

Наконец, откройте веб-браузер и перейдите по следующему URL, чтобы получить доступ к 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/