Поиск по сайту:

Как установить 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. Этот веб-инструмент упрощает управление вашими базами данных, упрощая такие задачи, как создание базы данных, запросы и управление данными.