Установка и защита PhpMyAdmin на Ubuntu 18.04/20.04/22.04 LTS или Debian

Введение

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

Чтобы обеспечить взаимодействие пользователей с MySQL через веб-интерфейс, PhpMyAdmin был разработан. В этом руководстве мы рассмотрим установку и защиту PhpMyAdmin, чтобы вы могли без риска использовать его для управления базами данных в системе Ubuntu.

Основные требования

  • Сервер Ubuntu с административным пользователем, не являющимся root, с привилегиями sudo.
  • На вашем сервере установлен стек LAMP. Вы можете следовать этому руководству по установке стека LAMP, чтобы настроить его.

Наконец, при использовании такого программного обеспечения, как PhpMyAdmin, необходимо помнить о важных вопросах безопасности:

  • Общается с вашей установкой MySQL напрямую.
  • Управляет аутентификацией MySQL.
  • Выполняет и возвращает результаты любого SQL-запроса.

По этим причинам, а также из-за того, что PhpMyAdmin является широко распространенным PHP-приложением, которое регулярно подвергается атакам, вы никогда не должны запускать его на удаленных компьютерах через обычное HTTP-соединение. Если у вас еще нет домена с сертификатом SSL/TLS, вы можете использовать этот метод для его создания, защитив Apache с помощью Let’s Encrypt на Ubuntu.

Выполнив эти шаги, вы готовы приступить к работе над этим руководством.

Шаг 1: Установка PhpMyAdmin

Для начала мы установим PhpMyAdmin из стандартного репозитория дистрибутива.

$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

В Ubuntu при запросе следует выбрать apache2.

Процедура установки помещает файл конфигурации phpMyAdmin Apache в папку /etc/apache2/conf-enabled/ , где он будет немедленно прочитан. Чтобы завершить настройку Apache и PHP на взаимодействие с phpMyAdmin, следующей задачей в этом разделе руководства будет явная активация функции mbstring Расширение PHP, которое можно получить, набрав:

$ sudo phpenmod mbstring

Перезапустите Apache:

$ sudo systemctl restart apache2

На этом установка phpMyAdmin завершена. В веб-браузере перейдите на доменное имя или публичный IP-адрес вашего сервера, а затем /phpMyAdmin:

http://server_IP/phpMyAdmin
phpmyadmin настройка ubuntu debian

Войдите в интерфейс как root или используя другое имя пользователя и пароль.

Шаг 2: Защита инстанции phpMyAdmin

На данный момент экземпляр phpMyAdmin, установленный на нашем сервере, должен быть полностью функциональным. Однако мы открыли нашу систему MySQL для внешнего мира, добавив веб-интерфейс.

Изменение URL доступа приложения

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

В верхней части файла вы увидите две строки, которые выглядят следующим образом:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

Эти две строки являются нашими псевдонимами, что означает, что всякий раз, когда мы обращаемся к доменному имени или IP-адресу нашего сайта, за которым следует либо /phpMyAdmin или /phpmyadmin, нам будет отправлено содержимое по адресу /usr/share/phpMyAdmin.

Чтобы применить желаемые модификации, нужно удалить или закомментировать существующие строки и заменить их своими:

# Alias /phpMyAdmin /usr/share/phpMyAdmin
# Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /secretpage /usr/share/phpMyAdmin

Чтобы реализовать изменения, перезапустите веб-сервис:

$ sudo systemctl restart apache2

Если вы вернетесь в прежнее место установки phpMyAdmin, то получите ошибку 404.

С другой стороны, ваш интерфейс phpMyAdmin будет доступен на новом сайте, который мы выбрали:

http://server_IP/secretpage

Настройка аутентификации на веб-сервере :

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

Откройте ваш файл конфигурации и добавьте AllowOverride All в <Каталог /usr/share/phpmyadmin>

Ubuntu : /etc/apache2/conf-available/phpmyadmin.conf

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    . . .

И перезапустите Apache

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

Создайте файл в папке PhpMyAdmin:

$ sudo nano /usr/share/phpmyadmin/.htaccess

Добавьте следующие строки:

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

Сохраните и закройте файл, когда закончите.

Вы выбрали /etc/phpmyadmin/.htpasswd в качестве места расположения файла паролей. Теперь вы можете использовать htpasswd создайте этот файл и назначьте ему начального пользователя:

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

затем введите и подтвердите пароль для создаваемого пользователя.

Если вы хотите добавить еще одного пользователя, используйте следующий синтаксис без -c флага:

$ sudo htpasswd /etc/phpmyadmin/.htpasswd newuser

Затем перезапустите Apache, чтобы включить .htaccess аутентификация.

Когда вы войдете в подкаталог phpMyAdmin, вам будет предложено ввести имя и пароль новой учетной записи:

http://server_IP/secretpage
безопасный phpmyadmin

Заключение

Теперь PhpMyAdmin должен быть установлен и готов к работе на вашем сервере. С помощью этого интерфейса вы можете создавать базы данных, пользователей и таблицы, а также выполнять стандартные операции, такие как удаление и изменение структур и данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *