- Установка PhpMyAdmin в Ubuntu 20.04
- Установка phpMyAdmin в Ubuntu 20.04
- 1. Создание пользователя для phpMyAdmin
- 2. Защита phpMyAdmin
- Как удалить phpMyAdmin с Ubuntu
- Выводы
- Как установить phpMyAdmin на Ubuntu 20.04
- Установка phpMyAdmin
- Отключение компоненты Validate Password
- Настройка доступа для рутовой учетной записи MySQL
- Настройка доступа для специально созданного пользователя MySQL
- Обеспечение безопасности phpMyAdmin
- Настройка конфигурационного файла
- Создание и настройка .htaccess
Установка PhpMyAdmin в Ubuntu 20.04
PhpMyAdmin — это веб-приложение с открытым исходным кодом, написанное на языке программирования PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. Главной особенностью данного приложения является возможность управления MySQL без непосредственного ввода SQL команд. Приложение позволяет создавать и редактировать таблицы, вносить в них данные, администрировать пользователей баз данных, а также экспортировать и импортировать записи и структуру таблиц из базы данных.
В этой статье мы рассмотрим, как выполняется установка phpMyAdmin на Ubuntu 20.04 с веб-сервером Apache. Прежде чем приступать к установке phpMyAdmin, у вас уже заранее должны быть установлены такие компоненты, как Apache, MySQL и PHP. Если ещё нет, то сначала посмотрите статью установка LAMP Ubuntu 20.04.
Установка phpMyAdmin в Ubuntu 20.04
Прежде чем мы сможем установить phpMyAdmin Ubuntu, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале команду:
sudo apt -y install php-mbstring
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:
Теперь phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:
1. Создание пользователя для phpMyAdmin
По умолчанию, вы не сможете авторизоваться в phpMyAdmin от пользователя root, потому что по умолчанию данная особенность отключена. В целях безопасности включать данную опцию не рекомендуется. В данном случае необходимо создать нового пользователя и наделить его полномочиями root. Для создания нового пользователя перейдите в консоль MySQL введя команду в терминале:
После ввода пароля root пользователя MySQL, введите следующие команды:
CREATE USER ‘test’@’localhost’ IDENTIFIED BY ‘пароль’;
GRANT ALL PRIVILEGES ON *.* TO ‘test’@’localhost’;
При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.
2. Защита phpMyAdmin
Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию. Для этого создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержимым:
sudo vi /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName «Restricted Files»
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Чтобы настройки из файла .htaccess заработали в этой директории, необходимо, чтобы для неё в файле /etc/apache2/apache2.conf значение AllowOverride было All:
sudo vi /etc/apache2/apache2.conf
Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию:
Как удалить phpMyAdmin с Ubuntu
Чтобы удалить phpMyAdmin, необходимо выполнить команду:
sudo apt purge phpmyadmin
После выполнения этой команды программа будет удалена с вашего компьютера.
Выводы
В этой небольшой статье мы рассмотрели, как установить PhpMyAdmin на Ubuntu 20.04. Как видите, всё стало намного проще, чем в предыдущих версиях, когда нам нужно было вручную включать различные модули и настраивать местоположение файлов программы.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как установить 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 взаимодействовать с разными типами серверов, используя разные протоколы.
Сначала обновите индекс пакетов сервера:
Для запуска установки запустите команду:
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
При установке необходимо выбрать следующие параметры при запросах:
- При выборе сервера выбирайте apache2.
- На вопрос о необходимости использования dbconfig-common для настройки базы данных, следует выбрать « Да» .
- Затем необходимо выбрать и подтвердить пароль приложения MySQL для phpMyAdmin.
Отключение компоненты Validate Password
Если вы установили MySQL, следуя руководству по установке LAMP, то, скорее всего, вы активировали плагин Validate Password. Это может вызвать ошибку при попытке задать пароль пользователя phpmyadmin:
Для устранения проблемы выберите опцию «abort», чтобы прервать процесс установки и открыть командную строку MySQL:
Если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите команду:
Далее, запустите команду для отключения Validate Password. Важно, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на сервер MySQL:
mysql> UNINSTALL COMPONENT "file://component_validate_password";
После этого клиент MySQL можно закрыть:
Затем снова установите пакет phpmyadmin :
$ sudo apt install phpmyadmin
Далее, необходимо снова открыть командную строку MySQL с помощью sudo mysql или mysql -u root -p , и запустить команду повторной активации Validate Password:
$ sudo apt install phpmyadmin
В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/conf-enabled . Для завершения настройки работы Apache и PHP с phpMyAdmin выполните инструкцию для активации расширения PHP mbstring командой:
$ sudo systemctl restart apache2
Теперь phpMyAdmin установлен и настроен для работы с Apache. Однако, прежде чем вы сможете войти и начать работу с базами данных, необходимо убедиться, что у пользователей MySQL есть права для взаимодействия с программой.
Настройка доступа для рутовой учетной записи MySQL
Для рутового пользователя MySQL в Ubuntu 20.04 установлена аутентификация при помощью плагина auth_socket по умолчанию. Это позволяет обеспечивать самое оптимальное соотношение удобства использования и безопасности. В свою очередь, это создаёт сложности при предоставлении доступа к пользователю в других внешних приложениях, например, в phpMyAdmin.
Для входа в phpMyAdmin при помощи root, необходимо изменить метод аутентификации: от использования плагина auth_socket на метод, использующий пароль. Для этого нужно перейдя в командную строку MySQL:
ввести команду вывода методов аутентификации для аккаунтов MySQL:
mysql> SELECT user, authentication_string, plugin, host FROM mysql.user;
Результат выполнения команды выглядит примерно так:
В примере можно увидеть, что пользователь root использует плагин auth_socket . Чтобы изменить метод аутентификации запустите на выполнение команду , обязательно изменив значение 1234567890 на надежный пароль по вашему выбору:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234567890';
Теперь необходимо снова ввести в командной строке:
mysql> SELECT user,authentication_string, plugin, host FROM mysql.user;
Вывод команды будет выглядеть следующим образом:
В результате вывод исполненной инструкции должен показать, что пользователь root использует плагин cashing_sha2_password, то есть аутентификацию с помощью пароля.
Настройка доступа для специально созданного пользователя MySQL
Безусловно, должна существовать возможность подключения к phpMyAdmin пользователя, которого вы создали специально для работы с MySQL в случае, если вы не хотите использовать учётную запись root. Чтобы воплотить это, нужно произвести следующие действия:
Создать нового пользователя с надежным паролем (в данном случае пароль 1234567890 не является надёжным):
mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234567890';
Обеспечить нового пользователя наличием соответствующих прав в части доступа к таблицам базы данных:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
После чего можно выйти из MySQL:
Теперь вы сможете подключаться к веб-интерфейсу phpMyAdmin, используя имя домена или открытый IP-адрес сервера с добавлением /phpmyadmin :
https://my-domain/phpmyadmin или https://my-ipaddress/phpmyadmin
Теперь можно войти в интерфейс phpMyAdmin через пользователя root или с новыми пользователем.
Обеспечение безопасности phpMyAdmin
Если есть необходимость дополнительно защититься от несанкционированного доступа к вашему ресурсу через web-интерфейс phpMyAdmin, можно разместить шлюз перед всем приложением с помощью встроенного в Apache функционала авторизации и аутентификации через .htaccess.
Настройка конфигурационного файла
Для этого нужно сначала активировать перезапись файла .htaccess, изменив файл конфигурации Apache вашей установки phpMyAdmin.
Отредактируйте phpmyadmin.conf, который находится в каталоге конфигурации Apache (я использовал nano):
$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Добавьте директиву AllowOverride All в раздел файла конфигурации , например:
Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Добавьте эту строку, сохраните и закройте файл (при использовании nano для редактирования файла, нажмите CTRL + X, Y, а затем ENTER).
$ sudo systemctl restart apache2
Создание и настройка .htaccess
Теперь, когда вы активировали использование файлов .htaccess, вам нужно создать файл для реализации этого уровня защиты.
Файл .htaccess должен находиться в папке приложения. Для этого ннеобходимо создать его и открыть в редакторе с привилегиями root следующей командой:
$ sudo nano /usr/share/phpmyadmin/.htaccess
В этот файл добавьте следующие строки:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
- AuthType Basic – указание используемого типа аутентификации. В данном случае используется аутентификация по паролю.
- AuthName – сообщение для диалогового окна аутентификации.
- AuthUserFile – местоположение файла пароля. Важно, чтобы он находился не в обслуживаемых каталогах.
- Require valid-user – указание на возможность доступа к ресурсу для пользователей выполнивших аутентификацию.
В данном случае файла пароля находится в /etc/phpmyadmin/.htpasswd. Теперь нужно создать заявленный файл и передать его пользователю при помощью утилиты htpasswd:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Далее, необходимо дважды ввести пароль пользователя, которого вы создаете. Результатом будет созданный файл, в котором схэширован придуманный пароль.
Чтобы ввести дополнительного пользователя, необходимо использовать утилиту htpasswd без флага -c:
$ sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Теперь, для доступа к phpMyAdmin через web-интерфейс, необходим указать имя учетной записи и пароль:
Если имя пользователя и пароль набраны верно, вы должны будете перейти на страницу phpMyAdmin.