phpMyAdmin · 5 min read · Oct 22, 2025

Как установить и защитить последнюю версию phpMyAdmin на Debian 12

phpMyAdmin — это бесплатный веб-инструмент для администрирования, используемый для управления базами данных MySQL и MariaDB, широко используемый в системах Debian Linux. Он предоставляет удобный интерфейс для взаимодействия с базами данных, позволяя пользователям выполнять SQL-запросы, управлять таблицами баз данных, импортировать и экспортировать данные, а также настраивать различные параметры баз данных без необходимости использовать командную строку. На Debian Linux phpMyAdmin часто устанавливается вместе со стеком LAMP (Linux, Apache, MySQL/MariaDB, PHP), что облегчает администраторам и разработчикам выполнение операций с базами данных более визуально и организованно.

В этом руководстве я покажу вам, как установить и защитить инструмент администрирования баз данных phpMyAdmin на Debian 12.

Предварительные требования

  • Сервер с установленным Debian 12.

  • На сервере настроен пароль root.

Начало работы

Перед началом рекомендуется обновить пакеты вашей системы до последней версии. Вы можете обновить все пакеты, используя следующую команду:

apt update -y

После обновления системы вы можете перейти к следующему шагу.

Установка LAMP-сервера

phpMyAdmin — это приложение на PHP, которое работает на веб-сервере. Поэтому вам нужно установить LAMP-сервер на ваш сервер. Вы можете установить его, используя следующую команду:

apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y

После установки всех пакетов вы можете перейти к следующему шагу.

Установка и настройка phpMyAdmin

Сначала загрузите последнюю версию phpMyAdmin с их официального сайта, используя следующую команду:

wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip

После завершения загрузки распакуйте загруженный файл с помощью следующей команды:

unzip phpMyAdmin-5.2.1-all-languages.zip

Затем переместите извлеченный каталог в /usr/share с помощью следующей команды:

mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin

Затем создайте необходимый каталог с помощью следующей команды:

mkdir -p /var/lib/phpmyadmin/tmp

Затем установите правильные права собственности на каталог phpMyAdmin:

chown -R www-data:www-data /var/lib/phpmyadmin

Затем скопируйте файл образца конфигурации phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Затем установите pwgen и сгенерируйте секретный ключ с помощью следующей команды:

apt-get install pwgen -y  
pwgen -s 32 1

Вывод:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Затем отредактируйте файл config.inc.php и настройте его:

nano /usr/share/phpmyadmin/config.inc.php

Определите ваш секретный ключ и раскомментируйте следующие строки:

$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* ВЫ ДОЛЖНЫ ЗАПОЛНИТЬ ЭТО ДЛЯ АУТЕНТИФИКАЦИИ COOKIE! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Сохраните и закройте файл, когда закончите.

Создание пользователя-администратора phpMyAdmin

Рекомендуется создать отдельного пользователя для управления базой данных через phpMyAdmin.

Сначала импортируйте таблицы phpMyAdmin в базу данных MariaDB, используя следующую команду:

mysql < /usr/share/phpmyadmin/sql/create_tables.sql

Затем подключитесь к оболочке MariaDB с помощью следующей команды:

mysql

После подключения предоставьте все необходимые привилегии базе данных phpmyadmin с помощью следующей команды:

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Затем создайте пользователя-администратора с помощью следующей команды:

MariaDB [(none)]> CREATE USER myadmin;

Затем предоставьте все привилегии пользователю-администратору с помощью следующей команды:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Затем сбросьте привилегии и выйдите из оболочки MariaDB, используя следующую команду:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Когда вы закончите, вы можете перейти к следующему шагу.

Настройка Apache для phpMyAdmin

Затем вам нужно создать файл конфигурации виртуального хоста Apache для phpMyAdmin. Вы можете создать его, используя следующую команду:

nano /etc/apache2/conf-available/phpmyadmin.conf

Добавьте следующие строки:

Alias /phpmyadmin /usr/share/phpmyadmin


    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    
    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    



# Авторизация для настройки

    
        
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        
        Require valid-user
    


# Запретить веб-доступ к каталогам, которые не нужны

    Require all denied


    Require all denied


    Require all denied

Сохраните и закройте файл, когда закончите, затем включите файл конфигурации phpMyAdmin с помощью следующей команды:

a2enconf phpmyadmin.conf

Затем перезагрузите службу Apache, чтобы применить изменения:

systemctl reload apache2

Вы можете проверить статус службы Apache, используя следующую команду:

systemctl status apache2

Вы должны увидеть следующий вывод:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 23031 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 14.6M
        CPU: 89ms
     CGroup: /system.slice/apache2.service
             ??45031 /usr/sbin/apache2 -k start
             ??45032 /usr/sbin/apache2 -k start
             ??45033 /usr/sbin/apache2 -k start
             ??45034 /usr/sbin/apache2 -k start
             ??45035 /usr/sbin/apache2 -k start
             ??45036 /usr/sbin/apache2 -k start

Sun 25 11:28:21 debian systemd[1]: Starting The Apache HTTP Server...

Доступ к phpMyAdmin

На данный момент phpMyAdmin установлен и настроен. Теперь откройте ваш веб-браузер и получите доступ к phpMyAdmin, используя URL http://your-server-ip/phpmyadmin. Вы должны увидеть страницу входа в phpMyAdmin:

Вход в phpMyAdmin

Введите ваше имя пользователя администратора, пароль и нажмите кнопку Перейти. Вы должны увидеть панель управления phpMyAdmin на следующей странице:

phpMyAdmin

Защита phpMyAdmin

Хорошей идеей будет защитить phpMyAdmin с помощью двухфакторной аутентификации. Вы можете сделать это, используя функциональные возможности аутентификации и авторизации .htaccess.

Сначала отредактируйте файл конфигурации phpMyAdmin:

nano /etc/apache2/conf-available/phpmyadmin.conf

Добавьте строку “AllowOverride All” в следующий блок сервера:


    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

    

Сохраните и закройте файл, когда закончите, затем перезапустите службу Apache:

systemctl restart apache2

Затем создайте файл .htaccess и определите тип аутентификации Apache:

nano /usr/share/phpmyadmin/.htaccess

Добавьте следующие строки:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user

Сохраните и закройте файл, затем создайте пользователя с помощью следующей команды:

htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser

Вас попросят установить пароль, как показано ниже:

New password: 
Re-type new password: 
Adding password for user secureuser

Проверка phpMyAdmin

На данный момент phpMyAdmin защищен дополнительной аутентификацией. Чтобы проверить это, откройте ваш веб-браузер и получите доступ к phpMyAdmin, используя URL http://your-server-ip/phpmyadmin. Вам будет предложено ввести дополнительное имя пользователя и пароль, как показано ниже:

Безопасный вход

После ввода вашего имени пользователя и пароля вы будете перенаправлены на обычную страницу входа в phpMyAdmin.

Заключение

Поздравляем! Вы успешно установили и защитили phpMyAdmin на Debian 12. Теперь вы можете исследовать phpMyAdmin и управлять вашей базой данных из веб-браузера.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.