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

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

• 5 min read • DevOps • Обновлено 16 Nov 2025
phpMyAdmin на FEMP Stack FreeBSD 12
phpMyAdmin на FEMP Stack FreeBSD 12

Что это и для кого

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"

Вывод списка загруженных расширений PHP в консоли FreeBSD

Если расширения в списке есть, переходите к установке phpMyAdmin.

Шаг 2 — Установка phpMyAdmin

FreeBSD предоставляет пакеты phpMyAdmin в репозитории. Сначала можно посмотреть доступные версии:

pkg search phpmyadmin

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

Затем установите актуальную сборку, совместимую с вашей версией PHP. В примере используется пакет для PHP 7.3:

pkg install phpMyAdmin-php73

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

Лог установки пакета phpMyAdmin через pkg

По умолчанию файлы phpMyAdmin оказываются в каталоге /usr/local/www/phpMyAdmin.

Шаг 3 — Настройка phpMyAdmin для FEMP Stack

Цель: сделать phpMyAdmin доступным по пути /phpmyadmin и задать blowfish‑секрет.

  1. Сгенерируйте Blowfish секрет — короткую случайную строку. Можно использовать онлайн‑генератор:

https://phpsolved.com/phpmyadmin-blowfish-secret-generator/

Скопируйте сгенерированную строку в заметки.

  1. Создайте символьную ссылку в корне документа Nginx, чтобы phpMyAdmin был доступен по /phpmyadmin:
ln -s /usr/local/www/phpMyAdmin/ /usr/local/www/nginx/phpmyadmin

(В вашем окружении путь к корню Nginx может отличаться; приведённый пример соответствует распространённой структуре FEMP.)

  1. Скопируйте пример конфигурации phpMyAdmin и отредактируйте её:
cd /usr/local/www/phpMyAdmin/
cp config.sample.inc.php config.inc.php
vim config.inc.php

В начале файла вставьте ваш blowfish‑секрет:

$cfg['blowfish_secret'] = 'ВАШ_СЛУЧАЙНЫЙ_BLOWFISH_СЕКРЕТ';

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

  1. Перезапустите Nginx, чтобы он подхватил новую ссылку и конфигурацию:
service nginx restart

После перезапуска phpMyAdmin будет доступен в браузере по пути /phpmyadmin.

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:///phpmyadmin/

Пример (по образцу):

http://10.5.5.25/phpmyadmin/

Вход выполняется под именем пользователя MySQL/MariaDB и паролем.

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

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

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

Если вход не удаётся, проверьте:

  • правильность имени пользователя и пароля базы данных
  • доступность сокета/порта MySQL (по localhost или TCP)
  • совпадение версии расширения mysqli с версией PHP

Безопасность и hardening рекомендации

  1. Ограничьте доступ по IP к /phpmyadmin через Nginx, например, разрешив только административной сети:
location /phpmyadmin/ {
    allow 192.0.2.0/24;
    deny all;
    ...
}
  1. Всегда используйте HTTPS. Настройте сертификат (Let’s Encrypt или корпоративный) и перенаправление HTTP → HTTPS.

  2. Защитите доступ дополнительной HTTP‑аутентификацией (basic auth) перед phpMyAdmin.

  3. Храните config.inc.php вне общедоступных мест либо ограничьте к нему права чтения: chmod 640 и владелец root.

  4. Отключите анонимные учётные записи в MySQL/MariaDB и используйте уникальные сильные пароли.

  5. Обновляйте пакеты и PHP‑модули регулярно через pkg.

  6. Рассмотрите запуск 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.

Мини‑методология внедрения (короткая инструкция для команд)

  1. Подготовка окружения: проверить версию FreeBSD, доступ к pkg, установить FEMP.
  2. Установить PHP‑модули и перезапустить php‑fpm.
  3. Установить пакет phpMyAdmin и создать симлинк в веб‑корень.
  4. Сгенерировать blowfish и обновить config.inc.php.
  5. Настроить Nginx блок и произвести перезапуск сервера.
  6. Проверить вход, применить 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‑запросы.

Ссылки

Итог

Установка phpMyAdmin из пакета FreeBSD достаточно прямая: важно установить требуемые PHP‑расширения, прописать blowfish‑секрет и корректно смонтировать каталог в веб‑корень Nginx. После базовой настройки следует уделить внимание безопасности: HTTPS, ограничение доступа и регулярные обновления.

Ключевые действия: установить расширения, pkg install phpMyAdmin, создать симлинк, вставить blowfish, перезапустить nginx и проверить вход.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро