В этом руководстве мы рассмотрим процесс установки phpMyAdmin с использованием Apache, MariaDB и PHP7.4 (LAMP-стек) на Ubuntu 20.04 LTS.phpMyAdmin — это бесплатный и открытый веб-инструмент для управления базами данных, созданный на языке PHP. Он предоставляет пользователям удобный графический интерфейс для работы с MySQL или MariaDB.
phpMyAdmin предоставляет администраторам возможность:
- Изучать базы данных и их таблицы.
- Создавать, дублировать, переименовывать, редактировать и удалять базы данных.
- Создавать, дублировать, переименовывать, редактировать и удалять таблицы.
- Проводить обслуживание таблиц.
- Вносить изменения в поля, редактировать и удалять их.
- Исполнять любые SQL-запросы, включая множественные запросы.
- Создание, редактирование и удаление индексов.
- переносить текстовые документы в таблицы.
- формировать и просматривать дампы таблиц или баз данных;
- вынести информацию в форматы SQL, CSV, XML, Word, Excel, PDF и LaTeX;
- управлять несколькими серверами
- управлять пользователями и их правами доступа в MySQL.
- проверять параметры сервера и данные о времени выполнения с рекомендациями по настройке.
- проверять целостность ссылок в таблицах MyISAM.
- автоматически формировать сложные запросы с использованием метода Query-by-example (QBE)
- подключая нужные таблицы;
- разрабатывать PDF-изображения для макета базы данных
- осуществлять масштабный поиск в базе данных или её части;
- превращать сохраненную информацию в различные форматы с помощью набора заданных функций, например, представлять BLOB-данные как изображения или ссылки для скачивания.
- управлять таблицами InnoDB и устанавливать связи с помощью внешних ключей.
Содержание статьи
Исходные требования
Для того чтобы использовать данное руководство, на вашем локальном компьютере или удалённом сервере должна быть установлена операционная система Ubuntu 20.04.
Если вы заинтересованы в VPS (виртуальном частном сервере), можете зарегистрироваться в Vultr по моей реферальной ссылке и получить $50 в виде бесплатного кредита (предложение доступно только для новых пользователей). Если вам необходимо настроить phpMyAdmin с использованием доменного имени, я советую приобретать домены на NameCheap: там низкие цены, и вы получите защиту конфиденциальности whois без дополнительных затрат.
Вы должны уже установить стек LAMP на Ubuntu 20.04. Если это не так, пожалуйста, ознакомьтесь с соответствующим учебным материалом.
- Установка LAMP-стека (Apache, MariaDB, PHP 7.4) на Ubuntu 20.04 LTS.
Теперь, когда мы все уяснили, приступим к установке phpMyAdmin.
Загрузите и установите phpMyAdmin на Ubuntu 20.04.
phpMyAdmin доступен в репозитории программного обеспечения Ubuntu 20.04, что позволяет легко установить его с помощью следующей команды.
sudo apt update sudo apt install phpmyadmin
Указанная команда установит все нужные зависимости, в том числе расширения PHP7. В процессе установки вам предложат выбрать веб-сервер для конфигурации. Для выбора apache2 нажмите пробел (звездочка будет указывать на ваш выбор). После этого нажмите клавишу Tab, а затем Enter для подтверждения.

На следующем экране выберите вариант «Да», чтобы произвести настройку базы данных для phpMyAdmin через dbconfig-common.

После этого настройте пароль для учетной записи phpmyadmin в MariaDB/MySQL.

По окончании этого этапа формируется новая база данных под названием phpmyadmin, и пользователю базы данных phpmyadmin назначаются соответствующие права для управления этой базой. Если вас интересует этот вопрос, как и меня, вы можете войти в MariaDB и выяснить, какие именно привилегии были предоставлены пользователю phpmyadmin.
Для доступа к серверу MariaDB воспользуйтесь следующей командой.
sudo mysql - u root
Затем убедитесь в проверке прав доступа пользователя phpmyadmin.
show grants for phpmyadmin@localhost;
Пользователь phpmyadmin имеет полные права на базу данных phpmyadmin. Теперь вы можете выйти, введя:
exit;
Введите следующую команду, чтобы убедиться в наличии файла /etc/apache2/conf-enabled/phpmyadmin.conf.
file /etc/apache2/conf-enabled/phpmyadmin.conf
Если установка прошла успешно и без ошибок, на экране должен появиться следующий результат команды.
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
Если данного файла нет на сервере, вероятно, вы не указали веб-сервер Apache при настройке phpMyAdmin. Это можно исправить, выполнив следующие команды.
sudo ln - s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2
Открытие phpMyAdmin через подсистему
После установки phpMyAdmin, конфигурационный файл находится в директории /etc/apache2/conf-enabled/phpmyadmin.conf, что даёт возможность обращаться к phpMyAdmin через веб-интерфейс. Если на том же сервере с Ubuntu 20.04 у вас развернуты другие веб-приложения, например, WordPress, вам нужно лишь добавить /phpmyadmin к доменному имени в строке браузера для доступа.
example.com/phpmyadmin

Если на вашем локальном компьютере с Ubuntu установлен phpMyAdmin, вы сможете открыть его веб-интерфейс, введя в адресную строку браузера следующий URL.
localhost/phpmyadmin
Если подключение не установлено или отклонено, вероятно, брандмауэр блокирует HTTP-запросы. При использовании брандмауэра iptables следует выполнить следующие команды для открытия TCP-портов 80 и 443.
sudo iptables - I INPUT - p tcp --dport 80 - j ACCEPT sudo iptables - I INPUT - p tcp --dport 443 - j ACCEPT
Чтобы открыть TCP-порты 80 и 443 при использовании брандмауэра UFW, выполните следующую команду.
sudo ufw allow 80,443/tcp
Теперь вы можете использовать учетные данные MariaDB/MySQL для входа в phpMyAdmin. Если вход под пользователем root не удается, переходите к шагу 5 для решения этой проблемы.
Открытие phpMyAdmin с помощью поддомена
Если на вашем сервере с Ubuntu 20.04 отсутствуют другие виртуальные хосты Apache, вы можете настроить поддомен для доступа к веб-интерфейсу phpMyAdmin. Это позволит вам активировать HTTPS для шифрования данных в процессе передачи.
Для начала необходимо настроить виртуальный хост Apache для phpMyAdmin. Мы можем взять имеющийся конфигурационный фрагмент phpMyAdmin за основу. Давайте скопируем его в новый файл.
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
Затем измените новый файл, используя текстовый редактор командной строки, например, Nano.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
В данном файле отсутствуют теги, поэтому необходимо добавить следующие строки в его начало. Замените pma. example.com на желаемый поддомен для phpMyAdmin. Не забудьте создать запись DNS типа A для этого поддомена.
ServerName pma. example.com DocumentRoot /usr/share/phpmyadmin ErrorLog $/pma. error.log CustomLog $/pma. access.log combined
Вставьте данную строку в конец файла, чтобы завершить тег.

Сохраните изменения и закройте документ. (В текстовом редакторе Nano для сохранения нажмите Ctrl+O, затем подтвердите нажатием Enter. Чтобы завершить работу, используйте комбинацию Ctrl+X.) После этого активируйте данный виртуальный хост.
sudo a2ensite phpmyadmin.conf
Перезапустите веб-сервер Apache, чтобы изменения начали действовать.
sudo systemctl reload apache2
Теперь вы должны иметь возможность зайти в веб-интерфейс phpMyAdmin по адресу
pma. example.com

Прежде чем вводить учетные данные пользователя в поле для входа, давайте активируем HTTPS.
Активируйте HTTPS для phpMyAdmin через Apache.
Для обеспечения безопасности веб-интерфейса phpMyAdmin можно установить бесплатный TLS-сертификат от Let’s Encrypt. Используйте следующую команду для установки клиента Let’s Encrypt (certbot) из репозитория Ubuntu 20.04.
sudo apt install certbot python3-certbot-apache
Python3-certbot-apache — это плагин для Apache, предназначенный для работы с Certbot. Теперь выполните следующую команду, чтобы получить и установить сертификат TLS.
- –apache: Применяйте аутентификацию и установочный пакет Apache.
- –agree-tos : Принятие условий использования Let’s Encrypt
- –redirect: Принудительное применение HTTPS с установкой постоянного перенаправления 301.
- –hsts: Внедряет заголовок Strict-Transport-Security в каждый ответ HTTP.
- –staple-ocsp: Активирует OCSP Stapling.
- –must-staple: Применяет расширение OCSP Must Staple к сертификату.
- Флаг — d сопровождается перечнем доменных имен, разделённых запятыми. Можно добавить до 100 доменных имен.
- –email: Адрес электронной почты, применяемый для регистрации и связи при восстановлении доступа.
Вам будет предложено ответить, хотите ли вы получать уведомления по электронной почте от EFF (Фонда электронного фронта). После того, как вы выберете Y или N, ваш TLS-сертификат будет автоматически получен и настроен, о чем будет свидетельствовать следующее сообщение.

Решение проблемы с входом в phpMyAdmin
При попытке войти в phpMyAdmin с учетной записью root MariaDB, возможно, появится следующая ошибка.
#1698 - Доступ запрещен для пользователя 'root' @ 'localhost'
mysqli_real_connect(): (HY000/1698): Доступ запрещен для пользователя 'root' @ 'localhost'
При входе под пользователем phpmyadmin вы не столкнетесь с указанной ранее ошибкой. Тем не менее, этот пользователь предназначен исключительно для управления базой данных phpmyadmin. Ошибка возникает из-за того, что по умолчанию пользователь root в MariaDB аутентифицируется с использованием плагина unix_socket, а не плагина mysql_native_password. Для устранения данной проблемы можно создать нового администратора и предоставить ему все необходимые привилегии.
Авторизуйтесь на сервере MariaDB через командную строку.
sudo mysql - u root
Создайте учетную запись администратора с проверкой подлинности через пароль.
create user admin@localhost identified by 'ваш-предпочтительный-пароль';
Предоставьте полные права для всех баз данных.
grant all privileges on *.* to admin@localhost with grant option;
Обновите права доступа и завершите сеанс.
flush privileges; exit;
Теперь у вас есть возможность войти в phpMyAdmin под учетной записью администратора и осуществлять управление всеми базами данных.

Заключение
Я надеюсь, что данный учебник стал для вас полезным в процессе установки phpMyAdmin с использованием LAMP на Ubuntu 20.04. Если вы считаете эту информацию ценной, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать больше советов и рекомендаций.

