Пошаговая установка phpMyAdmin на Apache и Nginx, настройка SSL, управление пользователями, ограничение по IP и усиление безопасности.
Время чтения: 16 мин База данных
phpmyadminmysqlmariadbapachenginxsslбезопасностьбаза данных
Автор
REXE Teknoloji Network & Security Team
Редактор
REXE Teknoloji Technical Editorial
Первая публикация
Последнее обновление
Установка phpMyAdmin и безопасный доступ
phpMyAdmin — это приложение с открытым исходным кодом на PHP для управления базами данных MySQL и MariaDB через веб-браузер. С его помощью можно создавать базы данных, управлять таблицами, выполнять SQL-запросы и настраивать права пользователей через графический интерфейс. В этом руководстве рассматриваются установка, настройка Apache и Nginx, конфигурация SSL и усиление безопасности.
Предварительные требования
Перед установкой phpMyAdmin убедитесь, что готово следующее:
Ubuntu 20.04/22.04 или Debian 11/12
MySQL 8.0+ или MariaDB 10.5+
PHP 7.4+ (рекомендуется: PHP 8.1+)
Apache 2.4+ или Nginx 1.18+
hljs bash
# Обновление системы
apt update && apt upgrade -y
# PHP и необходимые модули
apt install -y php php-mysql php-mbstring php-zip php-gd php-json php-curl
# Проверка версии PHP
php -v
Установка phpMyAdmin
Установка через менеджер пакетов
hljs bash
# Установить phpMyAdmin
apt install -y phpmyadmin
Во время установки:
Выбор веб-сервера: apache2 или lighttpd (при использовании Nginx ничего не выбирайте)
Настройка базы данных с dbconfig-common: Yes
Установите пароль для phpMyAdmin
Ручная установка (рекомендуется)
Ручная установка даёт последнюю версию и больше контроля:
hljs bash
# Скачать последнюю версиюcd /tmp
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
# Распаковать архив
tar xzf phpMyAdmin-latest-all-languages.tar.gz
# Переместить в веб-директориюmv phpMyAdmin-*-all-languages /var/www/html/phpmyadmin
# Установить владельцаchown -R www-data:www-data /var/www/html/phpmyadmin
chmod -R 755 /var/www/html/phpmyadmin
# Создать файл конфигурацииcp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Генерация Blowfish Secret
hljs bash
# Сгенерировать случайный ключ из 32 символов
openssl rand -base64 32
# Редактировать config.inc.php
nano /var/www/html/phpmyadmin/config.inc.php
phpMyAdmin — мощный инструмент управления базами данных, но без надлежащей настройки безопасности он несёт серьёзные риски. Всегда используйте SSL, добавляйте HTTP-аутентификацию, ограничивайте доступ по IP и меняйте URL по умолчанию. С этими мерами phpMyAdmin можно безопасно использовать на серверах REXE.
Часто задаваемые вопросы
Я не могу получить доступ к phpMyAdmin и получаю ошибку 403.
Проверьте три вещи: 1) Проверьте права директории командой chown -R www-data:www-data /var/www/html/phpmyadmin, 2) Убедитесь, что в конфигурации Apache/Nginx присутствуют правила 'Require all granted' или allow, 3) Если включено ограничение по IP, убедитесь, что ваш IP-адрес есть в списке разрешённых.
Я не могу войти под пользователем root.
Это намеренная мера безопасности. Параметр $cfg['Servers'][$i]['AllowRoot'] = false; в config.inc.php блокирует вход root. Из соображений безопасности создайте выделенного пользователя: CREATE USER 'pma_admin'@'localhost' IDENTIFIED BY 'Пароль'; GRANT ALL PRIVILEGES ON *.* TO 'pma_admin'@'localhost';
Безопасно ли открывать phpMyAdmin в интернет?
Прямое открытие в интернет не рекомендуется. Для безопасного доступа: используйте SSL, добавьте HTTP Basic Auth, измените URL по умолчанию (используйте случайный путь вместо /phpmyadmin), применяйте ограничения по IP или используйте VPN. Применение всех этих мер обеспечивает наилучшую защиту.
Я получаю ошибку blowfish secret.
Значение $cfg['blowfish_secret'] в config.inc.php пустое или слишком короткое. Сгенерируйте случайный ключ длиной 32+ символа командой openssl rand -base64 32 и присвойте его этому параметру. Обновите страницу после внесения изменений.
Какая версия PHP требуется для phpMyAdmin?
phpMyAdmin 5.x требует PHP 7.2 или выше. Для последних версий phpMyAdmin рекомендуется PHP 8.0+. Проверьте текущую версию PHP командой php -v. PHP 8.1 или 8.2 обеспечивает наилучшую совместимость и производительность.
Пошаговая установка MySQL и MariaDB на Linux, mysql_secure_installation, создание баз данных и пользователей, основные SQL-команды, настройка удалённого доступа и оптимизация производительности.
Установка PostgreSQL на Ubuntu/Debian и RHEL/CentOS, создание пользователей и баз данных, основные SQL-команды, настройка удалённого подключения и резервное копирование. Пошаговое руководство.
Установка Redis и Memcached на Ubuntu/Debian, основные команды, настройки персистентности, конфигурация TTL, сравнение Redis и Memcached, интеграция с приложениями.