Гид по технологиям

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

6 min read Базы данных Обновлено 07 Nov 2025
Установка phpMyAdmin на FreeBSD 12.0 (FEMP)
Установка phpMyAdmin на FreeBSD 12.0 (FEMP)

О чём статья

В этой инструкции показано, как установить и настроить phpMyAdmin для управления MySQL/MariaDB на сервере с FreeBSD 12.0 и FEMP Stack (Nginx + PHP-FPM + MariaDB/MySQL). Поясняю, какие PHP-расширения нужны, как установить пакет из репозитория FreeBSD, как подключить phpMyAdmin к Nginx и проверить работу в браузере. Включены советы по безопасности и проверочные сценарии.

Требования к системе и ключевые факты

  • Операционная система: FreeBSD 12.0
  • Используемая конфигурация в примере: 1 ГБ ОЗУ, 2 CPU
  • Веб-сервер: Nginx (в составе FEMP)
  • PHP: php73 (или совместимая ветка)
  • Доступ администратора (root или sudo)

Факт: phpMyAdmin — веб-приложение на PHP для управления MySQL/MariaDB через браузер. Для безопасной работы требуется корректная настройка доступа и шифрования.

Что мы сделаем

  • Установим дополнительные PHP-расширения, необходимые phpMyAdmin
  • Установим пакет phpMyAdmin из репозитория FreeBSD
  • Настроим доступ через Nginx (создадим symlink в корне сайта)
  • Сгенерируем и вставим Blowfish-секрет
  • Протестируем доступ и работу

Шаг 1 — Установка PHP-расширений

Сначала нужно установить расширения PHP, которые требуются phpMyAdmin. Выполните команду:

pkg install php73-ctype php73-filter php73-mysqli php73-json php73-mbstring php73-session php73-hash php73-xml php73-openssl php73-bz2 php73-zip

После установки перезапустите PHP-FPM, чтобы загрузить расширения:

service php-fpm restart

Проверьте, что расширения загружены:

php -m | egrep "ctype|filter|mysqli|json|mbstring|session|hash|xml|openssl|zip"

И вы увидите список загруженных модулей.

! Вывод команды php -m с перечислением загруженных расширений PHP

Важно: если какое‑то расширение не загружено, проверьте логи PHP-FPM и установку пакета соответствующего расширения.

Шаг 2 — Установка phpMyAdmin из репозитория FreeBSD

FreeBSD содержит готовые пакеты phpMyAdmin. Сначала найдите доступные версии:

pkg search phpmyadmin

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

! Результат поиска пакета phpMyAdmin в репозитории FreeBSD

Установите пакет, соответствующий вашей версии PHP. Для PHP 7.3 это, например:

pkg install phpMyAdmin-php73

После завершения установки вы увидите подтверждение установки пакета.

! Вывод установки пакета phpMyAdmin-php73 в FreeBSD

Путь установки по умолчанию: /usr/local/www/phpMyAdmin

Шаг 3 — Настройка phpMyAdmin для работы с Nginx

Мы сделаем phpMyAdmin доступным по пути /phpmyadmin в корне Nginx.

  1. Сгенерируйте Blowfish-секрет (безопасную случайную строку). Можно воспользоваться генератором: https://phpsolved.com/phpmyadmin-blowfish-secret-generator/ — скопируйте полученную строку в заметку.

  2. Создайте символьную ссылку из директории установленного phpMyAdmin в корневую папку вашего сайта Nginx (путь в примере — /usr/local/www/nginx/phpmyadmin):

ln -s /usr/local/www/phpMyAdmin/ /usr/local/www/nginx/phpmyadmin
  1. Перейдите в директорию phpMyAdmin и скопируйте пример конфигурации:
cd /usr/local/www/phpMyAdmin/
cp config.sample.inc.php config.inc.php
  1. Откройте config.inc.php в редакторе (например, vim) и вставьте Blowfish-секрет в переменную $cfg[‘blowfish_secret’]:
vim config.inc.php

$cfg['blowfish_secret'] = 'вставьте-ваш-blowfish-ключ-здесь';

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

  1. Перезапустите Nginx, чтобы применить изменения:
service nginx restart

После этого phpMyAdmin будет доступен по пути /phpmyadmin на IP сервера или домене.

! Страница phpMyAdmin, доступная по пути /phpmyadmin

Шаг 4 — Тестирование доступа и вход в систему

Откройте браузер и перейдите по адресу:

http:///phpmyadmin/

Пример в статье использует адрес:

http://10.5.5.25/phpmyadmin/

Вы увидите страницу входа. Введите учётные данные MySQL/MariaDB (пользователь и пароль).

! Страница входа phpMyAdmin

После входа вы попадёте в панель управления phpMyAdmin.

! Интерфейс панели управления phpMyAdmin после входа

Если вы успешно видите интерфейс, установка и базовая настройка завершены.

Рекомендации по безопасности

  • Ограничьте доступ к /phpmyadmin с помощью IP-фильтрации в конфигурации Nginx или HTTP-аутентификации (Basic auth) для админских интерфейсов.
  • Используйте HTTPS для шифрования трафика. Настройте сертификат (Let’s Encrypt или коммерческий) для домена.
  • Не храните учётные данные MySQL в общедоступных файлах; используйте привилегии SQL минимально необходимого уровня.
  • Регулярно обновляйте пакеты FreeBSD и phpMyAdmin: pkg upgrade и следите за CVE.
  • Поменяйте путь доступа (например, /admin/db вместо /phpmyadmin) и примените дополнительные правила в firewall.

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

Чек-лист для администратора

  • Установлены требуемые PHP-расширения
  • Установлен пакет phpMyAdmin, соответствующий версии PHP
  • Создана и проверена символьная ссылка в корень Nginx
  • Вставлен Blowfish-секрет в config.inc.php
  • Nginx и PHP-FPM перезапущены и без ошибок в логах
  • Доступ к /phpmyadmin ограничен (IP/HTTP auth/SSL)
  • Выполнено тестовое подключение и проверка операций (просмотр БД, экспорт)

Чек-лист для разработчика/пользователя

  • Есть учётная запись MySQL/MariaDB с нужными правами
  • Установлен и включён соответствующий PHP-драйвер (mysqli)
  • Тестовые запросы на чтение/запись прошли успешно
  • Экспорт и импорт SQL-файлов работают корректно

Возможные ошибки и способы их устранения

  • Ошибка: «Невозможно загрузить расширение mysqli» — проверьте, установлен ли пакет php73-mysqli и перезагружен ли php-fpm.
  • Ошибка: белая страница или 500 — проверьте логи Nginx и PHP-FPM (/var/log/nginx/, /var/log/php-fpm/) на предмет синтаксических ошибок и отсутствующих расширений.
  • Ошибка: «Wrong auth configuration» при входе — убедитесь, что учётные данные MySQL корректны и сервер БД запущен.
  • Проблемы с кодировкой — включите mbstring и укажите корректную кодировку в настройках phpMyAdmin.

Тестовые сценарии и критерии приёмки

  1. При открытии http:///phpmyadmin страница логина загружается без ошибок.
  2. Вход под администраторской учётной записью MySQL успешен.
  3. Просмотр списка баз данных отображается корректно.
  4. Экспорт и импорт небольшого SQL-файла (до 2 МБ) выполняются без ошибок.
  5. При отключении одного из нужных расширений приложение выдаёт понятную ошибку в логах.

Альтернативы и когда этот подход не подходит

  • Если нужна GUI-альтернатива с удалённым доступом без установки на сервер — рассмотрите Adminer (один PHP-файл). Он легче и быстрее разворачивается, но функционал отличается.
  • Для крупных продакшен‑окружений предпочтительнее использовать ограниченный доступ к phpMyAdmin или управлять БД через командную строку/администрирование по SSH.

Быстрый план отката (rollback)

  1. Удалите символьную ссылку: rm /usr/local/www/nginx/phpmyadmin
  2. Перезапустите Nginx: service nginx restart
  3. При необходимости удалите пакет: pkg delete phpMyAdmin-php73
  4. Если сломалась конфигурация PHP, восстановите копию config.inc.php из резервной копии.

Частые вопросы

Q: Нужен ли root для установки?
A: Да, требуются права администратора для pkg install и изменения в /usr/local/www.

Q: Можно ли использовать другую версию PHP?
A: Да. Убедитесь, что устанавливаете пакет phpMyAdmin, скомпилированный для вашей версии PHP (например, phpMyAdmin-php74 для PHP 7.4).

Q: Где хранится конфигурационный файл?
A: В директории /usr/local/www/phpMyAdmin/config.inc.php.

Ресурсы и ссылки

Краткое резюме

Установка phpMyAdmin на FreeBSD 12.0 в среде FEMP — прямая задача: установить нужные PHP-расширения, установить пакет из репозитория, создать ссылку в корень Nginx, вставить Blowfish-секрет и перезапустить сервисы. Обязательно ограничьте доступ к интерфейсу и используйте HTTPS.

Важно: после установки регулярно обновляйте пакеты и следите за безопасностью.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти