Не всегда удобно пользоваться консолью 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-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 1 голос
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять