Установка Adminer на Alma Linux 8

Adminer (ранее phpMinAdmin) — это компактный PHP-инструмент для управления базами данных. Он поддерживает MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB и другие. Adminer лёгкий, простой в развёртывании и ориентирован на безопасность и удобство использования.
В этом руководстве описаны шаги по установке и базовой настройке Adminer на сервере с Alma Linux 8.
Что нужно прежде чем начать
- Сервер с Alma Linux 8.
- Домен, указывающий на IP сервера (например, adminer.exampledomain.com).
- Доступ root или пользователь с правами sudo.
Шаг 1 — Установка LAMP (Apache + MariaDB + PHP)
Установите Apache, MariaDB и PHP с необходимыми расширениями:
dnf install httpd mariadb-server php php-mysqli php-curl php-json -yЗапустите и включите автозапуск служб:
systemctl start httpd mariadb
systemctl enable httpd mariadbПояснение: PHP-расширение php-mysqli обеспечивает связь с MySQL/MariaDB. Если планируете PostgreSQL, установите соответствующие пакеты (php-pgsql).
Шаг 2 — Создание базы данных и пользователя для Adminer
Войдите в консоль MariaDB:
mysqlВнутри оболочки создайте базу данных и пользователя (замените пароль на надёжный):
MariaDB [(none)]> CREATE DATABASE adminer;
MariaDB [(none)]> CREATE USER 'adminer'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON adminer.* TO 'adminer'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Примечание: Adminer сам по себе не требует отдельной БД для работы, но создавая выделённую базу и пользователя вы ограничиваете права и повышаете безопасность.
Шаг 3 — Загрузка Adminer
Создайте каталог для Adminer и скачайте single-file версию:
mkdir /var/www/html/adminer
cd /var/www/html/adminer
wget -O index.php https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.phpНазвания файлов и путь важны: веб-докрут Apache по умолчанию — /var/www/html. После скачивания установите владельца и права:
chown -R apache:apache /var/www/html/adminer/
chmod -R 775 /var/www/html/adminer/Шаг 4 — Конфигурация Apache для Adminer
Создайте файл виртуального хоста:
nano /etc/httpd/conf.d/adminer.confВставьте конфигурацию (отредактируйте ServerName и ServerAdmin):
ServerAdmin [email protected]
DocumentRoot /var/www/html/adminer/
ServerName adminer.exampledomain.com
DirectoryIndex index.php
ErrorLog /var/log/httpd/adminer-error.log
CustomLog /var/log/httpd/adminer-access.log combined
Перезапустите Apache:
systemctl restart httpdПроверьте статус (пример вывода):
? httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
??php-fpm.conf
Active: active (running) since Fri 2022-03-11 11:28:37 UTC; 10s ago
Docs: man:httpd.service(8)
Main PID: 39037 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 23696)
Memory: 24.5M
CGroup: /system.slice/httpd.service
??39037 /usr/sbin/httpd -DFOREGROUND
??39039 /usr/sbin/httpd -DFOREGROUND
??39040 /usr/sbin/httpd -DFOREGROUND
??39041 /usr/sbin/httpd -DFOREGROUND
??39042 /usr/sbin/httpd -DFOREGROUND
Mar 11 11:28:37 almalinux systemd[1]: httpd.service: Succeeded.
Mar 11 11:28:37 almalinux systemd[1]: Stopped The Apache HTTP Server.
Mar 11 11:28:37 almalinux systemd[1]: Starting The Apache HTTP Server...Если статус active (running), Apache обслуживает ваш виртуальный хост.
Шаг 5 — Доступ к веб-интерфейсу Adminer
Откройте в браузере: http://adminer.exampledomain.com
Вы увидите страницу входа Adminer:

Введите хост (обычно localhost), имя базы данных, логин и пароль, затем нажмите Login. После успешного входа откроется панель управления:

Отсюда можно создавать таблицы, представления, процедуры, выполнять SQL-запросы и экспорт/импорт данных.
Рекомендации по безопасности и жёсткая конфигурация
Важно ограничить доступ к административным интерфейсам:
- Включите HTTPS (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
- Пример установки certbot и автоматической настройки Apache:
dnf install certbot python3-certbot-apache -y
certbot --apache -d adminer.exampledomain.com- Ограничьте доступ по IP на уровне Apache, если интерфейс нужен только локальной сети:
Require ip 192.0.2.0/24
Require all denied
- Используйте .htpasswd для дополнительной базовой аутентификации (если нужно).
- Не храните Adminer с правами на запись для всех. Держите файл index.php в режиме только для чтения для пользователя apache.
- Не используйте универсальный админ-пользователь базы данных — создавайте пользователей с минимально необходимыми правами.
Important: Adminer — мощный инструмент; дайте доступ только доверенным администраторам.
Мини-методология (быстрая последовательность действий)
- Обновить систему и установить httpd, mariadb-server, php.
- Запустить и включить службы.
- Создать базу и пользователя MariaDB для Adminer.
- Скопировать index.php Adminer в /var/www/html/adminer.
- Настроить виртуальный хост Apache и включить HTTPS.
- Проверить вход и выполнить контрольные операции.
Роли и чек-листы
Администратор сервера:
- Установить пакеты и обновления.
- Настроить firewall (firewalld/iptables) и обеспечить HTTPS.
- Настроить резервное копирование /var/lib/mysql.
Разработчик/DBA:
- Проверить доступность нужных БД через Adminer.
- Тестировать создание/удаление таблиц и экспорт/импорт.
Оператор/DevOps:
- Автоматизировать установку и деплой (Ansible/Podman/CI).
- Мониторить логи /var/log/httpd/adminer-access.log.
Критерии приёмки
- Страница http://adminer.exampledomain.com доступна и возвращает код 200.
- Успешный вход в Adminer под созданным пользователем.
- Возможность создать таблицу, вставить запись и прочитать её.
- Экспорт структуры таблицы и данных успешно выполняется.
Пример простого SQL для проверки:
CREATE TABLE test_adminer (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100));
INSERT INTO test_adminer (name) VALUES ('check');
SELECT * FROM test_adminer;Факты и полезные значения
- Путь веб-докрута: /var/www/html/
- Каталог Adminer: /var/www/html/adminer/
- Примерный URL: http://adminer.exampledomain.com
- Порт HTTP: 80, HTTPS: 443, MySQL/MariaDB: 3306
- Версия Adminer в примере: 4.8.1 (single-file PHP)
Альтернативы и когда Adminer не подходит
- phpMyAdmin — более крупный и функциональный пакет для MySQL/MariaDB.
- Если требуется централизованное управление множеством СУБД с ролями и аудитом, рассмотрите специализированные коммерческие решения.
- Для автоматизированных бэкапов и миграций лучше использовать скрипты и инструменты CI/CD, а не веб-интерфейс.
Краткое объявление для команды (100–200 слов)
Установлен и настроен Adminer на Alma Linux 8. Инструмент размещён в /var/www/html/adminer и доступен по адресу https://adminer.exampledomain.com (после настройки TLS). Для работы создана отдельная база adminer и пользователь с ограниченными правами. Адрес доступа защищён на уровне Apache и требует HTTPS; доступ по IP и по учётным данным ограничен. Рекомендуется использовать Adminer только для оперативных задач администрирования БД и не хранить экспортированные дампы на публичных дисках.
Заключение
Поздравляем — вы развернули Adminer на Alma Linux 8. Проверьте доступность интерфейса, ограничьте доступ и настройте HTTPS. Если нужно, помогу подготовить автоматизацию установки (Ansible/Playbook) или создать правила firewall/HTACCESS.
Summary:
- Установите LAMP, создайте базу и пользователя, скачайте Adminer и настройте виртуальный хост.
- Защитите доступ (HTTPS, IP-ограничения, минимум прав).
- Протестируйте вход и базовые операции.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента