Гид по технологиям

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

• 4 min read • Базы данных • Обновлено 18 Nov 2025
phpMyAdmin на Ubuntu 18.04 с Nginx
phpMyAdmin на Ubuntu 18.04 с Nginx

Интерфейс phpMyAdmin или логотип на сервере

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.

Краткий план действий

  1. Обновить систему.
  2. Установить Nginx, MariaDB и PHP (LEMP).
  3. Установить phpMyAdmin из репозитория Ubuntu.
  4. Создать администратора в MariaDB для входа в phpMyAdmin.
  5. Настроить виртуальный хост Nginx и перезапустить сервис.
  6. Проверить доступ и усилить безопасность.

Важно: команды в примерах выполняются от имени пользователя с правами 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

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

Настройка базы данных для 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/

Страница входа phpMyAdmin

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

Панель phpMyAdmin на Ubuntu 18.04

Поздравляем — 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.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро