В данной статье мы расскажем, как установить phpMyAdmin, популярный инструмент управления MySQL, на серверы с Debian-based и RedHat-based ОС с предустановленным стеком LEMP (Linux, Nginx, MySQL, PHP).
Установка PhpMyAdmin на Ubuntu/Debian
Рассмотрим установку PhpMyAdmin на примере сервера с ОС Ubuntu 20.04 с предустановленным стеком LEMP. Данная инструкция также подойдет для сервера с ОС Ubuntu 22.04, Debian 11 и Debian 12. Для установки потребуются права суперпользователя.
Обновляем список пакетов:
# apt update
Чтобы установить phpMyAdmin, выполните следующую команду:
# apt install -y phpmyadmin
Далее будет предложено выбрать веб-сервер для настройки. Так как у нас на сервере установлен стек LEMP, ничего не выбираем (нажимаем на Tab, <Ok> и Enter).

Далее установщик спросит, хотите ли вы использовать dbconfig-common для настройки базы данных. Так как для работы PhpMyAdmin нужно создать новую базу данных и пользователя, выбираем <Yes> и нажимаем на Enter.

Далее создаётся новый пользователь базы данных с именем phpmyadmin. Теперь необходимо задать этому пользователю пароль. В целях безопасности придумайте сложный пароль. Вводим пароль, нажимаем Tab, далее <Ok> и Enter.

Подтверждаем пароль и также нажимаем <Ok>. Пароли должны совпадать.

Проверим настройки PHP-FPM. Откроем файл /etc/php/7.4/fpm/php.ini
(замените на путь к файлу конфигурации в зависимости от вашей версии PHP. В Debian 12, например, это будет /etc/php/8.2/fpm/php.ini
) и проверим строку cgi.fix_pathinfo
, она не должна быть закомментирована и должна иметь значение 0:
# vim /etc/php/7.4/fpm/php.ini

Далее необходимо создать символическую ссылку на директорию PhpMyAdmin. Замените путь к стандартному корню сайта /var/www/html
на путь корневой директории вашего сайта:
# ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Теперь откроем конфигурационный файл сайта в любом редакторе. В данном примере это дефолтная конфигурация, вам же необходимо открыть конфигурационный файл NGINX вашего сайта:
# vim /etc/nginx/sites-available/default
В секцию server
добавим строки:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
Замените /run/php/php7.4-fpm.sock
на путь к сокету вашей версии PHP.
Готово. Можно проверить конфигурацию NGINX, и если ошибок при проверке конфигурации нет — перезапустить службу:
# nginx -t
# systemctl restart nginx
Далее необходимо создать в MySQL пользователя, с данными которого мы подключимся к PhpMyAdmin:
# mysql -u root -p
mysql> CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapassword';
где pma
— имя пользователя PhpMyAdmin, а pmapassword
— пароль, замените на свои значения. В целях безопасности настоятельно рекомендуем не использовать явные имена пользователей (например, pma или phpmyadmin) и использовать сложные пароли.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost';
mysql> FLUSH PRIVILEGES;
Готово. Теперь переходим по адресу http://домен_или_ip_адрес/phpmyadmin

Вводим данные созданного нами пользователя и попадаем в веб-интерфейс PhpMyAdmin.

Установка PhpMyAdmin на CentOS/AlmaLinux/RockyLinux
Рассмотрим установку PhpMyAdmin на примере сервера с ОС CentOS 7 с предустановленным стеком LEMP. Данная инструкция также подойдет для сервера с ОС CentOS 8/9, а также для аналогичных версий ОС Alma/Rocky Linux. Для установки потребуются права суперпользователя.
Самый простой вариант — установка из репозитория.
Для этого потребуется установить репозиторий EPEL:
# yum install epel-release -y
Устанавливаем PhpMyAdmin, необходимые пакеты PHP и перезапускаем php-fpm:
# yum install phpmyadmin -y
# yum install php-json php-mbstring php-mysqli
# systemctl restart php-fpm
Далее создаем конфигурационный файл для PhpMyAdmin:
# vim /etc/nginx/conf.d/phpmyadmin.conf
И заполняем его:
server {
listen 80;
listen [::]:80;
server_name _; # доменное имя
root /usr/share/nginx/html/; # корневая директория домена
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # путь к сокету php-fpm
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /phpmyadmin {
root /usr/share/nginx/; # директория, в которой расположен каталог phpmyadmin
index index.php index.html index.htm;
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/nginx/; # директория, в которой расположен каталог phpmyadmin
}
location ~ ^/phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # путь к сокету php-fpm
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~ /\.ht {
access_log off;
log_not_found off;
deny all;
}
}
Проверяем, что в конфигурации NGINX нет ошибок, и перезапускаем службу:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# systemctl restart nginx
Далее необходимо создать в MySQL пользователя, с данными которого мы подключимся к PhpMyAdmin (на данном этапе потребуется ввести пароль root MySQL):
# mysql -u root -p
mysql> CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapassword';
где pma
— имя пользователя PhpMyAdmin, а pmapassword
— пароль, замените на свои значения. В целях безопасности настоятельно рекомендуем не использовать явные имена пользователей (например, pma или phpmyadmin) и использовать сложные пароли.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost';
mysql> FLUSH PRIVILEGES;
Готово. Теперь переходим по адресу http://домен_или_ip_адрес/phpmyadmin
, вводим данные созданного нами пользователя и попадаем в веб-интерфейс PhpMyAdmin.