Установка и настройка phpMyAdmin на FEMP Stack FreeBSD 12.0
Что это и для кого
phpMyAdmin — свободный веб-интерфейс для управления базами данных MySQL и MariaDB. Простыми словами: это удобная панель управления, которая работает в браузере и позволяет создавать, править, импортировать и экспортировать базы данных. В этом руководстве шаги проверены на FreeBSD 12.0 с уже установленным FEMP Stack (FreeBSD + Nginx + MariaDB/MySQL + PHP‑FPM).
Важно: FEMP Stack должен быть предварительно установлен и настроен. Минимальные ресурсы для тестовой машины в примере: 1 ГБ ОЗУ и 2 vCPU.
Что мы сделаем
- Установим дополнительные расширения PHP
- Установим phpMyAdmin из репозитория FreeBSD
- Настроим доступ через Nginx и создадим симлинк
- Добавим Blowfish secret для шифрования cookie
- Проверим вход и базовую работу
Шаг 1 — Установка расширений PHP
phpMyAdmin требует нескольких расширений PHP. На FreeBSD удобно ставить их через pkg.
Выполните в консоли:
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"
Если расширения в списке есть, переходите к установке phpMyAdmin.
Шаг 2 — Установка phpMyAdmin
FreeBSD предоставляет пакеты phpMyAdmin в репозитории. Сначала можно посмотреть доступные версии:
pkg search phpmyadmin
Затем установите актуальную сборку, совместимую с вашей версией PHP. В примере используется пакет для PHP 7.3:
pkg install phpMyAdmin-php73После успешной установки вы увидите системный вывод с подтверждением.

По умолчанию файлы phpMyAdmin оказываются в каталоге /usr/local/www/phpMyAdmin.
Шаг 3 — Настройка phpMyAdmin для FEMP Stack
Цель: сделать phpMyAdmin доступным по пути /phpmyadmin и задать blowfish‑секрет.
- Сгенерируйте Blowfish секрет — короткую случайную строку. Можно использовать онлайн‑генератор:
https://phpsolved.com/phpmyadmin-blowfish-secret-generator/
Скопируйте сгенерированную строку в заметки.
- Создайте символьную ссылку в корне документа Nginx, чтобы phpMyAdmin был доступен по /phpmyadmin:
ln -s /usr/local/www/phpMyAdmin/ /usr/local/www/nginx/phpmyadmin(В вашем окружении путь к корню Nginx может отличаться; приведённый пример соответствует распространённой структуре FEMP.)
- Скопируйте пример конфигурации phpMyAdmin и отредактируйте её:
cd /usr/local/www/phpMyAdmin/
cp config.sample.inc.php config.inc.php
vim config.inc.phpВ начале файла вставьте ваш blowfish‑секрет:
$cfg['blowfish_secret'] = 'ВАШ_СЛУЧАЙНЫЙ_BLOWFISH_СЕКРЕТ';Сохраните файл и закройте редактор.
- Перезапустите Nginx, чтобы он подхватил новую ссылку и конфигурацию:
service nginx restartПосле перезапуска phpMyAdmin будет доступен в браузере по пути /phpmyadmin.

Пример конфигурации блока сайта Nginx (контрольный пример, адаптируйте под свою структуру):
server {
listen 80;
server_name example.com; # замените на ваш хост или IP
root /usr/local/www/nginx;
location /phpmyadmin/ {
alias /usr/local/www/phpMyAdmin/;
index index.php index.html index.htm;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
# Другие настройки сайта
}Замечание: используйте fastcgi_pass и путь к сокету, соответствующие вашей конфигурации PHP‑FPM.
Шаг 4 — Тестирование
Откройте браузер и перейдите по адресу http://
Пример (по образцу):
Вход выполняется под именем пользователя MySQL/MariaDB и паролем.

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

Если вход не удаётся, проверьте:
- правильность имени пользователя и пароля базы данных
- доступность сокета/порта MySQL (по localhost или TCP)
- совпадение версии расширения mysqli с версией PHP
Безопасность и hardening рекомендации
- Ограничьте доступ по IP к /phpmyadmin через Nginx, например, разрешив только административной сети:
location /phpmyadmin/ {
allow 192.0.2.0/24;
deny all;
...
}Всегда используйте HTTPS. Настройте сертификат (Let’s Encrypt или корпоративный) и перенаправление HTTP → HTTPS.
Защитите доступ дополнительной HTTP‑аутентификацией (basic auth) перед phpMyAdmin.
Храните config.inc.php вне общедоступных мест либо ограничьте к нему права чтения: chmod 640 и владелец root.
Отключите анонимные учётные записи в MySQL/MariaDB и используйте уникальные сильные пароли.
Обновляйте пакеты и PHP‑модули регулярно через pkg.
Рассмотрите запуск phpMyAdmin в отдельном jаиле (jail) или контейнере для изоляции.
Альтернативные подходы
- Использовать phpMyAdmin как Docker контейнер вместо системного пакета. Удобно, если вы используете контейнеризацию.
- Использовать другие веб‑инструменты: Adminer (легковесный, один PHP‑файл) или коммерческие GUI.
- Подключаться к базе по SSH‑туннелю и запускать официальный клиент MySQL/MariaDB локально.
Когда альтернативы предпочтительны: если вы не хотите устанавливать дополнительные PHP‑расширения в системном окружении, рассмотрите Adminer или container‑based deployment.
Возможные проблемы и когда установка не пройдет
- Несовместимость версии PHP и пакета phpMyAdmin (проверьте, что пакет соответствует версии php73‑*).
- PHP‑модули не загружены — phpMyAdmin выдаст ошибки о недостающих расширениях.
- Неправильные права на config.inc.php или на каталог с сессиями PHP.
- Nginx настроен с неправильным alias/fastcgi_pass — будут ошибки 404 или 502/504.
Мини‑методология внедрения (короткая инструкция для команд)
- Подготовка окружения: проверить версию FreeBSD, доступ к pkg, установить FEMP.
- Установить PHP‑модули и перезапустить php‑fpm.
- Установить пакет phpMyAdmin и создать симлинк в веб‑корень.
- Сгенерировать blowfish и обновить config.inc.php.
- Настроить Nginx блок и произвести перезапуск сервера.
- Проверить вход, применить hardening (IP, HTTPS, basic auth).
Ролевые чек‑листы
Администратор сервера:
- Убедиться, что FEMP уже установлен
- Обновить пакеты и установить PHP‑модули
- Настроить права и перезапустить службы
DevOps инженер:
- Добавить конфигурацию Nginx и обеспечить HTTPS
- Настроить мониторинг и обновления пакетов
- Пометить задачу релиз‑нотом
Разработчик/DBA:
- Проверить подключение к базам данных
- Тестировать операции импорта/экспорта
- Проверить права учётных записей
Критерии приёмки
- phpMyAdmin доступен по адресу https://
/phpmyadmin/ - Вход с валидными учётными данными MySQL/MariaDB успешен
- Отображаются таблицы баз данных и доступны базовые операции (обзор, экспорт, импорт)
- Доступ к /phpmyadmin ограничен по IP и/или защищён HTTPS
- Конфигурационный файл config.inc.php содержит валидный $cfg[‘blowfish_secret’]
Небольшой глоссарий
- Blowfish secret — случайная строка для шифрования cookie в phpMyAdmin.
- Alias в Nginx — директива, указывающая альтернативный путь к файлам на диске.
- PHP‑FPM — FastCGI Process Manager для PHP, обрабатывает PHP‑запросы.
Ссылки
- https://www.freebsd.org/doc/
- https://www.phpmyadmin.net/docs/
- https://phpsolved.com/phpmyadmin-blowfish-secret-generator/
Итог
Установка phpMyAdmin из пакета FreeBSD достаточно прямая: важно установить требуемые PHP‑расширения, прописать blowfish‑секрет и корректно смонтировать каталог в веб‑корень Nginx. После базовой настройки следует уделить внимание безопасности: HTTPS, ограничение доступа и регулярные обновления.
Ключевые действия: установить расширения, pkg install phpMyAdmin, создать симлинк, вставить blowfish, перезапустить nginx и проверить вход.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента