Установка phpmyadmin на ОС Debian

PhpMyAdmin – это веб-приложение для управления базами данных MySQL. Он предлагает удобные инструменты для работы с базой данных и при этом не требует знаний SQL-команд или взаимодействия с  терминальной строкой. 

PhpMyAdmin позволяет управлять базами данных: создавать, изменять или удалять их. С его помощью возможен импорт и экспорт данных в базу в различных форматах. PhpMyAdmin дает возможность выполнять SQL-запросы напрямую из веб-интерфейса, что может потребоваться при управлении данными, выгрузке отчетов или проведении сложных операций с базой. Веб-интерфейс phpMyAdmin на Nginx-сервере предоставляет удобный способ просмотра и редактирования данных в таблицах БД. Это позволяет легко просматривать содержимое таблиц, фильтровать данные и вносить изменения в записи.

Подготовка к установке

Перед тем как установить phpMyAdmin на Debian следует обновить пакеты системы и установить стек LEMP (Linux, Nginx, MySQL, PHP). 

  1. Обновите пакеты ОС Debian, выполнив:

sudo apt update 

  1. Затем установите веб-сервер Nginx.
  • Загрузите пакет Nginx командой:

sudo apt-get install nginx

  • Для запуска сервера:

sudo systemctl start nginx

  • Чтобы включить автозапуск Nginx при входе в систему, выполните команду: 

sudo systemctl enable nginx

  1. Переходим к установке баз данных MySQL.
  • Используя команду, выполните установку пакета MySQL Server: 

sudo apt-get install mysql-server

Во время установки потребуется указать пароль root для базы данных.

  • Чтобы запустить сервис: 

sudo systemctl start mysql

  • Для автоматического запуска MySQL используйте команду: 

sudo systemctl enable mysql

  1. Далее устанавливаем PHP.
  • Установка пакетов PHP и необходимых модулей производится командой:

sudo apt-get install php php-fpm php-mysql

  • Затем настройте PHP-FPM (FastCGI Process Manager), выполнив: 

sudo nano /etc/php/7.4/fpm/php.ini.

Вы можете заменить значения в файле php.ini в соответствии с требованиями вашего проекта.

  • Перезапустите сервис PHP-FPM: 

sudo systemctl restart php7.4-fpm

  1. Для работы с PHP требуется настройка Nginx.
  • Откройте файл конфигурации Nginx командой: 

sudo nano /etc/nginx/sites-available/default

  • В разделе server измените конфигурацию в соответствии с вашими потребностями и добавьте строки в блок server:

          location ~ \.php$ {

        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/run/php/php7.4-fpm.sock;

     }

     location ~ /\.ht {

        deny all;

     }

  • Выполните перезагрузку Nginx: 

sudo systemctl restart nginx

После выполнения всех указанных действий, стек LEMP будет успешно установлен на вашем сервере Debian. 

Для стабильной работы ОС Debian и загрузки phpMyAdmin рекомендуем использовать услугу VDS-хостинга от RU-CENTER. На каждом тарифе вам доступны: панель управления сервером, безлимитный трафик, аппаратная виртуализация KVM, выделенный адрес IPv4 и круглосуточная поддержка. 

Процесс установки phpMyAdmin

Когда предварительные шаги выполнены, перейдем непосредственно к загрузке phpMyAdmin.

  1. Для установки пакета phpMyAdmin из официальных репозиториев Debian используйте команду:

sudo apt install phpmyadmin

Во время установки вам потребуется выбрать веб-сервер, укажите предпочтительный веб-сервер Nginx и продолжите установку.

  1. После установки будет создана символическая ссылка для доступа к phpMyAdmin из веб-браузера. По умолчанию эта ссылка не активна. Чтобы активировать ее потребуется команда:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

В данной ссылке предполагается, что ваш веб-сервер Nginx настроен на директорию /var/www/html для вашего документ-корня. Если это не так, замените путь в команде на соответствующий в вашей системе.

  1. Перезапустите веб-сервер, чтобы применить внесенные корректировки:

sudo systemctl restart Nginx

  1. Теперь для доступа к phpMyAdmin, откройте веб-браузер и наберите URL-адрес: http://localhost/phpmyadmin или http://IP-адрес-сервера/phpmyadmin. Если все выполнено правильно, вы увидите веб-интерфейс phpMyAdmin для управления базой данных.

Выполнение входа в PhpMyAdmin

Чтобы зайти в PhpMyAdmin достаточно выполнить несколько простых действий.

  1. Введите URL http://localhost/phpmyadmin в строке веб-браузера. Если PhpMyAdmin установлен на удаленном сервере, то замените localhost на IP-адрес или доменное имя сервера, на котором установлен PhpMyAdmin.
  2. Появится страница входа в PhpMyAdmin. Введите свои учетные данные (имя пользователя и пароль MySQL), которые вы создали при установке MySQL. Нажмите кнопку «ОК» или клавишу Enter.

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

Обратите внимание, что для входа в PhpMyAdmin требуется иметь учетную запись с правами доступа к базам данных MySQL. Если у вас возникнут проблемы или ошибки при входе, проверьте, что вы правильно указали учетные данные.

Настройка безопасности в PhpMyAdmin:

Настройка безопасности в PhpMyAdmin включает ряд мероприятий для защиты вашей базы данных от несанкционированного доступа. 

  1. Регулярное обновление PhpMyAdmin до последней версии, что позволит использовать последние улучшения безопасности.
  2. После установки PhpMyAdmin рекомендуется переместить папку установки из общедоступной директории, чтобы предотвратить неавторизованный доступ к управлению базами данных. Например, вы можете переместить папку на уровень выше корневой директории веб-сайта или в другую защищенную директорию.
  3. Создайте учетную запись администратора со сложным паролем и уникальным именем пользователя. 
  4. Ограничьте доступ по IP-адресу, что позволит фильтровать пользователей  по IP-адресам и поможет предотвратить несанкционированный доступ.
  5. Настройте SSL/TLS для PhpMyAdmin, чтобы установить зашифрованное соединение между клиентом и сервером. Это обеспечит конфиденциальность передаваемых данных и защитит от атак типа Man-in-the-Middle.
  6. Ограничьте права доступа к базам данных, учетным записям и таблицам, чтобы предотвратить несанкционированный доступ и потенциальные атаки.

Ограничение доступа для root-пользователя

Отдельно рассмотрим как ограничить доступ root, чтобы повысить безопасность системы.   

  1. Войдите в PhpMyAdmin с учетными данными root-пользователя и создайте нового пользователя с ограниченными привилегиями. Выберите сложное имя пользователя и безопасный пароль.
  2. При создании нового пользователя, убедитесь, что вы предоставляете только те привилегии, которые требуются для выполнения нужных задач. Не предоставляйте root-привилегии, которые дают полный контроль над базой данных.
  3. После создания нового пользователя удалите или отключите пользователя root. Это уменьшит вероятность несанкционированного доступа, поскольку root-пользователь является целевой точкой для злоумышленников. 

Чтобы отключить доступ root-пользователя в PhpMyAdmin в файле конфигурации (config.inc.php, как правило, находится в каталоге установки) измените значение $cfg['Servers'][$i]['AllowRoot'] с true на false:

$cfg['Servers'][$i]['AllowRoot'] = false.

Сохраните сделанные изменения. 

  1. Если вы удаляете пользователя root, рекомендуется создать резервную копию базы данных. Это позволит вам восстановить данные, если что-то пойдет не так в процессе настройки безопасности.
  2. После завершения изменений в PhpMyAdmin, убедитесь, что новый пользователь может выполнять требуемые задачи, а доступ root-пользователя полностью отключен или удален. Проверяйте журналы и настройки безопасности, чтобы обнаружить любую подозрительную активность.

Отключение доступа root-пользователя дает еще один уровень безопасности. Рекомендуем всегда создавать отдельные учетные записи пользователей с ограниченными правами для обычных задач по управлению базами данных, а не использовать root-пользователя.

Установка второго шлюза аутентификации

Установка второго шлюза аутентификации в phpMyAdmin включает использование модуля аутентификации для второго фактора, например, Google Authenticator. 

  1. Установите модуль Google Authenticator для phpMyAdmin, выполнив следующую команду:

sudo apt install libpam-google-authenticator

Эта команда устанавливает модуль аутентификации Google Authenticator, используемый для второго шага аутентификации.

  1. Настройте Google Authenticator для вашего пользователя, выполнив команду:

google-authenticator

Выполните настройку Google Authenticator, следуя инструкциям на экране, чтобы создать QR-код и получить секретный ключ. Вам будет предложено настроить дополнительные параметры:  использование временных паролей и использование скрытых ключей. Рекомендуем сохранить секретный ключ в безопасном месте.

  1. Откройте файл конфигурации PAM для phpMyAdmin, используйте для этого текстовый редактор: 

sudo nano /etc/pam.d/phpmyadmin

  1. д начало файла Добавьте строку auth required pam_google_authenticator.so, чтобы включить модуль Google Authenticator:
  2. Сохраните изменения в файле и закройте редактор.
  3. Откройте файл конфигурации phpMyAdmin, используя текстовый редактор:

sudo nano /etc/phpmyadmin/config.inc.php

  1. Добавьте в файл строку, чтобы включить потребность во втором шаге аутентификации:

      $cfg['LoginCookieValidity'] = 60 * 60 * 2; 

Эта строка устанавливает длительность срока действия cookie для аутентификации. Здесь значение установлено на 2 часа (60  60  2), измените его в соответствии с вашими требованиями..

  1. Сохраните изменения в файле и закройте редактор.
  2. Перезапустите веб-сервер для применения изменений конфигурации:

sudo systemctl restart Nginx

Теперь при попытке входа в phpMyAdmin будет запрошен ввод кода аутентификатора Google Authenticator после стандартной аутентификации.

В качестве второго шага аутентификации вы можете использовать другие модули для второго фактора: аппаратные ключи или SMS-подтверждения, аутентификации через базу данных или настройки входа через LDAP.

Всё ещё остались вопросы?