Управлять базами данных через терминал — задача не для каждого. Когда дело доходит до повседневного администрирования, удобнее использовать визуальные интерфейсы. Один из самых известных — phpMyAdmin, веб-приложение с графической оболочкой для работы с MySQL и MariaDB. Оно позволяет просматривать таблицы, выполнять SQL-запросы, создавать базы и пользователей, не выходя из браузера.
phpMyAdmin распространяется бесплатно, написан на PHP и поддерживает работу на большинстве популярных операционных систем, включая Linux, Windows и macOS. Это кроссплатформенное решение, которое одинаково хорошо подходит и для локального компьютера, и для удалённого VPS с предустановленной Ubuntu.
В этой статье пошагово разберём установку phpMyAdmin на Ubuntu 20.04, создание пользователей, настройку доступа и базовые меры защиты интерфейса от несанкционированного доступа.
Подготовка к установке
Предварительно должны быть установлены:
- Сервер с нужной ОС (в нашем случае это Ubuntu),
- межсетевой экран с настройкой Uncomplicated Firewall,
- Linux,
- Apache,
- MySQL,
- PHP.
Установка phpMyAdmin
Не забываем обновить установленные пакеты сервера непосредственно перед началом инсталляции. Команда, которую вводим для этого в терминале:
$ sudo apt update
Приложение можно установить без дополнений либо одновременно с пакетом расширений, рекомендованных официальной документацией.
- Для установки phpMyAdmin без расширений прописываем:
$ sudo apt install phpmyadmin
Совместная инсталляция с рекомендуемым пакетом:
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Дополнительные модули, устанавливаемые вместе с phpMyAdmin, расширяют функциональность и обеспечивают корректную работу интерфейса. Среди них — поддержка многобайтовых строк (php-mbstring), обработка изображений через GD-библиотеку (php-gd), работа с архивами .zip (php-zip), взаимодействие с JSON-данными (php-json), а также подключение к различным удалённым сервисам (php-curl). Без этих компонентов интерфейс может работать некорректно или не отображать часть данных.
Во время установки в терминале запускается текстовый интерфейс конфигурации. Для управления им используются клавиши: стрелки вверх и вниз — перемещение по пунктам меню, пробел — выбор или снятие отметки с нужного параметра, Tab — переход к кнопке подтверждения (например, «Ок»), Enter — подтверждение выбора. Эти команды особенно важны при установке на сервер без графической оболочки.
- Выберем веб-сервер. В открывшемся диалоговом окне инсталлятора отметим пункт apache2, нажав на кнопку Space. Используя для навигации кнопку Tab на клавиатуре, выделим Ок и нажмём «Ввод». Обратите внимание, что пункт apache2 может быть по умолчанию подсвечен цветом, но при этом он не выбран; для выбора нажмите «Пробел».

- Затем ПО-installer предложит создать БД для хранения служебной информации и настроек. Выберем в диалоговом окне Yes и нажмём Enter.

- Выберем пароль для учётки, от имени которой phpmyadmin будет входить в созданное хранилище данных.
Задаём Password в следующем диалоговом окне:

Повторяем ввод и подтверждаем:

На этом установка завершена и приложение доступно в браузере. Введите в адресной строке:
ip_address/phpmyadmin
Вместо ip_address из примера нужно вписать уникальный адрес вашего сервера.

Ошибка установки из-за Validate Password
Установленное на вашем сервере расширение Validate Password может помешать создать учетную запись phpmyadmin. Если возникла ошибка, потребуется временно деактивировать этот плагин.
- Прервём процесс установки, выбрав пункт abort.

- Вызовем в терминале MySQL:
$ sudo mysql
- Если проверка подлинности пользователя по паролю для root активна, то введём:
$ mysql -u root –p
- Отключим Validate Password. Данная команда не удаляет плагин, происходит лишь его дезактивация и остановка работы.
mysql> UNINSTALL COMPONENT "file://component_validate_password";
- Выйдем из СУБД..
mysql> exit
- Запустим процесс установки заново. Теперь он должен завершиться без ошибок.
Настройка доступа
Учетная запись суперпользователя
Изначально для суперпользователя установлен доступ посредством auth_socket. Нужно изменить метод проверки подлинности пользователя на ввод пароля.
- Запустим СУБД MySQL:
$ sudo mysql
- Узнаем актуальные подходы к проверке подлинности:
mysql> SELECT user, authentication_string, plugin, host FROM mysql.user;
В полученной таблице в ответ на этот запрос видим метод проверки root-пользователя — это auth_socket:

- Чтобы сменить вход с auth_socket на вход с cashing_sha2_password введём в консоли:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1111111111';
Вместо «1111111111» зададим выбранный пароль.
- Снова проверим тип authentication, повторим команду из пункта 2:
mysql> SELECT user, authentication_string, plugin, host FROM mysql.user;
Таким образом, пользователю с уровнем допуска root соответствует plugin cashing_sha2_password.

Учётная запись нового юзера
Авторизация суперпользователя в phpMyAdmin по умолчанию отключена по соображениям безопасности. Для администрирования баз данных рекомендуется создать отдельного пользователя с полными правами доступа.
- Перейдём в консоль MySQL и войдем от имени суперпользователя.
- Выполним поочередно три консольные команды. Учётная запись нового пользователя (здесь ему присвоено имя user) создается первой командой. Для него также задаётся пароль «1111111111». Вторая строка предоставляет ему все возможные привилегии: создание, редактирование, удаление БД и тому подобное, возможность самому добавлять учётки и наделять их необходимыми доступами. Последняя строка сохранит внесённые изменения.
mysql> CREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1111111111';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
Используйте выбранные вами логин и пароль вместо указанных в примере user и «1111111111».
Настройка конфигурации phpMyAdmin
Файлы конфигурации размещены в каталоге /etc/phpmyadmin.
/etc/phpmyadmin/config.inc.php
Это главный файл конфигурации, содержащий определённые параметры. Их применяют ко всему приложению. Чтобы использовать PMA для ведения БД на удалённом сервере, настроим содержимое файла /etc/phpmyadmin/config.inc.php.
Внесём в него запись:
$cfg['Servers'][$i]['host'] = 'server';
Замените server в приведённом примере на фактический IP удаленного сервера. Также обратите внимание, что хост PMA должен иметь разрешение на доступ к удаленной БД.
Для применения изменений выйдем из приложения и войдём заново.
Использование и защита phpMyAdmin на VPS
Если вы устанавливаете phpMyAdmin на VPS-сервере, важно учесть особенности безопасности, характерные для удалённых хостингов. На виртуальных серверах, особенно доступных из Интернета, панель phpMyAdmin часто становится целью автоматизированных атак. Поэтому недостаточно просто установить панель — необходимо заранее принять меры по её защите.
Вот несколько ключевых рекомендаций:
1. Ограничьте доступ по IP-адресу. Чтобы полностью исключить посторонний доступ, настройте файрвол сервера (например, UFW) так, чтобы к порту, на котором доступен phpMyAdmin, могли обращаться только ваши IP-адреса.
Пример правила для UFW:
sudo ufw allow from ВАШ_IP to any port 80
2. Перенесите phpMyAdmin с основного адреса. По умолчанию интерфейс доступен по пути yourdomain.com/phpmyadmin. Злоумышленники сканируют такие стандартные пути. Чтобы усложнить им задачу, переименуйте путь, создав символическую ссылку, например:
sudo mv /usr/share/phpmyadmin /usr/share/hiddenpanel
sudo ln -s /usr/share/hiddenpanel /var/www/html/secureadmin
И тогда вход будет осуществляться через yourdomain.com/secureadmin.
3. Используйте HTTPS. Передача логинов и паролей в открытом виде — огромный риск. Обязательно установите SSL-сертификат (например, через Let’s Encrypt) и перенаправьте весь HTTP-трафик на HTTPS.
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
4. Не используйте root-пользователя. Даже если вы сменили метод аутентификации и открыли root-доступ, для повседневной работы создайте отдельного пользователя с ограниченными правами. Это уменьшит риск при компрометации панели.
5. Включите двухфакторную аутентификацию (2FA) на сервере. Если вы используете административный доступ по SSH, настройте 2FA. Это не касается напрямую phpMyAdmin, но обезопасит сам сервер.
6. Регулярно обновляйте phpMyAdmin. Следите за новыми версиями — уязвимости в старых релизах быстро становятся известны в сети. Обновить можно через:
sudo apt update && sudo apt upgrade
Эти шаги позволяют использовать phpMyAdmin на VPS не только удобно, но и безопасно — без угрозы взлома и утечки данных.
Безопасность phpMyAdmin
phpMyAdmin не имеет собственных средств обеспечения безопасности. По этой простой причине phpMyAdmin часто пытаются взломать. Применяйте дополнительные способы защиты сервера. Например, разместите программный шлюз между пользователем и всеми приложениями. Для этого создаётся файл, позволяющий управлять Apache и настройками веб-приложения PMA директивами, при этом не меняя содержимого основного конфигурационного файла.
- Создадим файл с расширением .htaccess по адресу /usr/share/phpmyadmin/. Прописываем в файле нужные команды:
AuthType Basic
Authname "Restricted Content"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Здесь:
- AuthType Basic — определяет тип первичной проверки. Заданный способ — при помощи password.
- AuthName — здесь можно ввести текст, который прочитает пользователь при попытке аутентификации.
- AuthUserFile — указывает место хранения логинов и паролей.
- Require valid-user — устанавливает, кто получает доступ к закрытой области. В данном случае шлюз пропускает только тех, кто успешно прошёл проверку.
- Зададим пароль, заменив user на выбранный логин; его понадобится ввести дважды:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd user
- Пропишем в в файле /etc/apache2/apache2.conf директиву AllowOverride All. В результате сервер будет допускать все директивы файла конфигурации .htaccess во всех директориях:

- Чтобы принятые изменения вступили в силу, сохраняем их и перезапускаем Apache:
sudo systemctl reload apache2
После этих действий войти в учетную запись phpMyAdmin станет возможным только при прохождении дополнительной проверки подлинности пользователя.
Заключение
Установка phpMyAdmin на Ubuntu — логичный шаг для тех, кто предпочитает управлять базами данных через удобный веб-интерфейс, а не вручную в терминале. Мы разобрали процесс пошагово: от подготовки окружения до настройки доступа, смены метода аутентификации и создания отдельных пользователей с нужными правами.
Особое внимание стоит уделить защите панели управления, особенно если вы используете VPS, доступный из Интернета. Мы показали, как ограничить доступ по IP, включить HTTPS, скрыть стандартный путь к интерфейсу и настроить базовую аутентификацию через .htaccess. Всё это существенно повышает уровень безопасности и снижает риск взлома.
Помните: phpMyAdmin — это мощный инструмент, но и потенциальная точка уязвимости. Регулярно обновляйте систему, следите за логами, используйте сильные пароли и при необходимости включайте двухфакторную аутентификацию на уровне сервера.
Соблюдение этих рекомендаций позволит вам не только эффективно работать с базами данных, но и держать под контролем безопасность проекта — будь то личный сайт, клиентский проект или полноценный продакшен на VPS.
Читайте в блоге:
- Как ускорить загрузку сайта с помощью кеширования в Nginx
- Как установить Nginx, PHP и MySQL/MariaDB (LEMP-стек) в Ubuntu 22.04
- Ошибка в ядре Linux едва не обрушила производительность Nginx и PostgreSQL