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';
Создаем бд и таблицы для 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
Если вам такой вариант не подходит , вы можете дополнительно запаролировать доступ к директории.
Генерируем пароль с помощью утилиты htpasswd для пользователя phpadmin:
Добавляем в виртуалхост директиву AllowOverride All для работы .htaccess в секцию с нашей директорией:
Создаем файл .htaccess в папке с phpmadmin и добавляем следующие настройки
nano /usr/share/phpMyadmin/.htaccess
AuthType Basic: Эта строка задаёт режим авторизации. Данный тип говорит о том ,что авторизация будет осуществляться при помощи пароля и файла пароля .
AuthName: Текст , который будет отображаться в окне авторизации .
AuthUserFile: Указываем путь к файлу с паролями .
Require valid-user: Эта строка означает, что только аутентифицированные пользователи могут осуществлять доступ к защищаемой системе.
Перезапускаем апач и проверяем работу.
systemctl restart apache2
У нас Вы можете заказать аренду сервера любой конфигурации. На сервер мы самостоятельно установим ОС с панелью управления, настроем безопасность сервера.
Дата: 08.08.2019 Автор: Валерий
|
Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:
comments powered by Disqus