Установите phpMyAdmin со стеком LAMP в Ubuntu 20.04 LTS
PhpMyAdmin - это бесплатный веб-инструмент управления базами данных с открытым исходным кодом, написанный на языке программирования PHP. Используя phpMyAdmin, администраторы баз данных могут легко управлять одним и/или несколькими серверами баз данных через веб-браузер. Это может быть полезно для тех, кому не нравится командная строка MySQL. phpMyAdmin позволяет администраторам баз данных выполнять всевозможные задачи по управлению базами данных, такие как создание, редактирование, переименование, удаление баз данных, импорт и экспорт баз данных, создание таблиц, полей и полей, выполнение команд SQL и многое другое. В этом уроке мы собираемся установить phpMyAdmin со стеком LAMP в серверной операционной системе Ubuntu 20.04 LTS.
Установите phpMyAdmin со стеком LAMP в Ubuntu 20.04 LTS
Чтобы установить phpMyAdmin на сервер Ubuntu 20.04 LTS, у вас должен быть работающий стек LAMP. Если вы еще не установили стек LAMP, обратитесь к следующему руководству:
- Установить стек Apache, MySQL, PHP (LAMP) в Ubuntu 20.04 LTS
После настройки стека LAMP включите репозиторий 'universe', если он еще не включен.
sudo add-apt-repository universe
sudo apt update
Теперь установите phpMyAdmin и все другие необходимые зависимости в Ubuntu 20.04, используя команды:
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Затем выберите веб-сервер, который должен быть автоматически настроен для запуска phpMyAdmin. Выберите веб-сервер с помощью стрелок ВВЕРХ/ВНИЗ и нажмите клавишу ПРОБЕЛ. Выбрав веб-сервер, вы увидите перед ним символ * (звездочка). Нажмите клавишу TAB, чтобы выбрать «ОК», и снова нажмите клавишу ENTER, чтобы продолжить.
PhpMyAdmin требует, чтобы база данных была установлена и настроена, прежде чем ее можно будет использовать. Вы можете сделать это с помощью команды dbconfig.
Выберите Да, чтобы настроить базу данных для phpmyadmin с помощью dbconfig-common:
Вам необходимо предоставить пароль для phpmyadmin для регистрации на сервере базы данных MySQL. Если пароль не указан, будет сгенерирован случайный пароль.
Введите надежный пароль и нажмите ENTER, чтобы продолжить:
Повторно введите пароль:
На момент написания этого руководства, когда я пытался установить пароль для phpmyadmin, выдавалась следующая ошибка:
An error occurred while installing the database:
mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy
the current policy requirements . Your options are:
* abort - Causes the operation to fail; you will need to downgrade,
reinstall, reconfigure this package, or otherwise manually intervene
to continue using it. This will usually also impact your ability to
install other packages until the installation failure is resolved.
* retry - Prompts once more with all the configuration questions
(including ones you may have missed due to the debconf priority
setting) and makes another attempt at performing the operation.
* retry (skip questions) - Immediately attempts the operation again,
skipping all questions. This is normally useful only if you have
solved the underlying problem since the time the error occurred.
* ignore - Continues the operation ignoring dbconfig-common errors.
This will usually leave this package without a functional database.
Эта ошибка возникает из-за того, что мы включили компонент ПОДТВЕРДИТЬ ПАРОЛЬ, как описано в разделе "2.2 Изменение метода аутентификации для root-пользователя MySQL" в прилагаемом выше руководстве по установке стека LAMP.
Чтобы решить эту проблему, вам необходимо временно отключить компонент «Проверка пароля» и снова включить его после установки пароля для phymyadmin. Нажмите «ОК», чтобы закрыть приведенное выше сообщение об ошибке, и выберите «Прервать», чтобы отменить установку phpmyadmin.
Теперь войдите в командную строку Mysql, выполнив следующую команду:
mysql -u root -p
В командной строке MySQL введите следующую команду, чтобы отключить плагин проверки пароля:
mysql> UNINSTALL COMPONENT "file://component_validate_password";
Обратите внимание, что приведенная выше команда только отключит плагин, но не удалит его. Вы можете включить его позже. Затем введите «exit», чтобы выйти из командной строки Mysql.
mysql> exit
Теперь попробуйте снова установить phpmyadmin, используя команду:
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Выберите «Да» и нажмите ENTER, чтобы настроить базу данных для phpmyadmin с помощью dbconfig-common. На этот раз установка phpmyadmin пройдет без проблем.
После установки phpmyadmin повторно включите плагин проверки пароля. Для этого войдите в командную строку Mysql:
mysql -u root -p
В командной строке MySQL введите следующую команду, чтобы отключить плагин проверки пароля:
mysql> INSTALL COMPONENT "file://component_validate_password";
Введите exit, чтобы выйти из командной строки MySQL.
mysql> exit
Наконец, включите расширение PHP mbstring и перезапустите службу Apache, чтобы обновить изменения, как показано ниже.
sudo phpenmod mbstring
sudo systemctl restart apache2
Теперь вы можете проверить, включено ли расширение mbstring, загрузив файл info.php из веб-браузера.
Для этого перейдите по адресу http://IP-address/info.php в своем браузере.
Вы увидите, что плагин mbstring включен.
Создайте выделенного пользователя для доступа к панели управления phpMyAdmin.
После установки phpMyAdmin будет автоматически создан пользователь базы данных с именем 'phpmyadmin' и паролем администратора, который вы установили во время установки. Вы можете войти в панель управления phpmyAdmin, используя пользователя «phpmyadmin» или пользователя root mysql. Однако рекомендуется создать выделенного пользователя для управления базами данных через веб-интерфейс phpMyAdmin.
Для этого войдите в оболочку MySQL с помощью команды:
mysql -u root -p
Введите свой root-пароль MySQL. Теперь вы будете в оболочке MySQL.
Введите следующую команду, чтобы создать нового выделенного пользователя для phpmyadmin:
mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';
Здесь phpmyadmin — новый пользователь для доступа к панели управления phpmyadmin. Пароль для phpmyadminuser: Password123#@!. Замените эти значения своими.
Затем дайте соответствующие привилегии пользователю «phpmyadminuser», используя команду:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Наконец выйдите из оболочки MySQL:
mysql> exit
Теперь мы создали выделенного пользователя для управления базами данных через веб-интерфейс phpmyadmin. Давайте продолжим и получим доступ к панели управления phpmyadmin.
Доступ к панели управления phpMyAdmin
Откройте веб-браузер и перейдите по адресу http://ip-address/phpmyadmin или http://domain/phpmyadmin. Вы должны увидеть страницу входа в phpmyadmin. Войдите в интерфейс phmyadmin, используя пользователя mysql root или нового пользователя, которого мы создали на предыдущем шаге.
Вот как выглядит панель управления phpMyAdmin:
Отныне вы можете управлять своими базами данных через веб-интерфейс phpMyAdmin.
Безопасный phpMyAdmin
В этом разделе приведены несколько советов по обеспечению безопасности установки PhpMyAdmin. Обратите внимание, что следующие шаги не могут защитить phpMyAdmin на 100%. Однако они, по крайней мере, замедлят любые попытки злоумышленника проникнуть в вашу панель управления phpmyadmin.
Отключить root-вход MySQL на панель управления phpmyadmin
Разрешение пользователю root mysql доступа к панели управления phpMyAdmin небезопасно, особенно при управлении базами данных по сети. Вот почему в предыдущем разделе мы создали выделенного пользователя. Поскольку у нас уже есть выделенный пользователь, мы можем безопасно отключить root-вход в MySQL для доступа к панели управления phpmyadmin, чтобы минимизировать атаки.
Обычно phpmyadmin устанавливается в каталог /usr/share/phpmyadmin/, а его файлы конфигурации хранятся в каталоге /etc/phpmyadmin.
Отредактируйте файл конфигурации phpmyadmin:
sudo nano /etc/phpmyadmin/config.inc.php
Добавьте/измените следующие параметры:
[...]
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
[...]
Сохраните и закройте файл.
Перезапустите веб-сервер Apache с помощью команды:
sudo systemctl restart apache2
Теперь попробуйте войти в phpmyadmin как пользователь root. Вы получите сообщение об ошибке Доступ запрещен:
Защищенная паролем страница входа в phpMyAdmin
Поскольку phpMyAdmin является легкой мишенью для злоумышленников, следующая рекомендуемая задача — защитить страницу входа в систему phpMyAdmin. Самый распространенный способ защитить phpMyAdmin от несанкционированного доступа — использовать встроенные в Apache функции аутентификации и авторизации .htaccess.
Прежде всего, включите использование переопределений файла .htaccess, отредактировав файл /phpmyadmin.conf:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Добавьте строку AllowOverride All в раздел
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AllowOverride All
Нажмите CTL+X, а затем Y, чтобы сохранить и закрыть файл.
Перезапустите службу Apache, чтобы обновить изменения, используя команду:
sudo systemctl restart apache2
Затем создайте файл с именем .htaccess в каталоге /usr/share/phpmyadmin/ с помощью команды:
sudo nano /usr/share/phpmyadmin/.htaccess
Добавьте в него следующие строки:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Сохраните и закройте файл.
Теперь выполните следующую команду, чтобы создать нового пользователя, например ostechnix:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd ostechnix
Замените «ostechnix» на любое имя пользователя по вашему выбору. Вам будет предложено ввести пароль для нового пользователя. Введите его дважды.
Пример вывода:
New password:
Re-type new password:
Adding password for user ostechnix
Теперь мы добавили дополнительный уровень безопасности для доступа к веб-интерфейсу phpMyAdmin. С этого момента всякий раз, когда вы пытаетесь получить доступ к веб-интерфейсу phpMyAdmin, вам будет предложено ввести дополнительное имя пользователя и его пароль, которые вы только что настроили на предыдущем шаге.
Как только вы введете правильное имя пользователя и пароль, вы будете перенаправлены на фактическую страницу входа в систему аутентификации phpmyadmin. Просто введите учетные данные своей базы данных, чтобы получить доступ к панели управления Phpmyadmin.
Связанное чтение:
- Установить phpMyAdmin со стеком LEMP в Ubuntu 20.04 LTS