Как установить и настроить Adminer на Ubuntu
Adminer — лёгкий и безопасный веб-инструмент для централизованного управления базами данных на Ubuntu. В этой статье приведена пошаговая инструкция по установке Apache, PHP и MariaDB, настройке Adminer, повышению безопасности и тестам приёма.

Adminer — это веб‑приложение на PHP для управления разными СУБД через единый интерфейс. Оно поддерживает MariaDB, MySQL, SQLite, Oracle, PostgreSQL, MongoDB и Elasticsearch. По сравнению с phpMyAdmin Adminer обычно легче по весу, проще в развертывании и имеет меньше потенциальных точек атаки, если настроен правильно.
Краткое определение: Adminer — одностраничный PHP‑скрипт или пакет, который предоставляет интерфейс для выполнения SQL‑запросов, управления таблицами и пользователями.
Что вы получите из этой инструкции
- Полная пошаговая установка на Ubuntu: Apache, PHP, MariaDB, Adminer.
- Проверки работоспособности и примеры команд.
- Рекомендации по безопасности: HTTPS, ограничение доступа, базовая аутентификация и обновления.
- Роль‑ориентированные чек-листы, тесты приёмки, сценарии отката и советы по альтернативам.
Важно: в продакшн‑окружении никогда не оставляйте веб‑панели управления открытыми в публичном доступе без защиты (HTTPS + ограничение по IP / базовая аутентификация / VPN).
Почему выбирать Adminer
- Лёгкий развёртываемый файл/пакет.
- Поддержка множества баз данных в одном интерфейсе.
- Простая интеграция с системой управления пакетами Ubuntu.
- Менше зависимости от большого PHP‑стека по сравнению с некоторыми альтернативами.
Когда Adminer не подходит
- Если требуется расширяемая многофункциональная панель с плагинами и визуальными отчётами — возможно, лучше phpMyAdmin или коммерческие решения.
- Для централизованного управления большим пулом серверов и прав пользователей на уровне организации потребуется специализированная СУП (DBA‑платформа).
Предусловия и требования
- Ubuntu (поддерживаемая LTS‑версия рекомендуется).
- Права sudo на машине.
- Открытые порты 80/443 (если планируется внешняя доступность).
- Базовые навыки работы в терминале и с systemd.
Шаг 1. Обновите систему
Откройте терминал (Ctrl + Alt + T) и выполните обновление пакетов:
sudo apt update && sudo apt upgradeЭто гарантирует, что вы получаете актуальные версии зависимостей и пакетов безопасности.
Шаг 2. Установите Apache
Установите веб‑сервер и включите его:
sudo apt install apache2
sudo systemctl enable --now apache2
sudo systemctl status apache2 --no-pager -lЕсли служба активна (active (running)), Apache работает корректно. В противном случае проверьте логи:
sudo journalctl -u apache2 -n 200 --no-pager
sudo tail -n 200 /var/log/apache2/error.logШаг 3. Установите PHP и расширения
Adminer написан на PHP, поэтому требуются PHP и несколько расширений:
sudo apt install php php-curl libapache2-mod-php php-cli php-mysql php-gd php-fpmПосле установки перезагрузите или перезагрузите конфигурацию Apache:
systemctl reload apache2Проверьте версию PHP:
php -vЕсли видите ошибки типа “Module not found” или отсутствие расширений, установите недостающие пакеты через apt.
Шаг 4. Установите MariaDB (или другую СУБД)
Для демонстрации используется MariaDB. Можно заменить на MySQL, PostgreSQL или другую СУБД, поддерживаемую вашим проектом.
sudo apt install mariadb-server
sudo systemctl enable --now mariadb
sudo systemctl status mariadbЗащитите установку MariaDB скриптом:
sudo mysql_secure_installationСовет: при появлении вопросов скрипта выбирайте сильный пароль для root и удаляйте анонимных пользователей.
Особенность новой аутентификации
В новых версиях MariaDB/MySQL корневой пользователь может использовать плагин unix_socket, который аутентифицирует только локального пользователя root системы. Если вы хотите входить как root через Adminer по паролю, убедитесь, что у пользователя root настроена аутентификация по паролю (см. ниже).
Шаг 5. Установка пароля для root MariaDB
Откройте консоль MariaDB:
sudo mysqlЕсли ваша версия требует другой команды для задания пароля, используйте альтернативу. Один из стандартных вариантов установки пароля:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'my_password';
FLUSH PRIVILEGES;Или (в некоторых версиях):
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('my_password');
FLUSH PRIVILEGES;Замените my_password на надёжный пароль. Выйдите из консоли командой:
exit;Важно: храните пароли безопасно и не используйте root для регулярных операций — создайте отдельного пользователя с нужными привилегиями.
Шаг 6. Установите Adminer
Установка через APT на Ubuntu простая:
sudo apt install adminerВключите конфигурацию php‑fpm и Adminer для Apache:
sudo a2enconf php*-fpm
sudo a2enconf adminer
systemctl reload apache2
sudo systemctl restart apache2После этого Adminer обычно доступен по адресу /adminer на вашем сервере.
Шаг 7. Доступ к веб‑интерфейсу Adminer
Локальный доступ:
http://127.0.0.1/adminerДоступ по IP сервера:
http://server-ip-address/adminerДля входа укажите имя пользователя базы данных (например, root) и пароль, который вы задали ранее. Поле «Database» можно оставить пустым, если хотите просматривать все базы, доступные учётной записи.
Базовые тесты приёмки
Критерии приёмки:
- Страница /adminer открывается и отображает форму логина.
- Вход под пользователем с нужными правами позволяет просматривать список баз данных.
- Создание тестовой базы и таблицы работает без ошибок.
Пример теста:
- Войти как root (или другой пользователь).
- Создать базу test_adminer: CREATE DATABASE test_adminer;
- Создать таблицу и добавить строку. Проверить, что данные читаются.
Безопасность и жёсткие рекомендации
- Включите HTTPS: используйте certbot для получения сертификатов Let’s Encrypt.
Пример быстрой установки certbot и получения сертификата:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com- Ограничьте доступ к /adminer по IP или добавьте базовую HTTP‑аутентификацию.
Пример конфигурации Apache для ограничения по IP (вставьте в VirtualHost):
Require ip 192.0.2.0/24
Require local
Пример добавления базовой аутентификации:
sudo htpasswd -c /etc/apache2/.adminer_htpasswd admineruser
# затем в конфигурации VirtualHost:
AuthType Basic
AuthName "Adminer restricted"
AuthUserFile /etc/apache2/.adminer_htpasswd
Require valid-user
- Используйте VPN или обратный прокси (например, через внутренний NGINX), если требуется доступ извне.
- Регулярно обновляйте пакеты (apt upgrade) и следите за CVE для используемых компонентов.
Тесты и проверка работоспособности
Проверки после установки:
- Проверить доступность страницы и логин: браузер и curl.
curl -I http://127.0.0.1/adminer- Проверить ошибки в логах Apache и PHP:
sudo tail -n 200 /var/log/apache2/error.log
sudo journalctl -u apache2 -f- Проверить, что PHP расширение mysqli или pdo_mysql установлено и загружено: php -m | grep -E “mysqli|pdo_mysql”
Частые проблемы и решения
- 403 Forbidden: проверьте права на папки, настройки Directory в Apache и ограничения по IP.
- 500 Internal Server Error: проверьте логи Apache и убедитесь, что PHP‑FPM запущен и конфигурация включена.
- Не удаётся войти в MariaDB: проверьте метод аутентификации (unix_socket vs password) и корректность пароля.
Как удалить Adminer и связанные компоненты
Чтобы удалить только Adminer:
sudo apt autoremove --purge adminerЕсли хотите удалить MariaDB, PHP и Apache (осторожно — это удалит службы и данные):
sudo systemctl stop apache2 mariadb
sudo apt autoremove --purge mariadb-server php* apache2Перед удалением баз данных сделайте резервные копии: mysqldump –all-databases > all_databases.sql
Роль‑ориентированные чек‑листы
Для администратора сервера:
- Установить и обновить пакеты.
- Настроить firewall (ufw) и правила доступа.
- Включить HTTPS и бэкапы.
Для DBA:
- Создать ограниченные учётные записи для работы через Adminer.
- Настроить политику бэкапов и план восстановления.
Для разработчика:
- Проверить подключение к БД из приложения.
- Использовать тестовые учётные записи и базы.
Альтернативы и миграционные советы
- phpMyAdmin: более богатый функционал для MySQL/MariaDB, но тяжелее в обслуживании.
- Adminer Editor/плагин‑версии: удобны для интеграции в специфичные панели.
- CLI‑инструменты: mysql, psql, mongosh — подходят для автоматизации и CI/CD.
Рекомендация по миграции: экспортируйте схемы и данные через дамп (mysqldump, pg_dump) и протестируйте восстановление в тестовой среде.
Совместимость и матрица поддерживаемых СУБД
- MariaDB / MySQL — полностью поддерживаются.
- PostgreSQL — поддержка через драйверы и расширения.
- SQLite — поддерживается локально.
- MongoDB, Elasticsearch — работают через соответствующие плагинные адаптеры (проверьте версию Adminer).
Мини‑методология развёртывания (шаблон)
- Подготовка: обновление ОС, создание пользователя с sudo.
- Установка Apache и PHP, проверка модулей.
- Установка СУБД, базовые настройки безопасности.
- Установка Adminer и проверка веб‑доступа.
- Настройка HTTPS и ограничений доступа.
- Тесты приёмки и автоматизированные бэкапы.
План отката (простая инструкция)
- При обнаружении критической ошибки — отключите доступ к /adminer (отключить виртуальный хост).
- Верните конфигурации Apache из резервной копии.
- Восстановите базу из дампа, если нарушены данные.
- Проведите пост‑мортем и обновите процедуру развертывания.
Небольшая галерея крайних случаев
- Если Adminer требуется только локально — разворачивайте на 127.0.0.1 и используйте SSH‑туннель для удалённого доступа.
- Для CI/CD автоматизации используйте CLI дампы и скрипты, вместо ручной работы через Adminer.
Примечания по конфиденциальности и соответствию
Adminer не хранит пароли пользователей самостоятельно — он использует учётные данные для подключения к СУБД. Тем не менее:
- Не храните пароли в публичных конфигурационных файлах.
- При работе с персональными данными учитывайте требования GDPR/локального законодательства: минимизируйте доступ и ведите логи доступа.
Краткое резюме
Adminer — быстрый способ управлять базами данных через веб‑интерфейс на Ubuntu. После установки Apache, PHP и MariaDB можно развернуть Adminer через apt и защитить его HTTPS и ограничением доступа. Для продакшна следует создать ограниченные учётные записи, настроить бэкапы и следить за безопасностью.
Ключевые действия:
- Установите Apache и PHP.
- Установите и защитите MariaDB или другую СУБД.
- Установите Adminer и ограничьте к нему доступ.
- Включите HTTPS и регулярно обновляйте систему.
Дополнительные ресурсы: официальная документация Adminer и документация вашей СУБД помогут при тонкой настройке и интеграции.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone