phpMyAdmin — это программа c открытым кодом, созданная на языке PHP, которая позволяет взаимодействовать с СУБД MySQL через веб-интерфейс. С его помощью можно легко управлять базами данных, создавать таблицы, выполнять запросы и многое другое.
В этой статье мы рассмотрим процесс установки и настройки phpMyAdmin на сервере с операционной системой Ubuntu 22.04.
Установка phpMyAdmin
Перед тем как приступить к установке, убедитесь, что на вашем сервере есть ПО, необходимое для корректной работы phpMyAdmin: HTTP-сервер Apache, СУБД MySQL и язык программирования PHP.
Далее запустите обновление списка пакетов, для этого необходимо использовать утилиту apt в терминале:
sudo apt update
Далее необходимо проверить наличие модуля mbstring
для корректной работы с многобайтовыми строчками. Проверить можно также утилитой apt:
sudo apt install php-mbstring
Если модуль не установлен, утилита предложит установить его.
Для начала инсталляции запустите программу установки и следуйте инструкциям:
sudo apt install phpmyadmin
Шаг 1. Необходимо выбрать установленный веб-сервер. Например, у нас в системе установлен apache2, выбираем его. Обязательно подтвердите выбор пробелом, чтобы появилась звездочка, и нажмите Enter.
Шаг 2. Подтвердите добавление специальной базы для phpMyAdmin и нажмите Enter.
Шаг 3. Вручную задайте пароль. В противном случае он будет сгенерирован автоматически.
Шаг 4. Выберите способ соединения между phpMyAdmin и MySQL. Программа установки по умолчанию рекомендует соединение через Unix-сокет, но вы можете выбрать любой вариант в зависимости от конкретных условий и требований вашего проекта.
- Сетевой протокол TCP/IP обеспечивает безопасное и надёжное подключение, защищая конфиденциальные данные и обнаруживая/исправляя ошибки в передаче данных. Однако этот способ более медленный и требует настройки.
- Подключение через Unix-сокет обеспечивает более быструю передачу данных и не требует специальной настройки, но не позволяет настроить зашифрованное подключение и не умеет находить и устранять ошибки.
Шаг 5. Далее выберите подходящий плагин для аутентификации.
Шаг 6. Программа установки попросит вас указать имя базы phpMyAdmin.
Шаг 7. Далее необходимо указать имя пользователя MySQL для phpmyadmin.
Количество шагов установки может отличаться в зависимости от ваших настроек.
Наконец, активируйте модуль mbstring
и перезапустите Apache:
sudo phpenmod mbstring
sudo systemctl restart apache2
Теперь вы можете перейти в вашем браузере по адресу и проверить работу phpMyAdmin:
ip вашего сервера/phpmyadmin/
Должна открыться страница с формой входа.
Изменение типа аутентификации root и добавление учётной записи
Войти в панель phpMyAdmin через root сразу не получится. Это связано с тем, что для безопасности рекомендуется использовать другого пользователя с ограниченными привилегиями.
Однако, если вам все же необходимо войти в phpMyAdmin под пользователем root, вы можете изменить тип аутентификации на caching_sha2_password с помощью следующих шагов:
sudo mysql
С помощью следующей команды мы изменим тип аутентификации, указав ваш пароль:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your pass',
Для защиты данных необходимо создать еще одну учётную запись для взаимодействия с БД из панели управления phpMyAdmin. сделаем это в оболочке MySQL:
sudo mysql
Чтобы добавить учётную запись, в оболочке MySQL вставьте команду:
CREATE USER 'name'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your pass';
Привилегии могут быть предоставлены на все таблицы разных БД путём ввода следующей команды в оболочке MySQL. Также можно добавить, изменить или удалить привилегии учётных записей, исполнив команду в оболочке MySQL:
GRANT ALL PRIVILEGES ON *. * WITH GRANT OPTION to 'name'@'your pass';
Перейдите в phpMyAdmin и введите данные новой учётной записи. Теперь вы можете управлять правами доступа к учётной записи в панели управления.
Основные настройки безопасности
Поскольку phpMyAdmin является бесплатным и устанавливается на многих серверах с MySQL, особенно важно защитить свой сервер из локальной сети и Интернета.
Ненужных пользователей следует отключить в оболочке MySQL:
DROP USER ‘name’@’localhost’;
Apache позволяет включить дополнительную защиту панели phpMyAdmin. Это возможно благодаря файлу .htaccess. Через него можно проверку при заходе на сайт панели управления.
Сначала внесите изменение в файл конфигурации phpmyadmin.conf
, добавив строку AllowOverride All
в секцию «Directory /usr/share/phpmyadmin»
:
sudo vi /etc/apache2/conf-available/phpmyadmin.conf
Перезапустите веб-сервер:
sudo systemctl restart apache2
Создайте файл с помощью команды:
sudo vi /usr/share/phpmyadmin/.htaccess
Внесите в .htaccess следующие строки:
- AuthType Basic
- AuthName "Restricted Files"
- AuthUserFile /etc/phpmyadmin/.htpasswd
- Require valid-user
Для добавления пользователей требуется создать еще один файл .htpasswd, хранящий данные учётных записей:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd you_login
где you_login – логин учётной записи.
Кроме того, добавить новую учётную запись, выполните её без -c
:
sudo htpasswd /etc/phpmyadmin/. htpasswd you_login
Для доступа к панели управления, введите данные от учётной записи из файла .htpasswd.
Если данные введены правильно, вы перейдете к входу в панель управления phpmyadmin.
Обновление
Обновить phpmyadmin возможно двумя способами:
Первый способ — с помощью репозиториев Ubuntu:
apt-get update;
apt-get upgrade -y phpmyadmin;
Второй способ — скачать обновление с официального сайта.
Зайдите на сайт разработчика и выберите нужную версию из архива tar.gz. Следует изучить системные требования для выбранной версии.
Перейдите в папку /usr/local/share/
:
cd /usr/local/share/
Загрузите архив, используя команду:
wget ttps://files.phpmyadmin.net/phpMyAdmin/4.6.1/phpMyAdmin-4.6.1-all-languages.tar.gz
Распакуйте загруженный архив:
tar -xvfz phpMyAdmin-4.6.1-all-languages.tar.gz
Дайте название phpmyadmin.back в папке со старой версией phpMyAdmin:
# mv phpmyadmin{,.back}.
Измените название извлеченной папки на phpmyadmin:
# mv phpMyAdmin-4.6.1-all-languages phpmyadmin
Теперь осталось добавить в конфигурацию секретную фразу.
Инструкция по удалению phpMyAdmin
Процедура удаления phpMyAdmin проще, чем его установка: достаточно набрать команду и дважды нажать Enter.
Эта команда приведет к удалению phpmyadmin и сопутствующих файлов:
sudo apt purge phpmyadmin
Теперь осталось только перезапустить Apache:
sudo systemctl restart apache2
С этого момента phpmyadmin полностью удалена.
Возможные проблемы
Проблема, связанная с плагином Validate Password в MySQL
Чтобы устранить эту ошибку, зайдите в оболочку MySQL:
sudo mysql
И отключите модуль:
UNINSTALL COMPONENT "file://component_validate_password";
Теперь можно запустить инсталляцию phpMyAdmin. В случае успешной установки компонент можно активировать:
sudo mysql
И активировать модуль:
INSTALL COMPONENT "file://component_validate_password";
Ошибка, связанная с изменением типа аутентификации для root
Изменение типа аутентификации для учётной записи root также может привести к ошибке:
Plugin caching_sha2_password is not installed.
Эта ошибка может быть вызвана из-за другого типа аутентификации в более новой версии MySQL. Чтобы её устранить, измените метод аутентификации с помощью команды:
ALTER USER 'name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your pass';
Fatal error: Class 'ArrayObject' not found in...
Для решения этой проблемы необходимо включить два PHP-расширения: spl.so и simplexml.so. Также требуется указать секретное выражение (blowfish_secret) в конфигурационном файле.
Для этого допишите в конфигурационном файле config.inc.php
строку:
cfg['blowfish_secret']='your_blowfish_phrase';
В Ubuntu этот файл обычно находится в каталоге /usr/share/phpmyadmin
.
Мы описали шаги по установке и настройке phpMyAdmin, а также обсудили некоторые важные меры безопасности и посмотрели на решение распространённых ошибок. Теперь вы можете настроить phpmyadmin по своему усмотрению и легко можете управлять базами данных MySQL.