Как установить 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
Это обновит все пакеты в вашей системе до последних версий.
Шаг 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
Найдите раздел
или раздел, в котором настроен ваш PhpMyAdmin, и обновите директиву Require
, чтобы разрешить все IP-адреса для доступа к PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
Приведенная выше конфигурация разрешает доступ с любого IP-адреса, но если вы хотите ограничить доступ к определенным IP-адресам, замените Требовать все предоставленные
на Требовать 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-адресом для входа. Сохраните изменения и выйдите из текстового редактора.
После внесения изменений в файлы конфигурации перезапустите Apache, чтобы изменения вступили в силу:
systemctl restart httpd
Откройте веб-браузер и перейдите по новому URL-адресу входа phpMyAdmin.
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 откройте файл конфигурации Apache SSL.
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. Этот веб-инструмент упрощает управление вашими базами данных, упрощая такие задачи, как создание базы данных, запросы и управление данными.