Как установить phpMyAdmin в Ubuntu 22.04
phpMyAdmin — это бесплатный инструмент с открытым исходным кодом для управления и администрирования серверов MySQL. Его можно использовать для управления даже несколькими серверами MySQL в разных местах. phpMyAdmin — это веб-приложение, написанное на PHP, которое можно запускать под стеком LAMP (Linux, Apache2, MariaDB/MySQL, PHP) или LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). phpMyAdmin — очень мощное приложение, ставшее широко используемым приложением для управления серверами MySQL. Оно предоставляет обширную документацию и вики.
phpMyAdmin позволяет вам управлять данными MySQL из веб-браузера. Вы можете управлять базами данных, таблицами, столбцами, индексами, отношениями, пользователями, разрешениями и т. д. из единого пользовательского интерфейса панели управления в вашем веб-браузере. phpMyAdmin также позволяет импортировать и экспортировать данные на сервер MySQL. Вы можете импортировать данные CSV и SQL в свой MySQL, а также экспортировать данные в несколько форматов, таких как CSV, SQL, XML, Latex, XML, PDF, а также текст и электронная таблица OpenDocument.
В этом уроке мы покажем вам, как установить и настроить phpMyAdmin на последней версии сервера Ubuntu 22.04. В этом руководстве также рассматриваются некоторые дополнительные настройки для обеспечения безопасности установки phpMyAdmin.
Предварительные условия
- Машина с Ubuntu 22.04 — вы можете использовать серверную или настольную версию Ubuntu.
- Пользователь без полномочий root с правами администратора root.
- На машине установлен блок LAMP. В этом примере используется базовая установка стека LAMP (Linux, Apache2, MariaDB и PHP).
Установка phpMyAdmin
В последней версии Ubuntu 22.04 пакет phpMyAdmin доступен в официальном репозитории Ubuntu Universe. Поэтому перед установкой phpMyAdmin убедитесь, что в вашей системе включен репозиторий юниверсов Ubuntu.
В текущем состоянии Ubuntu предоставляет phpMyAdmin v5.x, который является последней стабильной версией phpMyAdmin.
Прежде чем начать установку пакетов, выполните следующую команду, чтобы обновить репозитории Ubuntu.
sudo apt update
Убедитесь, что в вашей системе включен репозиторий Ubuntu APT Universe.
Теперь проверьте пакет phpmyadmin, используя следующую команду.
sudo apt info phpmyadmin
Как вы можете видеть на следующем снимке экрана, репозиторий Ubuntu APT предоставляет phpMyAdmin v5.x, и он доступен в репозитории Ubuntu Universe.
Затем вы можете установить пакет phpMyAdmin, используя команду ниже.
sudo apt install phpmyadmin
Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы начать. Сейчас идет установка phpMyAdmin.
Во время установки phpMyAdmin вам будет предложено указать следующие конфигурации:
Выберите веб-сервер для phpMyAdmin. В этом примере веб-сервер — apache2, затем выберите ОК.
Теперь выберите Да, чтобы начать настройку phpMyAdmin с помощью файла dbconfig-common. Это автоматически произведет все конфигурации базы данных для phpMyAdmin.
Что касается пароля базы данных phpMyAdmin, вы можете оставить его пустым или просто ввести свой собственный пароль и затем нажать ОК. Если вы оставите это поле пустым, dbconfig-common автоматически сгенерирует пароль для вашего phpMyAdmin.
Наконец, откройте веб-браузер и посетите IP-адрес сервера с URL-адресом /phpmyadmin (например: http://192.168.10.15/phpmyadmin). И теперь вы получите страницу входа в phpMyAdmin.
Введите пользователя и пароль вашего сервера MariaDB, затем нажмите Перейти, чтобы войти в систему.
После входа в систему вы увидите панель управления phpMyAdmin ниже. Как видите, phpMyAdmin 5.x установлен на компьютере с Ubuntu 22.04 с Apache2, MariaDB 10.x и PHP 8.1.
Безопасность установки phpMyAdmin
После того, как вы установили phpMyAdmin. Далее вы узнаете, как защитить установку phpMyAdmin.
Ниже вы узнаете три метода обеспечения безопасности установки phpMyAdmin в вашей системе Ubuntu:
- Изменить URL-адрес пути установки phpMyAdmin: установка phpMyAdmin по умолчанию доступна по URL-адресу /phpmyadmin, который легко угадать злоумышленникам. Вы можете изменить путь по умолчанию на свой собственный URL-адрес пути.
- Дополнительная аутентификация с использованием базовой аутентификации Apache2. В этом сценарии пользователям будет показана базовая аутентификация Apache2 перед отображением страницы входа в phpMyAdmin. Это добавит дополнительную аутентификацию, поэтому только пользователи из основного списка аутентификации Apache2 будут видеть страницу входа в phpMyAdmin и смогут войти в phpMyAdmin.
- Блокировка попытки входа в phpMyAdmin с помощью Fail2ban Jail: вам потребуется установить и настроить Fail2ban на вашем компьютере с Ubuntu. Это заблокирует IP-адрес злонамеренных попыток входа в phpMyAdmin. Кроме того, вы можете настроить максимальное количество попыток входа в тюрьму Fail2ban.
Теперь давайте начнем защищать phpMyAdmin, используя три разных метода.
Изменить URL-адрес пути установки phpMyAdmin
Установка phpMyAdmin по умолчанию включает дополнительную конфигурацию веб-сервера apache2. Конфигурация находится в файле /etc/phpmyadmin/apache.conf. Чтобы изменить URL-адрес установки phpMyAdmin по умолчанию, вам необходимо отредактировать конфигурацию /etc/phpmyadmin/apache2.conf и перезапустить службу Apache2.
Отредактируйте файл конфигурации /etc/phpmyadmin/apache.conf с помощью редактора nano.
sudo nano /etc/phpmyadmin/apache.conf
Измените параметр «Псевдоним /phpmyadmin» на новый путь ULR. В приведенном ниже примере phpMyAdmin будет доступен по URL-адресу /padm.
Alias /padm /usr/share/phpmyadmin
Сохраните и закройте файл, когда закончите.
Затем проверьте и проверьте конфигурацию Apache2, используя приведенную ниже команду. Если ваша конфигурация правильна, вы получите выходное сообщение, например «Синтаксис в порядке».
sudo apchectl configtest
Теперь перезапустите службу Apache2, чтобы применить новые изменения в файле /etc/phpmyadmin/apache.conf.
sudo systemctl restart apache2
Вернитесь в свой веб-браузер и посетите phpMyAdmin с новым URL-адресом пути /padm (например, http://192.168.10.15/padm). На следующем снимке экрана вы увидите панель управления phpMyAdmin.
Теперь вы успешно изменили URL-адрес пути по умолчанию для установки phpMyAdmin на новый URL-адрес пути /padm.
Защита phpMyAdmin с помощью базовой аутентификации Apache2
Базовая аутентификация Apache2 — это метод аутентификации, предоставляемый модулем Apache mod_basic_auth. Чтобы настроить базовую аутентификацию Apache2, вам нужно будет сгенерировать файл паролей и настроить файл .htaccess в корневом каталоге документа phpMyAdmin.
Теперь выполните приведенную ниже команду, чтобы создать новый файл базовой аутентификации Apache2 /etc/phpmyadmin/.htpasswd с новым пользователем с именем padm. Если у вас нет команды htpasswd, вам необходимо установить в вашу систему пакет apache2-utils.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padm
Теперь введите пароль для пользователя базовой аутентификации Apache2 (padm) и повторите его. Это создаст новый файл паролей /etc/phpmyadmin/.htpasswd.
Затем отредактируйте конфигурацию /etc/phpmyadmin/apache.conf с помощью редактора nano.
sudo nano /etc/phpmyadmin/apache.conf
Добавьте конфигурацию в «
<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All
Сохраните и закройте файл, когда закончите.
Затем выполните приведенную ниже команду, чтобы включить модуль mod_rewrite Apache2.
sudo a2enmod rewrite
Создайте новый файл /usr/share/phpmyadmin/.htaccess с помощью редактора nano.
sudo nano /usr/share/phpmyadmin/.htaccess
Добавьте в файл следующую конфигурацию.
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Сохраните и закройте файл, когда закончите.
Теперь перезапустите службу Apache2, чтобы применить новые изменения.
sudo systemctl restart apache2
Наконец, вернитесь в свой веб-браузер и обновите URL-адрес phpMyAdmin (например, http://192.168.10.15/padm). Теперь вам будет предложено пройти базовую аутентификацию Apache2.
Введите имя пользователя padm со своим паролем и нажмите Войти. Если ваш пользователь и пароль совпадают с конфигурацией /etc/phpmyadmin/.htpasswd файл, то вы сможете получить панель управления phpMyAdmin, в противном случае вы получите сообщение об ошибке, например «421 Unauthorized».
Теперь вы защитили phpMyAdmin с помощью базовой аутентификации Apache2. Этот метод рекомендуется использовать с сертификатами SSL на веб-сервере Apache2.
Блокировка попытки входа в phpMyAdmin с помощью тюрьмы Fail2ban
В этом сценарии вам потребуется установить и настроить Fail2ban на вашем компьютере с Ubuntu. Использование тюрьмы Fail2ban ограничит неудачу аутентификации в phpMyAdmin и ограничит атаку методом перебора. Fail2ban будет блокировать любые обнаруженные попытки вредоносного входа в phpMyAdmin.
Failban работает путем проверки файла журнала приложения, поэтому вам необходимо включить файл журнала для phpMyAdmin.
Отредактируйте конфигурацию phpMyAdmin /etc/phpmyadmin/config.inc.php с помощью редактора nano.
sudo nano /etc/phpmyadmin/config.inc.php
Добавьте следующую конфигурацию в конец строки. При этом вся аутентификация phpMyAdmin будет записываться в файл системного журнала /var/log/auth.log.
...
...
...
$cfg['AuthLog'] = 'syslog';
Сохраните и закройте файл, когда закончите.
Затем отредактируйте конфигурацию тюрьмы Fail2ban /etc/fail2ban/jail.local с помощью редактора nano.
sudo nano /etc/fail2ban/jail.local
Найдите тюрьму с именем «phpmyadmin-syslog» и добавьте параметр «enabled=true», чтобы включить тюрьму.
[phpmyadmin-syslog]
enabled = true
port = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s
Сохраните и закройте файл, когда закончите.
Теперь перезапустите службу Fail2ban, используя приведенную ниже команду, чтобы применить новую конфигурацию тюрьмы.
sudo systemctl restart fail2ban
Чтобы проверить джейл «phpmyadmin-syslog», выполните приведенные ниже командыfail2ban-client.
Проверяем список включенных Fail2ban Jail.
sudo fail2ban-client status
Проверка деталей тюрьмы Fail2ban phpmyadmin-syslog.
sudo fail2ban-client status phpmyadmin-syslog
Ниже вы можете увидеть подробный статус тюрьмы phpmyadmin-syslog. На снимке экрана ниже вы можете видеть, что один IP-адрес «192.168.10.1» заблокирован Fail2ban.
Если вы проверите файл журнала /var/log/auth.log с помощью приведенной ниже команды.
cat /var/log/auth.log
Ниже вы увидите журналы аутентификации phpMyAdmin. Вы можете видеть, что IP-адрес «192.168.10.1» распознается как вредоносный вход из-за использования неправильного пользователя и пароля.
На этом этапе вы защитили phpMyAdmin, используя несколько различных методов. Еще одним соображением является использование SSL на каждом виртуальном хосте вашего сервера. Это делает ваш phpMyAdmin еще более безопасным, поскольку SSL будет шифровать соединения между вашим веб-браузером и сервером.
Заключение
Поздравляем! Теперь вы узнали, как установить и настроить phpMyAdmin в последней версии Ubuntu 22.04. Кроме того, вы изучили несколько методов защиты установки phpMyAdmin, включая изменение URL-адреса пути по умолчанию, добавление аутентификации с использованием базовой аутентификации Apache2 и блокировку попыток злонамеренного входа в систему с помощью Fail2ban Jail.