В этой статье мы проведем вас через пошаговый процесс установки последней версии 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

Это обновит все пакеты на вашей системе до последних версий.
Шаг 2: Установите веб-сервер Apache
PhpMyAdmin – это веб-инструмент, и для его использования вам нужно установить веб-сервер Apache, используя следующую команду.
sudo dnf install httpd

После установки запустите службу Apache и включите ее для запуска при загрузке.
sudo systemctl start httpd sudo systemctl enable httpd
Шаг 3: Установите MariaDB или MySQL
Вам также понадобится сервер баз данных. Вы можете выбрать установку либо MariaDB, либо MySQL, но в данном примере мы будем использовать MariaDB.
sudo dnf install mariadb-server

После установки запустите службу MariaDB и включите ее для запуска при загрузке.
sudo systemctl start mariadb sudo systemctl enable mariadb
Далее, обеспечьте безопасность установки MariaDB, запустив скрипт, который попросит вас ввести пароль для пользователя root, запретит удаленные входы для root и удалит анонимных пользователей. Также будет удален тестовый базы данных, который по умолчанию может быть доступен анонимным пользователям.
sudo mysql_secure_installation

Шаг 4: Установка PHP
PhpMyAdmin создан с использованием PHP, поэтому нам нужно установить PHP и некоторые необходимые расширения с помощью следующей команды.
sudo dnf install php php-mysqlnd php-json php-mbstring

Шаг 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.


Шаг 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/

Настройка 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

После создания 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/
Будьте осторожны, сообщение о ненадежном соединении возникает только из-за использования самоподписанного сертификата. Чтобы продолжить, нажмите на “Дополнительно” и подтвердите исключение безопасности.


Заключение
Поздравляем! Вы успешно установили PhpMyAdmin с Apache на свою систему RHEL, CentOS Stream, Rocky Linux или AlmaLinux. Этот веб-инструмент упрощает управление вашими базами данных, делая такие задачи, как создание базы данных, запросы и управление данными, простым делом.
Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/