Image

База знаний → Установка и настройка phpMyAdmin на Ubuntu 20.04

[Виртуальные сервера]
Дата публикации: 07.06.2023

Для работы с базами данных через веб интерфейс существует веб редактор phpMyAdmin. Данный инструмент подключается к базе данных MySQL/MariaDB и отображает существующие базы данных, позволяет создавать новые, редактировать данные в таблицах. В целом все тоже самое, что можно сделать в консоли mysql, но гораздо удобней и наглядней, особенно при частых работах с данными. Рассмотрим установку phpMyAdmin на Ubuntu 20.04 с предустановленным LAMP.


Все настройки мы производим от пользователя root, если вы используете обычного пользователя, перед командой добавляйте sudo.


1. Установим необходимые компоненты и сам редактор баз данных

apt install php-mbstring
apt install phpmyadmin


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

  • [*]apache2
  • []lighttpd

В нашем случае сервер с предустановленным LAMP и мы выбираем apache2.

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

Перезапустим веб службу, чтобы применить конфигурацию нашей установки:

/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart


2. Основные настройки

Перейдем по ссылке http://server-ip/phpmyadmin чтобы проверить работу, можем ввести логин и пароль от любой базы данных, например только что созданной, логин phpmyadmin и заданный нами пароль. Иногда для удобства требуется работать сразу с несколькими базами данных, чтобы их отобразить под одним пользователем нам нужно создать такого и делегировать права пользователя root.

mysql -u root -p

CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'пароль'; GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost'; FLUSH PRIVILEGES;


Теперь при авторизации под пользователем alldbuser отображаются все базы данных созданные на данном сервере.


3. Настройка безопасности


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

nano /usr/share/phpmyadmin/.htaccess

AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user


Добавим пользователя и укажем для него пароль:

htpasswd -c /etc/phpmyadmin/.htpasswd webdb-user

Для применения настроек на уровне веб сервера необходимо изменить глобальные настройки в файле /etc/apache2/apache2.conf значение AllowOverride было All, блок настроек должен выглядеть так:

AllowOverride All
Require all granted


Перезапустим службу, в зависимости от Вашего веб сервера:

/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart


Теперь при переходе по ссылке http://server-ip/phpmyadmin появится окно для ввода логина и пароля. В нашем случае логином будет webdb-user. Также можно добавить конфигурацию, чтобы ввод пароля с неизвестных ip адресов даже не предлагался, а пользователь получал сообщение Запрещено (Forbidden), добавьте строку в файл и укажите свои статические ip адреса:

nano /usr/share/phpmyadmin/.htaccess

AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user Allow from 77.88.99.11 22.33.44.55


Настройка завершена, мы настоятельно рекомендуем вводить пароли только используя https протокол с SSL сертификатом, во избежание перехвата данных.





Нет комментариев