Рубрики

  1. Главная   >  
  2. Статьи   >  
  3. Linux   >  
  4. УСТАНОВКА PHPMYADMIN С NGINX В UBUNTU 20.04

УСТАНОВКА PHPMYADMIN С NGINX В UBUNTU 20.04

PhpMyAdmin - это веб-приложение с открытым исходным кодом, написанное на языке программирования PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. Главной особенностью данного приложения является возможность управления MySQL без непосредственного ввода SQL команд. Приложение позволяет создавать и редактировать таблицы, вносить в них данные, администрировать пользователей баз данных, а также экспортировать и импортировать записи и структуру таблиц из базы данных.

В этой статье мы рассмотрим, как выполняется установка phpMyAdmin на Ubuntu 20.04 с веб-сервером Nginx. Прежде чем приступать к установке phpMyAdmin, у вас уже заранее должны быть установлены такие компоненты, как Nginx, MariaDB или MySQL и PHP. 

Прежде чем мы сможем установить phpMyAdmin на Ubuntu, необходимо убедиться, что у вас установлен сам интерпретатор языка программирования PHP и необходимые расширения для PHP. Для установки всех необходимых пакетов выполните в терминале команду:

sudo apt -y install php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-pdo php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath

 

2. УСТАНОВКА PHPMYADMIN

Теперь можно установить сам пакет phpMyAdmin при помощи команды:

 

sudo apt -y install phpmyadmin

После этого установка phpMyAdmin в Ubuntu завершена.

 

3. НАСТРОЙКА PHPMYADMIN В NGINX С ПОМОЩЬЮ СИМВОЛИЧЕСКОЙ ССЫЛКИ

Для того чтобы Nginx смог правильно открыть phpMyAdmin, необходимо выполнить следующие действия. Для начало настройте PHP-FPM для обслуживания веб-приложений или сайтов на основе PHP в файле конфигурации /etc/php/7.4/fpm/php.ini.

 

sudo nano /etc/php/7.4/fpm/php.ini

 

Найдите пункт cgi.fix_pathinfo = 1 и измените его значение на 0 чтобы получилось cgi.fix_pathinfo = 0:

Для получения доступа к веб-интерфейсу phpMyAdmin, необходимо создать символическую ссылку на каталог с файлами PhpMyAdmin в каталог вашего веб-сервера. По умолчанию в Ubuntu веб-сервер получает файлы из /var/www/html. Для этого используйте команду:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Поскольку индексный файл phpMyAdmin имеет расширение .php, убедитесь, что вы добавили его в список индексных файлов, в файле конфигурации сервера или виртуального хоста. Например, файле default который находится по пути /etc/nginx/sites-available/default или /etc/nginx/conf.d/ открыв файл в любом текстовом редакторе:

sudo nano /etc/nginx/sites-available/default

Найдите строку, содержащую комментарий # Add index.php to the list if you are using PHP и добавьте index.php в строку ниже:

После внесения изменений перезапустите Nginx, чтобы применить внесенные изменения:

sudo systemctl restart nginx

После выполнения данных действий, phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:

 

4. НАСТРОЙКА NGINX ДЛЯ PHPMYADMIN С ПОМОЩЬЮ ROOT

Это альтернативный способ настройки Nginx. Для его работы вам достаточно добавить код ниже в конфигурацию любого виртуального хоста. Например, того же /etc/nginx/sites-enabled/default:

 

sudo nano /etc/nginx/sites-enabled/default

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.2-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/;
  }
}

Для location /phpmyadmin устанавливается корневая папка /usr/share где находятся файлы PhpMyAdmin. Этот способ использовать предпочтительнее, поскольку именно с ним вы сможете настроить авторизацию. После внесения изменений проверьте конфигурацию Nginx и перезапустите веб-сервер:

sudo nginx -t

sudo systemctl restart nginx

 

 

5. НАСТРОЙКА NGINX ДЛЯ PHPMYADMIN С ПОМОЩЬЮ ALIAS

Если вы хотите задать для PhpMyAdmin свой путь, предыдущий вариант работать не будет. Но вы можете использовать другой вариант конфигурации, основанный на директиве alias:

sudo nano /etc/nginx/sites-available/default

location /phpmyadminff {
  alias /usr/share/phpmyadmin/;

  location ~ /(libraries|setup) {
    return 404;
  }
  location ~ ^/phpmyadminff/(.*\.php)$ {
    alias /usr/share/phpmyadmin/$1;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
  }
  location ~* ^/phpmyadminff/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    alias /usr/share/phpmyadmin/$1;
  }
}

Здесь аналогично предыдущему пункту вам необходимо сохранить изменения, проверить конфигурацию веб-сервера и перезапустить Nginx.

6. СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ ДЛЯ PHPMYADMIN

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

sudo mysql -u root -p

После ввода пароля root пользователя MySQL, введите следующие команды:

CREATE USER 'test'@'localhost' IDENTIFIED BY 'пароль';

GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

FLUSH PRIVILEGES;

При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.

Комментарии

Написать комментарий