Как настроить PhpMyAdmin на NGINX и PHP 7.4

Не всегда удобно пользоваться консолью MySQL для редактирования и создания баз данных. Поэтому многие устанавливают phpMyAdmin, но не знают как настроить PhpMyAdmin на NGINX в связке с PHP




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






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




Предположительно
у вас уже установлен MySQL сервер но еще не установлен phpMyAdmin.
Приступим к установке через терминал, putty и.т.д




sudo apt install phpmyadmin




В процессе установки будет предложено выбрать веб сервер на котором будет работать phpmyadmin. Так как устанавливать мы будем NGINX, то естественно мы просто нажмем enter и продолжим дальше. Далее будет предложено создать базу данных, и создать пароль для нее — выполните требуемое. 




Так как phpmyadmin распаковался и находится по пути /usr/share/phpmyadmin , а ваш сайт допусти лежит в директории /home/www/my.site.ru, то нам всего навсего нужно будет создать символьную ссылку таким образом:




ln -s /usr/share/phpmyadmin /home/www/my.site.ru




после
чего в директории сайта появится ссылка на менеджер управления базами
данных. И чтобы зайти в phpmyadmin нам нужно перейти по адресу:




http://my.site.ru/phpmyadmin/




Если вы не установили php 7.4 или другую версию php то phpmyadmin работать не будет




Установка php 7.4, php7.4-fpm и других расширений php




Вводим в терминале команду, которая установит все необходимые расширения для работы php движков:




sudo apt install php7.4 php7.4-fpm php7.4-mbstring php-pear php7.4-mcrypt php7.4-mysql php7.4-gd php7.4-zip php7.4-curl




После установки отредактируем php.ini




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




включаем поиск по файлу комбинацией клавиш ctrl+w. Вводим строку:




;cgi.fix_pathinfo = 1




раскомментируем и изменим 1 на 0. Чтобы выглядело вот так:




cgi.fix_pathinfo = 0




Данное действие рекомендовано для увеличения безопасности.




И так у нас все готово: расширение php для работы с mySQL установлены, установлен php-fpm для работы c nginx.




перейдем к следующему этапу настройки.




Настройка nginx для работы с phpmyadmin




Создаем конфигурационный файл




sudo nano /etc/nginx/conf.d/my.site.conf




Вставим в него




server { 
listen 80;    
server_name my.site.ru;    
root /home/www/my.site.ru;    
charset utf-8;    
index index.php index.html;    
client_max_body_size 100m;    
fastcgi_read_timeout 160s; 

location / {    
try_files $uri $uri/ /index.php?$args;    
} 

location ~ .php$ {    
try_files $uri =404;    
fastcgi_index index.php;    
fastcgi_pass unix:/run/php/php7.4-fpm.sock;    
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
include fastcgi_params;    
} 
}




В данном случае вам будет доступен сайт если у вас он есть и phpmyadmin по адресу my.site.ru/phpmyadmin/ .




Если вы хотите чтобы менеджер баз данных был на другом домене, например mysql.my.site.ru, создайте в редакторе зон DNS вашего хостинга специальный поддомен и отредактируйте файл nginx так:




sudo nano /etc/nginx/conf.d/mysql.my.site.conf




server { 
listen 80;    
server_name mysql.my.site.ru;    
root /home/www/my.site.ru/phpmyadmin;    
charset utf-8;    
index index.php index.html;    
client_max_body_size 100m;    
fastcgi_read_timeout 160s; 

location / {    
try_files $uri $uri/ /index.php?$args;    
} 

location ~ .php$ {    
try_files $uri =404;    
fastcgi_index index.php;    
fastcgi_pass unix:/run/php/php7.4-fpm.sock;    
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    include fastcgi_params;    
} 
}




Перезагружаем nginx и php fpm




sudo service php7.4-fpm restart




sudo service nginx restart




Теперь можно проверить все ли работает. На этом всё.



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2019-03-11T11:07:40
Nginx