
phpMyAdmin — это PHP-приложение с открытым исходным кодом, предназначенное для администрирования серверов MySQL и MariaDB через веб-интерфейс.
phpMyAdmin позволяет управлять базами данных MySQL, учетными записями пользователей и привилегиями, выполнять SQL-операторы, импортировать и экспортировать данные в различных форматах и многое другое.
В этом руководстве рассматриваются шаги, необходимые для установки и обеспечения безопасности phpMyAdmin с Apache в Ubuntu 18.04.
Предпосылки
Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:
- Установите LAMP (Linux, Apache, MySQL и PHP) на вашем сервере Ubuntu .
- Выполнен вход как пользователь с привилегиями sudo .
Хотя это и не обязательно, рекомендуется подключаться к установленному phpMyAdmin по HTTPS. Если ваш домен ещё не защищён SSL, вы можете следовать этому руководству и защитить Apache с помощью Let's Encrypt в Ubuntu 18.04 .
Установка phpMyAdmin
Чтобы установить phpMyAdmin на сервер Ubuntu 18.04, выполните следующие действия:
-
Обновите индекс пакетов и обновите системные пакеты до последних версий:
sudo apt update && sudo apt upgrade -
Установите пакет phpMyAdmin из репозиториев Ubuntu по умолчанию с помощью следующей команды:
sudo apt install phpmyadminУстановщик предложит вам выбрать веб-сервер, который следует автоматически настроить для запуска phpMyAdmin, выберите Apache, нажав
Space, а затемEnter.
Далее вам будет предложено использовать
dbconfig-commonдля настройки базы данных, выберитеYesи нажмитеEnter.
Введите пароль для phpMyAdmin для регистрации в базе данных, выберите
OKи нажмитеEnter.
Вам будет предложено подтвердить пароль, введите тот же пароль, выберите
OKи нажмитеEnter.
-
После завершения процесса установки перезапустите Apache, чтобы изменения вступили в силу:
sudo systemctl restart apache2
Создать административного пользователя MySQL
В системах Ubuntu под управлением MySQL 5.7 (и более поздних версий) пользователь root по умолчанию настроен на использование метода аутентификации auth_socket .
Плагин auth_socket аутентифицирует пользователей, подключающихся с локального хоста через файл сокета Unix. Это означает, что вы не сможете пройти аутентификацию как пользователь root, указав пароль.
Вместо изменения метода аутентификации для пользователя MySQL root мы создадим нового административного пользователя MySQL. Этот пользователь будет иметь те же привилегии, что и пользователь root, и будет использовать метод аутентификации mysql_native_password .
Мы будем использовать этого пользователя для входа в панель управления phpMyAdmin и выполнения административных задач на нашем сервере MySQL или MariaDB.
Начните с входа на сервер MySQL как пользователь root:
sudo mysql
Из оболочки MySQL выполните следующие команды, которые создадут нового административного пользователя и предоставят соответствующие разрешения:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
В нашем примере мы назвали администратора padmin . Вы можете использовать любое имя, только не забудьте установить надёжный пароль.
Доступ к phpMyAdmin
Чтобы получить доступ к интерфейсу phpMyAdmin, откройте ваш любимый браузер и введите доменное имя вашего сервера или публичный IP-адрес, а затем /phpmyadmin :
https://your_domain_or_ip_address/phpmyadmin
Введите ранее созданные вами учетные данные администратора и нажмите кнопку « Go .

После входа в систему вы увидите панель управления phpMyAdmin, которая будет выглядеть примерно так:

Обеспечение безопасности phpMyAdmin
Чтобы добавить дополнительный уровень безопасности, мы защитим паролем каталог phpMyAdmin, настроив базовую аутентификацию.
Сначала мы создадим файл паролей для пользователей с помощью инструмента htpasswd , входящего в состав пакета Apache. Файл .htpasswd будет храниться в каталоге /etc/phpmyadmin :
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
В этом примере мы создаём пользователя с именем padmin . Вы можете выбрать любое имя пользователя, оно не обязательно должно совпадать с именем администратора MySQL.
Приведенная выше команда предложит вам ввести и подтвердить пароль пользователя.
New password: Re-type new password: Adding password for user padmin
Если вы хотите добавить дополнительного пользователя, вы можете использовать ту же команду без флага -c :
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
Следующим шагом будет настройка Apache для защиты паролем каталога phpMyAdmin и использования файла .htpasswd .
Для этого откройте файл phpmyadmin.conf , который был автоматически создан во время установки phpMyAdmin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
И отредактируйте/вставьте следующие строки, выделенные желтым цветом:
/etc/apache2/conf-available/phpmyadmin.conf
/usr/share/phpmyadmin > Options +FollowSymLinks +Multiviews +Indexes # edit this line DirectoryIndex index.php AllowOverride None AuthType basic AuthName "Authentication Required" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user mod_php5.c > ...
Сохраните и закройте файл, а затем перезапустите Apache, чтобы изменения вступили в силу:
sudo systemctl restart apache2
Теперь при доступе к phpMyAdmin вам будет предложено ввести учетные данные ранее созданного вами пользователя:
https://your_domain_or_ip_address/phpmyadmin

После входа в базовую аутентификацию вы попадете на страницу входа в phpMyAdmin, где вам необходимо ввести учетные данные администратора MySQL.
Также хорошей идеей будет изменить псевдоним /phpmyadmin на что-то более уникальное и безопасное.
Заключение
Поздравляем! Вы успешно установили phpMyAdmin на свой сервер Ubuntu 18.04. Теперь вы можете приступить к созданию баз данных MySQL, пользователей и таблиц , а также выполнять различные запросы и операции с MySQL.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
ubuntu phpmyadmin mysql mariadb apache php Не используете Ubuntu 18.04?
Выберите другую ОС: центос 7 дебиан 9
Связанные руководства
- Как установить и защитить phpMyAdmin с помощью Apache в Debian 9
- Как установить phpMyAdmin с Nginx в Ubuntu 18.04
- Как установить и защитить phpMyAdmin с помощью Apache на CentOS 7
- Как установить WordPress с Apache в Ubuntu 18.04
- Как установить Magento 2 на Ubuntu 18.04
- Как установить phpMyAdmin с Nginx на CentOS 7
- Как установить Joomla с Apache в Ubuntu 18.04