Тариф успешно добавлен в корзину
В корзину
url image

Установка PhpMyAdmin на сервер LEMP

В данной статье мы расскажем, как установить 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.

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!