Как установить и защитить phpMyAdmin с помощью Apache в Ubuntu 18.04

How to Install and Secure phpMyAdmin with Apache on Ubuntu 18.04

23 Декабря 2020 | Ubuntu

В этом руководстве описаны шаги, необходимые для установки и защиты phpMyAdmin с Apache в Ubuntu 18.04.

Как установить и защитить phpMyAdmin с помощью Apache в Ubuntu 18.04

phpMyAdmin - это PHP-приложение с открытым исходным кодом, предназначенное для управления серверами MySQL и MariaDB через веб-интерфейс.

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

Введение

Прежде чем продолжить изучение этого руководства, убедитесь, что вы выполнили следующие предварительные условия:

Хотя это не обязательно, рекомендуется получить доступ к вашей установке phpMyAdmin через HTTPS. Если ваш домен еще не защищен SSL, вы можете следовать этому руководству и защитить свой Apache с помощью Let's Encrypt в Ubuntu 18.04 .

Установка phpMyAdmin 

Чтобы установить phpMyAdmin на свой сервер Ubuntu 18.04, выполните следующие действия:

  1. Обновите индекс пакета и обновите системные пакеты до последних версий:

    sudo apt update && sudo apt upgrade 
    
    
  2. Установите пакет phpMyAdmin из репозиториев Ubuntu по умолчанию с помощью следующей команды:

    sudo apt install phpmyadmin 
    
    

    Установщик предложит вам выбрать веб-сервер, который должен быть автоматически настроен для запуска phpMyAdmin, выберите apache, нажав, Space а затем Enter .







    Далее вас спросят, использовать ли для dbconfig-common настройки базы данных, выберите Yes и нажмите Enter .






    Введите пароль для регистрации phpMyAdmin в базе данных, выберите OK и нажмите Enter .







    Вам будет предложено подтвердить пароль, ввести тот же пароль, выбрать OK и нажать Enter .







  3. После завершения процесса установки перезапустите Apache, чтобы изменения вступили в силу:

    sudo systemctl restart apache2 
    
    

Создайте администратора MySQL 

В системах Ubuntu с MySQL 5.7 (и более поздних версий) пользователь root auth_socket по умолчанию настроен на использование метода аутентификации.

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

Вместо изменения метода аутентификации для корневого пользователя MySQL мы создадим нового административного пользователя 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
<Directory /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

    <IfModule 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.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...