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

Не всегда удобно пользоваться консолью MySQL для редактирования и создания баз данных, поэтому многие устанавливают phpMyAdmin, но не знают как заставить его работать на nginx и php 7.0 или php 7.1.

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

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

Установка phpMyAdmin на ubuntu 16.04

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

sudo apt install phpmyadmin

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

  Служба доменных имен , установка dns сервера на Ubuntu

Так как 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 или другую версию php то phpmyadmin работать не будет

Установка php 7 — php7.0-fpm и других расширений php

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

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

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

  Настройка сети для сервера на базе Ubuntu

sudo nano /etc/php/7.0/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.0-fpm.sock;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
   }
}

В данном случае вам будет доступен сайт если у вас он есть и phpmyadmin по адресу my.site.ru/phpmyadmin/ . Вы хотите чтобы у вас менеджер баз данных был на другом домене то создайте в редакторе зон днс вашего хостинга специальный поддомен и сделайте так:

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.0-fpm.sock;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
   }
}

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

sudo service php7.0-fpm restart
sudo service nginx restart

Проверяем работу. Если у вас все получилось радуемся жизни ;)

  Apache2: Виртуальные хосты создание нескольких сайтов на Ubuntu Server

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here