
phpMyAdmin – веб-интерфейс, написанный на PHP, который предназначен для управления СУБД MySQL. Если в вашей системе установлен LAMP – стек Linux, Apache, MySQL и PHP, то phpMyAdmin можно использовать для упрощённого управления базами данных через веб-интерфейс. Он позволяет создавать, редактировать и удалять базы данных, таблицы, пользователей, а также выполнять SQL-запросы без использования консоли. Это выглядит особенно удобно для тех, кто не хочет работать с MySQL через терминал. Кроме того, при помощи графического интерфейса phpMyAdmin администратор СУБД имеет возможность производить резервное копирование и восстановление данных, что во многом упрощает обслуживание базы данных.
В данной статье разберём, как установить актуальную версию phpMyAdmin на виртуальный сервер, работающий под управлением Debian 12, на котором уже установлен стек LAMP.
Как установить phpMyAdmin в Debian 12
Поскольку репозитории Debian как правило содержат устаревшую версию phpMyAdmin, здесь мы рассмотрим установку данного софта из файла архива, который можно загрузить с официальной страницы phpMyAdmin.
На загрузочной странице phpMyAdmin вы можете выбрать различные варианты архивов для требуемой версии дистрибутива. В нашем примере мы установим версию 5.2.2 из архива tar.gz. Для того, чтобы загрузить на сервер нужный файл, кликните на нём правую кнопку мыши и выберите строку Копировать ссылку
.

Затем подключитесь к своему серверу, перейдите в домашний каталог командой cd ~
, после чего при помощи утилиты wget
и скопированной ранее ссылки загрузите файл дистрибутива:
$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.tar.gz
Далее скопируйте загруженный архив в корневой каталог веб-сервера Apache:
$ sudo cp phpMyAdmin-5.2.2-all-languages.tar.gz /var/www/html/
После чего перейдите в данный каталог:
$ cd /var/www/html/
И распакуйте архив с использованием утилиты tar:
$ sudo tar -xvzf phpMyAdmin-5.2.2-all-languages.tar.gz
В результате в каталоге /var/www/html/
появится директория phpMyAdmin-5.2.2-all-languages
, которую нужно переименовать в phpmyadmin
:
$ sudo mv phpMyAdmin-5.2.2-all-languages phpmyadmin
Файл архива при этом можно удалить:
$ sudo rm phpMyAdmin-5.2.2-all-languages.tar.gz
Настройка конфигурации phpMyAdmin
После распаковки архива перейдите в директорию phpmyadmin
, чтобы произвести первоначальную настройку конфигурации:
$ cd /var/www/html/phpmyadmin
Здесь создайте файл настроек phpMyAdmin из файла config.sample.inc.php
, который служит для этого образцом:
$ sudo cp config.sample.inc.php config.inc.php
В своей работе phpMyAdmin использует cookie-аутентификацию. За шифрование паролей пользователей в cookies отвечает соответствующая настройка в файле config.inc.php
. Данная настройка должна содержать секретный ключ для шифрования паролей. Ключ должен состоять не менее чем из 32 символов, из букв, цифр и специальных символов, а также должен быть случайным, то есть не должен содержать какое-либо слово или фразу. Поэтому сначала необходимо сгенерировать секретный ключ, например, при помощи следующей команды:
$ tr -dc 'A-Za-z0-9!@#$%^&*()-_=+' < /dev/urandom | head -c 32
В данном случае:
/dev/urandom
– специальное устройство, которое генерирует псевдослучайные данные;tr
– фильтрует входные данные;-d
– удаляет все символы, кроме указанных:A-Za-z0-9!@#$%^&*()-_=+
;-c
– инвертирует список, то есть оставляет только указанные символы;head -c 32
– выбирает только первые 32 символа из потока данных.
Скопируйте сгенерированный ключ в буфер обмена и откройте файл config.inc.php
, чтобы внести в него изменения:
$ sudo nano config.inc.php
В файле найдите следующую строку:
$cfg['blowfish_secret'] = '';
После чего вставьте в неё скопированный ключ:
$cfg['blowfish_secret'] = 'сгенерированный_ключ';
Закройте файл с сохранением внесённых изменений. Затем измените владельца и группу для каталога phpmyadmin
и всех его файлов на пользователя www-data
и группу www-data
:
$ sudo chown -R www-data:www-data /var/www/html/phpmyadmin
После чего установите соответствующие права на данный каталог и его содержимое:
$ sudo chmod -R 755 /var/www/html/phpmyadmin
Далее перейдите в каталог, который содержит дополнительные конфигурационные файлы для Apache:
$ cd /etc/apache2/conf-available/
Находясь в данном каталоге, создайте файл конфигурации phpmyadmin.conf
:
$ sudo nano phpmyadmin.conf
В него добавьте следующие строки:
Alias /phpmyadmin /var/www/html/phpmyadmin
<Directory /var/www/html/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
Затем закройте его, сохранив внесённые изменения, после чего активируйте использование настроек phpMyAdmin в Apache:
$ sudo a2enconf phpmyadmin
Чтобы новые настройки начал использовать веб-сервер, перезапустите Apache:
$ sudo systemctl restart apache2
Чтобы проверить работоспособность веб-интерфейса phpMyAdmin, откройте браузер и перейдите на http://X.X.X.X/phpmysql
, где вместо X.X.X.X
используйте IP-адрес вашего виртуального сервера. Для подключения к веб-интерфейсу phpMyAdmin используйте учётную запись root, которая является администратором СУБД MySQL.

После чего можно будет удалить файл дефолтной страницы Apache:
$ sudo rm /var/www/html/index.html
Отключение root-доступа (опционально)
Поскольку root имеет полный контроль над MySQL, а phpMyAdmin доступен через веб-интерфейс, что делает его целью возможных атак, важно запретить root-доступ к phpMyAdmin. Чтобы сделать это, рекомендуется удалить из MySQL учётную запись root, но перед этим следует создать в СУБД нового пользователя и наделить его полномочиями администратора.
Поэтому сначала подключитесь к интерфейсу командной строки MySQL:
$ mysql -u root -p
Где создайте новую учётную запись:
mysql> CREATE USER 'your-mysql-admin'@'localhost' IDENTIFIED BY 'your-mysql-admin-password';
Здесь:
your-mysql-admin
– имя создаваемой учётной записи;your-mysql-admin-password
– пароль для создаваемой учётной записи.
Затем выдайте пользователю your-mysql-admin
полные привилегии для всех баз данных и таблиц в MySQL:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'your-mysql-admin'@'localhost' WITH GRANT OPTION;
Теперь, когда новый администратор создан, учётную запись root можно удалить:
mysql> DROP USER 'root'@'localhost';
После чего примените изменения, внесённые в таблицы MySQL:
mysql> FLUSH PRIVILEGES;
Теперь для входа в веб-интерфейс phpMyAdmin, а также для подключения к командной строке MySQL, следует использовать учётную запись нового администратора.
