Как установить phpMyAdmin на Ubuntu 20.04


Как установить phpMyAdmin на Ubuntu 20.04

Это подробная и пошаговая инструкция, как установить и настроить phpMyAdmin. Вам потребуется:

  • Сервер Ubuntu 20.04, который должен иметь пользователя без прав root с правами администратора, а, также, брандмауэр, настроенный с помощью ufw .
  • Стек LAMP (Linux, Apache, MySQL и PHP), установленный на вашем сервере.

Установка phpMyAdmin

Помимо пакета phpmyadmin , официальная документация рекомендует установить несколько расширений PHP для возможности использования определенной функциональности и улучшения производительности, а именно:

  • php-mbstring – модуль для работы со строками, не поддерживающими кодировку ASCII;
  • php-zip – расширение, поддерживающее загрузку файлов .zip ;
  • php-gd – поддержка библиотеки GD Graphics;
  • php-json – поддержка сериализации JSON;
  • php-curl – расширение, позволяющее PHP взаимодействовать с разными типами серверов, используя разные протоколы.

Сначала обновите индекс пакетов сервера:

Для запуска установки запустите команду:

При установке необходимо выбрать следующие параметры при запросах:

  • При выборе сервера выбирайте apache2.
  • На вопрос о необходимости использования dbconfig-common для настройки базы данных, следует выбрать « Да» .
  • Затем необходимо выбрать и подтвердить пароль приложения MySQL для phpMyAdmin.

Отключение компоненты Validate Password

Если вы установили MySQL, следуя руководству по установке LAMP, то, скорее всего, вы активировали плагин Validate Password. Это может вызвать ошибку при попытке задать пароль пользователя phpmyadmin:

Корректный вывод при установке MySQL

Для устранения проблемы выберите опцию «abort», чтобы прервать процесс установки и открыть командную строку MySQL:

Если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите команду:

Далее, запустите команду для отключения Validate Password. Важно, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на сервер MySQL:

После этого клиент MySQL можно закрыть:

Затем снова установите пакет phpmyadmin :

Далее, необходимо снова открыть командную строку MySQL с помощью sudo mysql или mysql -u root -p , и запустить команду повторной активации Validate Password:

В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/conf-enabled . Для завершения настройки работы Apache и PHP с phpMyAdmin выполните инструкцию для активации расширения PHP mbstring командой:

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

Настройка доступа для рутовой учетной записи MySQL

Для рутового пользователя MySQL в Ubuntu 20.04 установлена аутентификация при помощью плагина auth_socket по умолчанию. Это позволяет обеспечивать самое оптимальное соотношение удобства использования и безопасности. В свою очередь, это создаёт сложности при предоставлении доступа к пользователю в других внешних приложениях, например, в phpMyAdmin.

Для входа в phpMyAdmin при помощи root, необходимо изменить метод аутентификации: от использования плагина auth_socket на метод, использующий пароль. Для этого нужно перейдя в командную строку MySQL:

ввести команду вывода методов аутентификации для аккаунтов MySQL:

Результат выполнения команды выглядит примерно так:

В примере можно увидеть, что пользователь root использует плагин auth_socket . Чтобы изменить метод аутентификации запустите на выполнение команду , обязательно изменив значение 1234567890 на надежный пароль по вашему выбору:

Теперь необходимо снова ввести в командной строке:

Вывод команды будет выглядеть следующим образом:

В результате вывод исполненной инструкции должен показать, что пользователь root использует плагин cashing_sha2_password, то есть аутентификацию с помощью пароля.

Настройка доступа для специально созданного пользователя MySQL

Безусловно, должна существовать возможность подключения к phpMyAdmin пользователя, которого вы создали специально для работы с MySQL в случае, если вы не хотите использовать учётную запись root. Чтобы воплотить это, нужно произвести следующие действия:

Создать нового пользователя с надежным паролем (в данном случае пароль 1234567890 не является надёжным):

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

После чего можно выйти из MySQL:

Теперь вы сможете подключаться к веб-интерфейсу phpMyAdmin, используя имя домена или открытый IP-адрес сервера с добавлением /phpmyadmin :

https://my-domain/phpmyadmin или https://my-ipaddress/phpmyadmin

веб-интерфейс phpmyadmin на linux ubuntu

Теперь можно войти в интерфейс phpMyAdmin через пользователя root или с новыми пользователем.

Обеспечение безопасности phpMyAdmin

Если есть необходимость дополнительно защититься от несанкционированного доступа к вашему ресурсу через web-интерфейс phpMyAdmin, можно разместить шлюз перед всем приложением с помощью встроенного в Apache функционала авторизации и аутентификации через .htaccess.

Настройка конфигурационного файла

Для этого нужно сначала активировать перезапись файла .htaccess, изменив файл конфигурации Apache вашей установки phpMyAdmin.

Отредактируйте phpmyadmin.conf, который находится в каталоге конфигурации Apache (я использовал nano):

Добавьте директиву AllowOverride All в раздел файла конфигурации , например:

Добавьте эту строку, сохраните и закройте файл (при использовании nano для редактирования файла, нажмите CTRL + X, Y, а затем ENTER).

Создание и настройка .htaccess

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

Файл .htaccess должен находиться в папке приложения. Для этого ннеобходимо создать его и открыть в редакторе с привилегиями root следующей командой:

В этот файл добавьте следующие строки:

  • AuthType Basic – указание используемого типа аутентификации. В данном случае используется аутентификация по паролю.
  • AuthName – сообщение для диалогового окна аутентификации.
  • AuthUserFile – местоположение файла пароля. Важно, чтобы он находился не в обслуживаемых каталогах.
  • Require valid-user – указание на возможность доступа к ресурсу для пользователей выполнивших аутентификацию.

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

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

Чтобы ввести дополнительного пользователя, необходимо использовать утилиту htpasswd без флага -c:

Теперь, для доступа к phpMyAdmin через web-интерфейс, необходим указать имя учетной записи и пароль:

Если имя пользователя и пароль набраны верно, вы должны будете перейти на страницу phpMyAdmin.


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

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