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

Установка MySQL и phpMyAdmin на FreeBSD 11 с Apache и PHP 5.6

• 6 min read • Базы данных • Обновлено 27 Nov 2025
Установка MySQL и phpMyAdmin на FreeBSD 11
Установка MySQL и phpMyAdmin на FreeBSD 11

Введение

MySQL — свободная реляционная СУБД, которая хранит данные в табличном формате. phpMyAdmin — свободный веб-интерфейс на PHP для администрирования MySQL. В этой статье мы устанавливаем MySQL 5.7 и phpMyAdmin вместе с Apache и PHP 5.6 на FreeBSD 11 и добавляем практические рекомендации по безопасности, тестированию и альтернативам.

Важно: PHP 5.6 официально устарел; используйте его только если у вас есть совместимость с унаследованным ПО. В разделе «Альтернативы и миграция» описаны варианты обновления.

Основные варианты использования

  • Быстрая локальная среда для разработки на FreeBSD 11.
  • Лёгкий административный стек для небольших проектов.
  • Учебная среда для изучения MySQL и phpMyAdmin.

Предварительные условия

  • Минимальная установка FreeBSD 11.
  • Привилегии root. Если вы на sudo-пользователе, выполните sudo -i.

Обновление базовой системы

Перед установкой пакетов обновите репозитории и пакеты:

pkg update
pkg upgrade

После обновления можно продолжать.

Установка MySQL 5.7

Установка через pkg:

pkg install mysql57-server mysql57-client

Включите автозапуск в rc.conf:

sysrc mysql_enable="yes"

Запустите сервер:

service mysql-server start

Получение начального пароля root (установленного установщиком):

cat $HOME/.mysql_secret

Пример вывода, где виден пароль:

# cat $HOME/.mysql_secret
# Password set for user 'root@localhost' at 2017-07-23 17:42:39
y4j?>sHsuh9r

Рекомендуется запустить скрипт безопасности:

mysql_secure_installation

Этот скрипт прочитает пароль из $HOME/.mysql_secret и предложит включить плагин VALIDATE PASSWORD, сменить пароль root, удалить анонимных пользователей, запретить удалённый вход root, удалить тестовую БД и перезагрузить таблицы привилегий.

Пример ввода при работе скрипта (следуйте подсказкам):

Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Change the password for root ? : y
Do you wish to continue with the password provided? : y
Remove anonymous users? : y
Disallow root login remotely? : y
Remove test database and access to it? : y
Reload privilege tables now? : y
All done!

Ключевые команды проверки:

mysql -u root -p

При успешном входе вы увидите приглашение MySQL.

Установка веб-сервера Apache 2.4

pkg install apache24

Включите в автозагрузку и запустите:

sysrc apache24_enable="YES"
service apache24 start

Откройте в браузере http://Your_Server_IP — при успешном запуске вы увидите страницу Apache.

Страница Apache — сервер работает

Установка и настройка PHP 5.6

phpMyAdmin требует PHP. Установим PHP 5.6 и модули, которые чаще всего требуются:

pkg install mod_php56 php56-session php56-xml php56-ctype php56-openssl php56-mcrypt php56-filter php56-gd php56-json php56-mysqli php56-mbstring php56-zlib php56-zip php56-bz2

Скопируйте production-конфигурацию:

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Проверьте версию PHP:

php -v

Пример вывода:

# php -v
PHP 5.6.31 (cli) (built: Jul 13 2017 01:25:09)

Включите обработку PHP в Apache: отредактируйте /usr/local/etc/apache24/httpd.conf (nano или любой другой редактор):

nano /usr/local/etc/apache24/httpd.conf

Найдите блок DirectoryIndex и добавьте index.php:


    DirectoryIndex index.php index.html

В конце файла добавьте обработчики для .php и .phps:


    SetHandler application/x-httpd-php


    SetHandler application/x-httpd-php-source

Перезапустите Apache:

service apache24 restart

Важно: PHP 5.6 больше не получает обновлений безопасности. Планируйте миграцию на PHP 7.x или 8.x в ближайшем будущем.

Установка phpMyAdmin

phpMyAdmin есть в репозитории FreeBSD:

pkg install phpmyadmin

Приложение устанавливается в /usr/local/www/phpMyAdmin/.

Скопируйте пример конфигурации:

cp /usr/local/www/phpMyAdmin/config.sample.inc.php /usr/local/www/phpMyAdmin/config.inc.php

Добавьте алиас в конфигурацию Apache (опять же редактируйте /usr/local/etc/apache24/httpd.conf):

Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"


    Options None
    AllowOverride Limit
    Require all granted

Перезапустите Apache:

service apache24 restart

Доступ к phpMyAdmin

Откройте в браузере:

http://Your_Server_IP/phpmyadmin/

Экран входа phpMyAdmin

Войдите под root и паролем, установленным ранее. Интерфейс позволяет создавать БД, пользователей, выполнять SQL-запросы, импорт/экспорт.

Интерфейс phpMyAdmin

Создание базы: нажмите New, укажите имя и кодировку, затем Create.

Создание базы данных в phpMyAdmin

SQL-редактор и выполнение запросов:

Интерфейс SQL-запросов

Создание/управление пользователями — вкладка Users:

Создание пользователя базы данных

Импорт дампа — вкладка Import:

Импорт резервной копии базы данных

Базовая проверка и тесты

Критерии приёмки

  • MySQL сервер запущен и доступен локально: mysql -u root -p → успешный вход.
  • Apache отвечает по HTTP и обслуживает PHP-страницы: разместите файл /usr/local/www/apache24/data/info.php с содержимым и откройте его.
  • phpMyAdmin доступен по /phpmyadmin/ и позволяет создать базу и пользователя.

Мини-тесты (пример):

# Проверка сервиса MySQL
pgrep -a mysqld
# Проверка порта 3306
sockstat -4 -l | grep 3306
# Проверка Apache
service apache24 status
# Проверка обработки PHP
curl -s http://127.0.0.1/info.php | grep "PHP Version"

Рекомендации по безопасности (жёсткие, обязательные для прод)

  • Отключить удалённый вход root (mysql_secure_installation предлагает это сделать).
  • Настроить firewall (pf или ipfw) и разрешать доступ к 3306 только с доверенных хостов.
  • Ограничить доступ к /phpmyadmin/ по IP или настроить дополнительную аутентификацию (Basic Auth) в Apache.
  • Включить HTTPS для Apache (Let’s Encrypt / certbot) и перенаправлять весь трафик на HTTPS.
  • Регулярные бэкапы: используйте mysqldump и/или бинарные бэкапы с планировщиком cron.
  • Обновляйте пакеты и планируйте миграцию с устаревших версий PHP.

Пример защиты phpMyAdmin в Apache (ограничение по IP):


    Require ip 192.0.2.0/24
    Require ip 203.0.113.5

Или добавить базовую аутентификацию:


    AuthType Basic
    AuthName "Restricted"
    AuthUserFile /usr/local/etc/apache24/.phpmyadmin_htpasswd
    Require valid-user

Резервное копирование и восстановление

Простой регулярный дамп всех баз:

mysqldump -u root -p --all-databases > /root/all_databases_$(date +%F).sql

Восстановление:

mysql -u root -p < /root/all_databases_YYYY-MM-DD.sql

Для больших БД используйте инструменты инкрементального резервного копирования и репликацию.

Траблшутинг: распространённые проблемы и решения

  • Не стартует mysql-server: проверьте /var/db/mysql/ и права, логи в /var/log/messages или /var/db/mysql/*.err.
  • Apache не обрабатывает PHP: убедитесь, что mod_php установлен и в httpd.conf есть SetHandler для .php; перезапустите сервис.
  • phpMyAdmin выдаёт ошибку подключения: проверьте, что php56-mysqli установлен и MySQL слушает нужный адрес.
  • Пароль из $HOME/.mysql_secret не найден: проверьте, под каким пользователем вы смотрите файл; установщик пишет файл в домашнюю директорию root.

Альтернативы и миграция

  • MariaDB: полностью совместима с большинством MySQL-инсталляций и часто является рекомендованной заменой. На FreeBSD пакеты mariadb100-server / mariadb100-client (номера версии могут отличаться) позволяют легко перейти.
  • Percona Server: альтернатива с улучшениями для больших нагрузок.

Миграция к MariaDB: установите пакет mariadb-server, остановите mysql, скопируйте данные или используйте дамп mysqldump и восстановите в MariaDB. Тестируйте приложения на тестовой среде перед миграцией в прод.

Решение по выбору СУБД (простой поток):

flowchart TD
  A[Нужна совместимость с MySQL] --> B{Нужна высокая производительность}
  B -- Да --> C[Percona Server или MariaDB]
  B -- Нет --> D[Оставить MySQL]
  C --> E[Тестирование и нагрузочное тестирование]
  D --> E

Роли и чек-листы

Системный администратор

  • Установить пакеты и включить службы в rc.conf.
  • Настроить бэкапы и мониторинг.
  • Настроить firewall и SSL для веб-интерфейса.

Разработчик

  • Проверить совместимость приложения с MySQL 5.7 и PHP 5.6.
  • Тестировать миграцию на новую версию PHP в изолированной среде.

Оператор БД

  • Регулярно проверять журналы ошибок и состояние репликации (если есть).
  • Проводить ротацию бэкапов и тестировать восстановление.

Совместимость и замечания по версиям

  • FreeBSD 11 и пакеты, указанные в руководстве, актуальны для момента написания. В репозиториях номера пакетов и версии могут обновляться.
  • PHP 5.6 — устаревшая версия. Планируйте переход на PHP 7.4 или выше, если ваше приложение совместимо.
  • MySQL 5.7 остаётся поддерживаемым дистрибутивом, но проверьте требования новых приложений.

Быстрый метод обновления стека (мини-процесс)

  1. Обновите системные пакеты: pkg update && pkg upgrade
  2. Установите и включите MySQL: pkg install mysql57-server mysql57-client; sysrc mysql_enable=”yes”; service mysql-server start
  3. Защитите MySQL: mysql_secure_installation
  4. Установите Apache и PHP, настройте обработку .php.
  5. Установите phpMyAdmin и добавьте Alias в Apache.
  6. Настройте Firewall и SSL, выполните бэкап и тесты.

Факто-бокс: что важно помнить

  • Требуемые компоненты: FreeBSD 11, pkg, mysql57-server, apache24, mod_php56, phpmyadmin.
  • Важные каталоги: /usr/local/www/phpMyAdmin/, /usr/local/etc/apache24/httpd.conf, /usr/local/etc/php.ini, $HOME/.mysql_secret.
  • Обязательные меры безопасности: mysql_secure_installation, firewall, SSL/HTTPS.

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

Мы установили MySQL 5.7, Apache 2.4, PHP 5.6 и phpMyAdmin на FreeBSD 11, настроили интеграцию PHP/Apache и подробно рассмотрели шаги по безопасности, резервному копированию и отладке. Рассмотрены альтернативы и даны практические чек-листы для разных ролей.

Важное: планируйте обновление PHP и следите за обновлениями безопасности для всех компонентов.

Однострочный глоссарий

  • MySQL: реляционная СУБД; phpMyAdmin: веб-интерфейс для MySQL; Apache: HTTP-сервер; php56-mysqli: расширение PHP для работы с MySQL.

Конец статьи.

Поделиться: 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 быстро