Freebsd

Веб-сервер на FreeBSD: Nginx или Apache, PHP, TLS и безопасный запуск

Инструкция по веб-серверу на FreeBSD 10 давно устарела. Сама идея не изменилась — ставим HTTP-сервер, подключаем приложение и TLS — но сегодня важнее построить конфигурацию, которую можно нормально обновлять, проверять и восстанавливать.

Nginx или Apache

Nginx удобен как лёгкий веб-сервер и reverse proxy. Apache остаётся хорошим выбором для проектов, которые зависят от его модулей и конфигурационной модели. Не ставьте оба «на всякий случай»: сначала определите, кто слушает 80/443 и какую роль выполняет второй компонент, если он вообще нужен.

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

На обычном сервере проще использовать бинарные пакеты FreeBSD. После установки включите нужную службу через rc-систему и проверьте её запуск после reboot. Не ограничивайтесь ручным стартом daemon в текущей сессии.

PHP лучше запускать отдельно

Для Nginx обычно используют PHP-FPM. Для Apache также имеет смысл отделять PHP-процессы там, где это упрощает управление ресурсами и обновления. Сокет или TCP-порт PHP-FPM не должен быть без необходимости доступен извне.

Сначала минимальный сайт

До установки CMS поднимите простой статический virtual host и убедитесь, что HTTP работает. Затем добавляйте PHP, базу данных, reverse proxy и TLS по одному слою. Такая последовательность сильно упрощает диагностику 403, 404, 502 и проблем с правами.

TLS и сертификаты

Для публичного сайта используйте HTTPS. Сертификат можно получать автоматически через ACME-клиент. Важно не только получить сертификат один раз, но и проверить автоматическое продление и безопасный reload веб-сервера после обновления файлов.

Проверка конфигурации перед reload

Перед применением изменений используйте штатную проверку синтаксиса выбранного веб-сервера. Только после успешного теста выполняйте reload. Это простое правило спасает от ситуации, когда одна опечатка одновременно кладёт все виртуальные хосты.

Firewall и права

Снаружи обычно нужны только 80/443, а SSH лучше ограничить административной сетью или VPN. Каталоги сайта не должны быть без причины доступны на запись пользователю веб-сервера. Отдельно защищайте файлы конфигурации приложения с паролями и ключами.

Логи и резервное копирование

Собирайте access/error logs, настройте rotation и следите за свободным местом. В backup должны входить не только файлы сайта, но и база данных, конфигурация веб-сервера, TLS/ACME-настройки и инструкция восстановления. Проверяйте restore на отдельной машине.

После обновлений

После обновления пакетов проверьте конфигурацию, версии PHP-модулей, доступ к базе и ключевые URL сайта. Для production-сервера полезно сначала обновлять копию или staging, особенно если меняется major-версия PHP или базы данных.

Итог: веб-сервер на FreeBSD лучше собирать как набор простых слоёв: ОС → сеть → веб-сервер → приложение → TLS → мониторинг → backup. Тогда проблема в одном компоненте не превращается в загадку на весь вечер.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *