![](https://habrastorage.org/webt/hk/lt/sz/hkltszj2jnzm25pcdcyqzmd8ihy.png)
phpMyAdmin — это специальная утилита, написанная на PHP, которая реализует графический интерфейс для управления базами данных MySQL через браузер.
Помимо визуального отображения таблиц, phpMyAdmin упрощает менеджмент баз данных, позволяя формировать SQL-запросы через панель управления без непосредственного написания команд или какого-либо кода.
При этом phpMyAdmin реализует весь функционал SQL-запросов: просмотр, добавление, удаление и изменение баз данных, а также их таблиц, полей и индексов.
В этом руководстве мы рассмотрим процесс установки phpMyAdmin и всех его зависимостей на удаленный хост.
При этом технологический стек, в рамках которого будет работать phpMyAdmin, будет выглядеть так:
- База данных MySQL
- Веб-сервер Nginx
- Интерпретатор PHP
Обратите внимание, что в этом руководстве используется веб-сервер Nginx вместо привычного для PHP веб-сервера Apache. Поэтому общая связка инструментов, показанных в этой инструкции, выглядит следующим образом: Nginx + PHP + phpMyAdmin + MySQL. Таким образом, Nginx принимает пользовательские запросы и перенаправляет их на PHP через протокол FastCGI. Интерпретатор PHP в свою очередь обрабатывает скрипты phpMyAdmin, который «общается» с базой данных MySQL и управляет ей.
❯ Этап 1. Подготовка системы
Конфигурация облачного сервера
Для создания облачного веб-сервера в Timeweb Cloud необходимо сперва авторизоваться в панели управления, после чего в левом меню выбрать «Облачные серверы».
На открывшейся странице нужно нажать на кнопку «Создать» (либо на кнопку «Добавить», если у вас уже есть существующие серверы), после чего вас перекинет на страницу конфигурации облачного сервера.
![](https://habrastorage.org/webt/ms/hd/hr/mshdhrp8-1wsa4kr-pd2xcxhujg.png)
Самое главное — выбрать Ubuntu 22.04. Остальные параметры настраиваются по своему усмотрению. По завершению конфигурации жмем на кнопку «Заказать», после чего откроется страница управления облачным сервером.
![](https://habrastorage.org/webt/ee/ae/s1/eeaes1zmzliecp7hmwy5c_cftbo.png)
После создания сервера нужно подождать несколько минут, пока он запустится и станет доступен для удаленного доступа.
Подключение к удаленному серверу выполняется через команду SSH, которая доступна во всех популярных операционных системах (в том числе и Windows):
ssh root@IP
Вместо IP нужно подставить адрес облачного хоста. Адрес сервера и root-пароль можно скопировать с основной странице управления облачным сервером в нижнем правом углу.
![](https://habrastorage.org/webt/gu/u5/bh/guu5bhtqumblypbtr0zzj81yo4u.png)
Например, в этой инструкции выполнялось SSH-подключение по следующему адресу:
ssh root@188.225.27.132
В нашем случае root — стандартное имя пользователя для облачного сервера Timeweb Cloud. При этом после ввода команды консольный терминал потребует введения root-пароля, который можно скопировать из главной страница панели управления сервером.
Обновление системы
Перед установкой необходимых компонентов лучше всего обновить список доступных репозиториев:
sudo apt update
Также имеет смысл обновить уже установленные в системе пакеты:
sudo apt upgrade
После этого можно перейти к установке зависимостей, необходимых для корректной работы phpMyAdmin.
❯ Этап 2. Установка MySQL
Сперва необходимо установить саму базу данных MySQL на облачный сервер:
sudo apt install mysql-server -y
Убедитесь, что служба MySQL запущена:
systemctl status mysql
Если это так, то среди консольного вывода будет такой статус:
Active: active (running)
Либо можно запросить версию MySQL:
mysql --version
В консоли появится примерно такой вывод:
mysql Ver 8.0.36-0 ubuntu 0.22.04.1 for Linux on x86_64 ((Ubuntu))
Обратите внимание, что в этом руководстве используется MySQL версии 8.0.36.
Далее рекомендуется запустить специальный «скрипт безопасности», который помогает настроить MySQL:
sudo mysql_secure_installation
Теперь зайдем непосредственно в саму MySQL, чтобы установить пароль для пользователя root:
mysql
Сперва проверим список существующих пользователей:
SELECT User, Host FROM mysql.user;
В консоли появится лист с именами и хостами:
+------------------+-----------+
| User | Host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
Нас интересует пользователь root, поэтому выполняем для него следующую команду:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_pass_123';
При этом пароль my_pass_123 можно заменить на любой другой.
После этого выходим из MySQL:
exit
В дальнейшем при заходе в MySQL нужно будет использовать следующую команду:
mysql -u root -p
При этом консоль будет всегда требовать введение указанного ранее пароля.
❯ Этап 3. Установка Nginx
В этом примере будет использоваться веб-сервер Nginx как альтернатива Apache. Его мы также устанавливаем через пакетный менеджер APT:
sudo apt install nginx -y
После установки рекомендуется проверить статус службы Nginx:
systemctl status nginx
В случае успешной установки она запускается автоматически, таким образом в консольном выводе должен быть соответствующий статус:
Active: active (running)
Запросим версию Nginx:
nginx -v
В консоли появится следующий вывод:
nginx version: nginx/1.18.0 (Ubuntu)
Таким образом, в этой инструкции phpMyAdmin будет работать на сервере Nginx версии 1.18.0.
На данном этапе можно ввести в браузерною строку адрес вашего удаленного сервера и убедиться в том, что Nginx отвечает на пользовательские HTTP-запросы.
Например, адрес может быть таким:
http://188.225.27.132
После этого в браузере должна открыться страница со стандартным приветствием Nginx.
![](https://habrastorage.org/webt/0o/y-/pv/0oy-pv2ikuvlbymzmuxs-um0hle.png)
В дальнейшем вместо стандартного приветствия Nginx будет открывать корневую страницу phpMyAdmin по адресу /phpmyadmin.
❯ Этап 4. Установка PHP
Для работы phpMyAdmin необходимо наличие в системе интерпретатора PHP.
Загружать его мы будем из репозитория независимого поставщика ПО, поэтому сперва необходимо добавить новый удаленный репозиторий в пакетный менеджер APT:
sudo add-apt-repository ppa:ondrej/php
После этого мы устанавливаем так называемый FastCGI Process Manager (FPM), а также дополнительный модуль для работы с MySQL:
sudo apt install php8.3-fpm php8.3-mysql -y
Для проверки корректности установки можно запросить версию PHP:
php -v
В консоли появится примерно такой вывод:
PHP 8.3.4 (cli) (built: Mar 16 2024 08:40:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.4, Copyright (c) Zend Technologies
with Zend OPcache v8.3.4, Copyright (c), by Zend Technologies
Как можно заметить, в этом руководстве используется PHP версии 8.3.4.
❯ Этап 5. Установка phpMyAdmin
Загрузка phpMyAdmin будет выполняться с официального сайта. На нем нужно выбрать последнюю версию программы в архиве .tar.gz, после чего скопировать загрузочную ссылку и использовать ее в команде wget:
wget -c https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-english.tar.gz
После этого в корневом каталоге появится архив, который нужно распаковать:
tar -xzvf phpMyAdmin-5.2.1-english.tar.gz
Как видно, мы будет использовать phpMyAdmin версии 5.2.1.
При этом сам архив можно удалить:
rm phpMyAdmin-5.2.1-english.tar.gz
Появившийся после распаковки каталог копируем в отдельную директорию, предназначенную специально для phpMyAdmin:
sudo mv phpMyAdmin-5.2.1-english /usr/share/phpmyadmin
Осталось только создать symbolic link, связанную с веб-каталогом локального хоста:
ln -s /usr/share/phpmyadmin /var/www/html
Теперь можно перейти к настройке веб-сервера Nginx.
❯ Этап 6. Конфигурация Nginx
Для того, чтобы Nginx мог открыть корневую веб-страницу phpMyAdmin, необходимо в явном виде внести изменения в основной файл конфигурации веб-сервера.
Для этого сперва откроем его:
sudo nano /etc/nginx/sites-available/default
Первым делом найдем строку, определяющую параметр имени корневой страницы index. По умолчанию она выглядит так:
...
index index.html index.htm index.nginx-debian.html;
...
Чтобы Nginx мог обрабатывать файлы PHP, сюда необходимо добавить index.php так, чтобы итоговая строка приобрела следующий вид:
...
index index.php index.html index.htm index.nginx-debian.html;
...
Далее необходимо внести изменения в работу FastCGI-протокола, чтобы Nginx мог передавать все запросы на PHP-файлы непосредственно в интерпретатор PHP.
Для этого найдите код обработчика корневого запроса, который по умолчанию выглядит примерно таким образом:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
И вслед за ним добавьте код обработчика запросов на файлы PHP:
location ~ \.php$ {
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
Если убрать все лишние комментарии в файле конфигурации, то полный код будет выглядеть так:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
По завершению редактирования файла конфигурации имеет смысл проверить его синтаксис:
nginx -t
Если в конфигурационном файле нет никаких синтаксических ошибок, то в консоли появится соответствующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Чтобы применить новые настройки, нужно перезапустить службу Nginx:
systemctl restart nginx
После перезапуска стоит снова проверить статус веб-сервера:
systemctl status nginx
В консоли должен появиться статус, сообщающий об активности службы:
Active: active (running)
❯ Этап 7. Авторизация в phpMyAdmin
Теперь можно открыть браузер и ввести в адресную строку URL вашего удаленного сервера по следующей схеме:
http://IP/phpmyadmin
Например, адрес может выглядеть так:
http://188.225.27.132/phpmyadmin
После этого откроется страница авторизации в phpMyAdmin, на которой в качестве логина вводится root, а в качестве пароля — ранее созданный пароль для MySQL.
![](https://habrastorage.org/webt/y3/fq/xo/y3fqxojtbkixzxfnkm0oweyd5xu.png)
Например, в этом руководстве в качестве примера паролем был my_pass_123.
После входа в phpMyAdmin откроется веб-интерфейс стандартной панели управления базами данных.
![](https://habrastorage.org/webt/rc/xl/ny/rcxlnyb09wgr1sbqdexx6xlnlto.png)
Большая часть функций, выполняемая ранее через консольный терминал в виде SQL-запросов, теперь доступна через графический интерфейса phpMyAdmin в наглядном виде.
❯ Облачная база данных Timeweb Cloud
В качестве альтернативы самостоятельному развертыванию баз данных и инструментов управления Timeweb Cloud предоставляет уже настроенные и готовые к работе облачные базы данных MySQL, а также PostgreSQL, Redis, MongoDB и другие.
Вместе с тем, Timeweb Cloud предлагает на выбор заранее установленные веб-интерфейсы управления базами данных:
- Adminer
- phpMyAdmin
Чтобы создать базу данных, нужно авторизоваться в панели управления Timeweb Cloud, после чего в левом боковом меню выбрать «Базы данных».
Далее вы окажетесь на странице описания функционала облачных БД, где нужно кликнуть по кнопке «Создать» (либо по кнопке «Добавить» в том случае, если у вас уже есть ранее созданные базы данных).
![](https://habrastorage.org/webt/5y/-r/hu/5y-rhu225gue4h0qalm_vuyd25a.png)
Откроется страница конфигурации облачный базы данных, аналогичная странице конфигурации облачного веб-сервера, но с другими параметрами.
В нашем случае мы выбираем в качестве типа базы данных MySQL. Тем не менее, в своих проектах вы можете использовать любые другие базы данных.
![](https://habrastorage.org/webt/kt/bw/ks/ktbwksk9k5dj-zrj_lmqbcu5ong.png)
Для применения выбранных настроек необходимо нажать на кнопку «Заказать». После этого вас перекинет на главную страницу управления облачной базой данных.
Первые несколько минут база данных будет конфигурировать и запускаться, после чего станет доступна для работы через веб-интерфейс или удаленного подключения.
Чтобы работать с базой данных через консольный терминал, необходимо перейти во вкладку «Подключение» горизонтального меню панели управления БД и скопировать команду подключения к удаленного базе данных через клиент MySQL.
Например, команда подключения может выглядеть так:
mysql -u gen_user -p'jB.-N1|e\_P.3?' -h 109.71.243.210 -P 3306 -D default_db
- После флага -u указывается имя пользователя.
- После флага -p указывается root-пароль в одинарных кавычках.
- После флага -h указывается IP-адрес удаленного хоста.
- После флага -P указывается порт хоста (например, для MySQL стандартный порт 3306, а для MongoDB — 27017).
- После флага -D указывается имя базы данных.
![](https://habrastorage.org/webt/k-/x3/ag/k-x3ag6vw6hsh0dpwgquqkpaemg.png)
Либо в верхнем левом углу можно нажать на кнопку «Веб-интерфейс» и выбрать одну из двух возможных утилит для управления базами данных.
После этого в новой вкладке откроется привычная страница авторизации, в которой нужно будет ввести данные для входа в базу данных.
![](https://habrastorage.org/webt/op/tf/zx/optfzxettsqccvqk_mrrvq1t4ke.png)
Часть функций по управлению облачной БД вынесены в отдельные вкладки панели управления:
- Создание, редактирование и удаление пользователей.
- Создание и удаление баз данных.
- Смена конфигурации базы данных.
- Управление бэкапами.
- Просмотр истории изменений.
❯ Заключение
В этой инструкции была показана установка и конфигурация phpMyAdmin с предварительной ручной установкой всех необходимых зависимостей:
- База данных MySQL
- Веб-сервер Nginx
- Интерпретатор PHP в формате FPM
При этом в собственных проектах вы можете расширить показанный в этой инструкции технологический стек до более привычной и распространенной связки Nginx + Apache + PHP.
Также в качестве альтернативы ручному развертыванию MySQL и phpMyAdmin было продемонстрировано создание уже настроенной и готовой к работе облачной базы данных на серверах Timeweb Cloud с предустановленными веб-интерфейсами управления БД, один из которых — phpMyAdmin.
Читайте также:
- ➤ Деплой .NET приложений для самых маленьких
- ➤ Новые способы авторизации. Новые условия багхантинга. И новые места в рейтингах! Новости Timeweb Cloud в мае
- ➤ Бесплатный прокси к Docker Hub
- ➤ Разработка ядра – API для прошивки
- ➤ Тьюринг. Гений, опередивший время
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩
Комментарии (2)
Akina
24.06.2024 16:49Сперва необходимо установить саму базу данных MySQL на облачный сервер
Не базу данных (БД), а систему управления базами данных (СУБД).
Если это так, то среди консольного вывода будет такой статус
А если это НЕ так?
Hidden text
Кому вообще это нужно? у вас что, онлайн-справки нет? Этот материал должен размещаться именно там. А здесь имеет смысл рассматривать проблемы - что может пойти не так, по какой причине, и как это исправлять.
CrazyAlex25
Так же есть https://www.adminer.org/ который может работать с разными БД
Works with MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, SimpleDB (plugin), Firebird (plugin), ClickHouse (plugin)