phpMyAdmin с Nginx на Debian 10
phpMyAdmin — это бесплатный веб-инструмент с открытым исходным кодом для управления серверами MySQL и MariaDB . Он широко используется для управления базой данных компаниями веб-хостинга и администраторами, которые являются новыми для базы данных.
phpMyAdmin помогает системному администратору выполнять действия с базами данных, такие как создание, удаление, запросы, базы данных, таблицы, столбцы и т. д.
В этом посте мы увидим, как установить phpMyAdmin с Nginx на Debian 10 .
Будем настраивать phpMyAdmin на виртуальных машинах на proxmox на оной из виртуальных машин у нас находится mariadb на другой nginx и php7.3-fpm и сайт koktebel.club.
Mariadb подключена через TCP/IP
phpMyAdmin будем ставить где nginx и php7.3-fpm и сайт koktebel.club.
Установите PHP-расширения для phpMyAdmin для связи с базой данных.
sudo apt install -y php-json php-mbstring
Если sudo не поддерживает ,то можете обойтись без sudo , вот команда для установки
apt-get install sudo
Установка phpMyAdmin
PhpMyAdmin недоступен в качестве пакета Deb в репозитории ОС Debian для Debian 10. Итак, мы загрузим tar-архив с официального сайта .
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
Извлеките phpMyAdmin с помощью tar
команды.
Перейдите в раздел куда хотите извлечь, к примеру у меня было так, я создал отдельную папку где лежат сайты
cd /var/www/phpmyadmin
и командой извлечь
tar -zxvf phpMyAdmin-4.9.0.1-all-languages.tar.gz
или так
sudo mv phpMyAdmin-4.9.0.1-all-languages /var/www/phpmyadmin
Настройте phpMyAdmin
Скопируйте пример файла конфигурации.
sudo cp -pr /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
Отредактируйте файл конфигурации.
Я буду использовать mcedit в базовой конфигурации его нет, чтобы установить выполните команду
apt-get install mc
sudo mcedit /usr/share/phpMyAdmin/config.inc.php
Создайте секрет blowfish и обновите секрет в файле конфигурации.
$cfg['blowfish_secret'] = 'CfX1la/aG83gx1{7rADus,iqz8RzeV8x'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Также раскомментируйте настройки хранилища phpMyAdmin.
/**
* phpMyAdmin configuration storage settings.
*/
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = 'localhost';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
Импортируйте create_tables.sql, чтобы создать таблицы для phpMyAdmin.
sudo mysql </usr/share/phpMyAdmin/sql/create_tables.sql -u root -p
Войдите в MariaDB.
sudo mysql -u root -p
Добавьте пользователя и предоставьте разрешение в базу данных phpMyAdmin.
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
Создайте файл конфигурации виртуального хоста для phpMyAdmin (например, phpMyAdmin.conf ) в каталоге /etc/nginx/conf.d .
Или пойти можно боле простым путем сделайте ссылку с папки phpMyAdmin на папку где лежит ваш сайт. Работать будет но не безопасно.
Ссылка выглядеть будет так
ln -s /var/www/phpmyadmin /var/www/ваш-сайт/phpmyadmin
Файл конфигурации nginx
sudo nano /etc/nginx/conf.d/phpMyAdmin.conf
Используйте следующую информацию для создания виртуального хоста для phpMyAdmin. Измените доменное имя (имя_сервера) согласно вашему требованию
server {
listen 80; # Порт обращение к сайту phpMyAdmin
server_name pma.itzgeek.local; #Название сайта как вы будите обращятся
root /var/www/phpmyadmin; # Где лежат Файлы вашего phpMyAdmin
location / {
index index.php;
}
## Images and static content is treated different
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location ~ /(libraries|setup/frames|setup/libs) {
deny all;
return 404;
}
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/phpmyadmin$fastcgi_script_name;
}
}
Создайте каталог tmp для phpMyAdmin, а затем измените разрешение.
sudo mkdir /var/www/phpmyadmin/tmp
Установите владельца каталога phpMyAdmin.
sudo chown -R www-data:www-data /var/www/phpmyadmin
Перезапустите сервисы.
sudo systemctl restart nginx && systemctl restart php7.3-fpm
Создать БД и пользователя
По умолчанию root-пользователю MariaDB Разрешить доступ с любого хоста ко всем базам на сервере. Итак, теперь мы создадим пользователя базы данных и войдем в phpMyAdmin с этим пользователем.
База данных: app_db
Пользователь: app_user
mysql -u root -p
CREATE DATABASE app_db;
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Доступ к phpMyAdmin
Войдите в систему с пользователем базы данных, который мы только что создали на предыдущем шаге.
Если вы сделали символической ссылкой то будет доступен вот так
https://ваш_сайт/phpmyadmin/

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