Установка phpMyAdmin с Nginx на Ubuntu 18.04

phpMyAdmin — бесплатный веб-интерфейс для управления базами MySQL/MariaDB. С его помощью можно создавать и изменять базы, управлять пользователями и правами, импортировать/экспортировать данные в форматах CSV, SQL, XML и PDF.
В этом руководстве показано, как установить phpMyAdmin на сервер Ubuntu 18.04 с веб-сервером Nginx (стек LEMP).
Что потребуется
- Сервер с Ubuntu 18.04 LTS.
- Статический IP-адрес сервера: 192.168.0.111 (оставьте свой IP, если отличается).
- Непользователь root с правами sudo.
Краткий план действий
- Обновить систему.
- Установить Nginx, MariaDB и PHP (LEMP).
- Установить phpMyAdmin из репозитория Ubuntu.
- Создать администратора в MariaDB для входа в phpMyAdmin.
- Настроить виртуальный хост Nginx и перезапустить сервис.
- Проверить доступ и усилить безопасность.
Важно: команды в примерах выполняются от имени пользователя с правами sudo.
Обновление системы
Перед началом обновите пакеты и перезагрузите систему при необходимости:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, чтобы применить обновления ядра и сервисов.
Установка LEMP (Nginx + MariaDB + PHP)
Установите Nginx, MariaDB и необходимые PHP-модули:
sudo apt-get install nginx php7.2 php7.2-common php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-cgi php7.2-common php-pear php-gettext mariadb-server -yЗапустите и включите сервисы для автозапуска:
sudo systemctl start nginx
sudo systemctl start mariadb
sudo systemctl enable nginx
sudo systemctl enable mariadbПроверьте статус сервисов при необходимости:
sudo systemctl status nginx
sudo systemctl status mariadbУстановка phpMyAdmin
phpMyAdmin доступен в репозитории Ubuntu 18.04, установите пакет:
sudo apt-get install phpmyadmin -yВо время установки установщик предложит выбрать веб-сервер. Не выбирайте Apache, нажмите OK — мы будем настраивать Nginx вручную.

Далее установщик предложит настроить базу данных для phpMyAdmin. Выберите No, затем вручную задайте пароль для регистрации phpMyAdmin в базе данных, подтвердите его.

Настройка базы данных (MariaDB)
Войдите в консоль MariaDB:
sudo mysqlСоздайте отдельную учетную запись администратора phpMyAdmin и выдайте привилегии (замените mypassword на надежный пароль):
MariaDB [(none)]> CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'mypassword';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;Выйдите из консоли:
MariaDB [(none)]> EXIT;Примечание: по соображениям безопасности вместо GRANT ALL PRIVILEGES можно выдать минимально необходимые привилегии к конкретным базам данных.
Настройка Nginx для phpMyAdmin
Создайте виртуальный хост для доступа к phpMyAdmin:
sudo nano /etc/nginx/sites-available/phpmyadmin.confВставьте конфигурацию ниже (следите за синтаксисом и путём к php-fpm):
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name 192.168.0.111;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Сохраните файл и проверьте конфигурацию Nginx:
sudo nginx -tОжидаемый вывод (пример):
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulЗатем включите виртуальный хост и удалите дефолтный сайт:
sudo rm -rf /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/Перезапустите Nginx:
sudo systemctl restart nginxПроверьте статус сервиса:
sudo systemctl status nginxПример ожидаемого вывода статуса сервиса будет содержать строки о том, что nginx активен и работает.
Доступ к phpMyAdmin
Откройте в браузере:
http://192.168.0.111/phpmyadmin/

В качестве имени пользователя используйте созданного выше ‘phpadmin’ и пароль, который вы задали. После успешного входа вы увидите панель управления phpMyAdmin:

Поздравляем — phpMyAdmin установлен и доступен через Nginx.
Повышение безопасности (рекомендуемые шаги)
- Ограничьте доступ по IP к /phpmyadmin в конфигурации Nginx, если у вас фиксированные адреса.
- Настройте HTTP-аутентификацию (Basic Auth) на уровне Nginx в дополнение к логину phpMyAdmin.
- Всегда используйте HTTPS (настройте сертификат Let’s Encrypt и слушайте 443).
- Отключите учетную запись root@localhost для удалённого доступа и используйте отдельные учётные записи с минимальными привилегиями.
- Регулярно обновляйте систему и пакеты (apt-get upgrade).
- Ограничьте размер загружаемых файлов и время выполнения PHP, чтобы снизить риск DoS через веб-интерфейс.
Частые ошибки и их устранение
- Nginx 502 Bad Gateway: проверьте, запущен ли php7.2-fpm и совпадает ли путь к сокету fastcgi_pass.
- Ошибка доступа к /phpmyadmin 404: убедитесь, что корень сайта (root) содержит симлинк или папку phpmyadmin. При установке через пакет обычно файлы находятся в /usr/share/phpmyadmin — создайте симлинк в /var/www/html:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin- Неправильный логин: проверьте, что пользователь и пароль созданы в MariaDB и что вы используете правильный хост (обычно ‘localhost’).
Проверочный чек-лист перед вводом в эксплуатацию
- Система обновлена и перезапущена после обновлений.
- Nginx и MariaDB запущены и включены в автозагрузку.
- phpMyAdmin установлен и доступен по URL.
- Создана отдельная база/учётная запись для административного доступа.
- Настроено HTTPS и, при необходимости, Basic Auth.
- Настроены резервные копии баз данных и тест восстановления.
Роли и ответственность (кратко)
- Системный администратор: установка и обновление пакетов, настройка Nginx и MIME/SSL.
- DBA/администратор БД: управление пользователями и правами в MariaDB, план резервного копирования.
- Разработчик: проверка работы приложений через phpMyAdmin, импорт/экспорт данных с контролем версий.
Критерии приёмки
- phpMyAdmin доступен по указанному URL и открывается без ошибок.
- Учетная запись администратора может войти и видеть список БД.
- Nginx работает стабильно и отвечает на запросы (nginx: configuration test is successful).
- HTTPS включён и валиден (если требование безопасности).
Глоссарий (1 строка)
- LEMP: стек Linux, Nginx, MariaDB/MySQL, PHP.
- php-fpm: FastCGI Process Manager для обработки PHP в Nginx.
- phpMyAdmin: веб-интерфейс для управления MySQL/MariaDB.
Краткое резюме
phpMyAdmin можно быстро установить из стандартного репозитория Ubuntu и подключить к Nginx, но важно вручную настроить виртуальный хост и усилить безопасность (HTTPS, ограничение доступа и минимальные привилегии для БД). После выполнения шагов в этом руководстве вы получите рабочую, управляемую и более безопасную установку phpMyAdmin.
Если нужно, могу прислать готовую конфигурацию Nginx с поддержкой HTTPS и примером ограничения доступа по IP.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента