• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

phpMyAdmin - это веб-приложение с открытым исходным кодом для управления базами данных MySQL и MariaDB. Реализован на языке PHP и является одним из самых популярных инструментов администрирования баз данных, дабы упростить взаимодействие с базами данных системным администраторам.

Перед установкой phpMyAdmin на вашем сервере должен быть установлен сервер баз данных Mysql/Mariadb. О том как это сделать мы рассказывали в статье «Установка LAMP на Debian 10».

Скачиваем phpmyadmin с официального сайта и переходим к установке :

 

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
tar -zxvf phpMyAdmin-4.9.0.1-all-languages.tar.gz
mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpMyAdmin
cp /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
nano /usr/share/phpMyAdmin/config.inc.php

 

Добавляем парольную фразу blowfish_secret(Сгененировать можно https://phpsolved.com/phpmyadmin-blowfish-secret-generator/)

Затем обновите директиву controlpass указав безопасный пароль по вашему выбору.

Так же добавляем в конфиг путь к папке с временными файлами:

 

$cfg['TempDir'] = '/usr/share/phpMyAdmin/tmp';

 

Обновление директивы controlpass

Создаем бд и таблицы для phpmyadmin из create_tables.sql

 

mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p

 

Подключаемся к СУБД MYSQL и даем привилегии

 

mysql -u root -p

 

GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';

 

FLUSH PRIVILEGES;

 

Создаем алиас для доступа phpmyadmin по адресу http://ваш-ip/phpmyadmin

 

nano /etc/apache2/sites-available/phpmyadmin.conf

Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>

AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>

# Apache 2.4

<RequireAny>

Require all granted

</RequireAny>

</IfModule>

<IfModule !mod_authz_core.c>

# Apache 2.2

Order Deny,Allow

Deny from All

Allow from 127.0.0.1

Allow from ::1

</IfModule>

</Directory>

<Directory /usr/share/phpMyAdmin/setup/>

<IfModule mod_authz_core.c>

# Apache 2.4

<RequireAny>

Require all granted

</RequireAny>

</IfModule>

<IfModule !mod_authz_core.c>

# Apache 2.2

Order Deny,Allow

Deny from All

Allow from 127.0.0.1

Allow from ::1

</IfModule>

</Directory>

 

Подключаем созданный виртуалхост командой :

 

a2ensite phpmyadmin

 

Создаем папки для временных файлов и настраиваем права

 

mkdir /usr/share/phpMyAdmin/tmp
chmod 777 /usr/share/phpMyAdmin/tmp
chown -R www-data:www-data /usr/share/phpMyAdmin
systemctl restart apache2

 

Вам также следует создать пользователя Myriadb для управления базами данных через phpmyadmin, поскольку рекомендуется входить в систему с использованием другой учетной записи, отличной от пользователя pma. С помощью этой команды вы можете создать пользователя, который имеет привилегии для всех таблиц в базе данных, а также полномочия добавлять, изменять и удалять привилегии пользователей. Обязательно дайте ему надежный пароль:

 

mysql -u root -p

 

GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' IDENTIFIED BY 'password'
WITH GRANT OPTION;

 

FLUSH PRIVILEGES;

 

EXIT;

 

Проверяем доступ к phpmyadmin:

http://ваш-ip/phpMyAdmin

Из-за распостранной дефолтной конфигурации phpMyAdmin является популярной целью для злоумышленников и для этого нам необходимо защитится от несанкционированного доступа. Самый простой и надежный способ - это запретить доступ к директории по ip-адресу. Если у вас статический ip адрес, то разрешаем в виртуалхосте доступ для вашего ip, с остальных адресов блокируем подключение:

 

nano /etc/apache2/sites-available/phpmyadmin.conf

 

Ограничение по IP  к дирректории

Если вам такой вариант не подходит , вы можете дополнительно запаролировать доступ к директории.

Генерируем пароль с помощью утилиты htpasswd для пользователя phpadmin:

Установка нового пароля

Добавляем в виртуалхост директиву AllowOverride All для работы .htaccess в секцию с нашей директорией:

Добавление AllowOverride All

Создаем файл .htaccess в папке с phpmadmin и добавляем следующие настройки

 

nano /usr/share/phpMyadmin/.htaccess

 

Настройка htaccess файла

 

AuthType Basic: Эта строка задаёт режим авторизации. Данный тип говорит о том ,что авторизация будет осуществляться при помощи пароля и файла пароля .

AuthName: Текст , который будет отображаться в окне авторизации .

AuthUserFile: Указываем путь к файлу с паролями .

Require valid-user: Эта строка означает, что только аутентифицированные пользователи могут осуществлять доступ к защищаемой системе.

Перезапускаем апач и проверяем работу.

 

systemctl restart apache2

Проверка работы полсле перезапуска Apeche

У нас Вы можете заказать аренду сервера любой конфигурации. На сервер мы самостоятельно установим ОС с панелью управления, настроем безопасность сервера.

Дата: 08.08.2019
Автор: Валерий

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA