Содержание
Установка и обеспечение безопасности phpMyAdmin в Ubuntu 20.04
Установка phpMyAdmin
phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. (https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-20-04-ru)
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
php-mbstring
: модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировкиphp-zip
: это расширение поддерживает загрузку файлов.zip
в phpMyAdminphp-gd
: поддержка библиотеки GD Graphicsphp-json
: поддержка сериализации JSON для PHPphp-curl
: позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы
Настройка аутентификации и прав пользователя
mysql -u root -p
SELECT user,authentication_string,plugin,host FROM mysql.user; -- Если plugin не равен mysql_native_password, то выполнить команду ниже (задав надежный пароль) ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password'; -- после версии php 7.4 включительно ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; -- до версии 7.4
Заходим в UI
Заходим под пользователем root в MySQL
Обеспечение безопасности phpMyAdmin
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
sudo systemctl restart apache2
AuthType Basic
: эта строка указывает тип аутентификации, используемый вами. Данный тип подразумевает использование аутентификации по паролю с помощью файла пароля.AuthName
: данная строка устанавливает сообщение для диалогового окна аутентификации. Вы должны указывать только общую информацию, чтобы неавторизованные пользователи не получили никакой информации о том, что вы защищаете.AuthUserFile
: указывает местоположение файла пароля, который будет использоваться для аутентификации. Он должен находиться вне обслуживаемых каталогов. Скоро мы создадим этот файл.Require valid-user
: указывает, что только выполнившие аутентификацию пользователи должны иметь доступ к этому ресурсу. Благодаря этому параметру неавторизованные пользователи не смогут выполнить вход.
Имя пользователя произвольное!
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
