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

Установка и настройка Bludit на FreeBSD 12 с Nginx

• 5 min read • CMS • Обновлено 16 Nov 2025
Bludit на FreeBSD 12 с Nginx — установка и настройка
Bludit на FreeBSD 12 с Nginx — установка и настройка

Введение

Bludit — простая, быстрая и безопасная flat‑file CMS. Контент хранится в файлах JSON, поэтому не нужна СУБД. Подойдёт для блогов и простых сайтов. Эта статья ориентирована на FreeBSD 12 и Nginx с PHP‑FPM.

Ключевые цели статьи:

  • Быстрая установка и настройка рабочего окружения.
  • Безопасное развёртывание и базовая защита файловой системы.
  • Возможность получить TLS‑сертификаты и настроить автопродление.

Основные требования

  • PHP 5.3 или выше с расширениями: mbstring, gd, dom, json и т.д.
  • Веб‑сервер с поддержкой PHP (Nginx, Apache и т.п.).
  • Система FreeBSD 12 и пользователь с sudo.

Краткая диаграмма процесса

  1. Обновить систему и установить базовые утилиты.
  2. Установить PHP и расширения + запустить PHP‑FPM.
  3. (Опционально) Установить acme.sh и получить сертификаты Let’s Encrypt.
  4. Установить Nginx и подключить конфигурацию для Bludit.
  5. Скачать Bludit в корень сайта, выставить права и завершить установку через веб‑мастер.

Предварительные шаги

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

uname -ro  
# FreeBSD 12.0-RELEASE

Установите временную зону:

tzsetup

Обновите систему и пакеты:

freebsd-update fetch install  
pkg update && pkg upgrade -y

Установите утилиты администрирования:

pkg install -y sudo vim unzip wget bash socat git

Важно: работайте не под root, используйте пользователя с sudo для повседневных задач.

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

Установите PHP и необходимые расширения (пример для PHP 7.2):

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-filter php72-ftp php72-tokenizer php72-calendar php72-fileinfo

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

php -m  

ctype  
curl  
exif  
fileinfo  
. . .  
. . .

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

php --version  
# PHP 7.2.14 (cli) (built: Jan 15 2019 01:14:39) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies  
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Включите и запустите PHP‑FPM:

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Примечание: в примерах используется TCP‑порт 9000. Альтернативно можно использовать unix‑сокет, изменив fastcgi_pass в конфигурации Nginx.

Шаг 2 — Установка acme.sh и получение сертификата Let’s Encrypt (опционально)

HTTPS не обязателен, но настоятельно рекомендуется. Acme.sh — лёгкий клиент на shell без внешних зависимостей.

Установка acme.sh:

sudo mkdir /etc/letsencrypt  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh   
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]  
cd ~

Проверка версии:

/etc/letsencrypt/acme.sh --version  
# v2.8.2

Выдача сертификатов RSA и ECDSA:

# RSA 2048  
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048  
# ECDSA  
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Где будут храниться файлы сертификатов:

  • RSA: /etc/letsencrypt/example.com
  • ECDSA: /etc/letsencrypt/example.com_ecc

Автопродление и развёртывание: используйте встроенные возможности acme.sh, например –installcert с опцией deploy или добавьте cron для регулярной проверки. Пример команды для установки сертификата в Nginx можно найти в документации acme.sh.

Важно: при использовании standalone режим остановите Nginx на время выдачи сертификата или используйте dns‑challenge.

Шаг 3 — Установка и конфигурация Nginx

Установите Nginx:

sudo pkg install -y nginx

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

nginx -v  
# nginx version: nginx/1.16.2

Запустите и включите автозапуск:

sudo sysrc nginx_enable=yes  
sudo service nginx start

Создайте файл конфигурации для Bludit:

sudo vim /usr/local/etc/nginx/bludit.conf

Вставьте (пример):

server {
  listen 80;
  listen 443 ssl;  
  
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;  

  server_name example.com;
  root /usr/local/www/bludit;

  index index.php;

  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;  
    try_files $fastcgi_script_name =404;  
    set $path_info $fastcgi_path_info;  
    fastcgi_param PATH_INFO $path_info;  
    fastcgi_index index.php;  
    include fastcgi_params;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    fastcgi_pass 127.0.0.1:9000;
  }

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ^~ /bl-content/tmp/ { deny all; } 
  location ^~ /bl-content/pages/ { deny all; } 
  location ^~ /bl-content/databases/ { deny all; } 
}

Объяснение ключевых параметров:

  • fastcgi_pass — адрес PHP‑FPM. Для unix‑сокета укажите fastcgi_pass unix:/var/run/php-fpm.sock;
  • try_files — гарантирует, что запросы без соответствующего файла попадут в index.php;
  • deny all для чувствительных директорий защищает JSON‑файлы и временные данные.

Подключите конфигурацию в основной блок http в /usr/local/etc/nginx/nginx.conf, добавив строку:

include bludit.conf;

Проверка синтаксиса Nginx и перезагрузка:

sudo nginx -t
sudo service nginx reload

Шаг 4 — Установка Bludit

Создайте корень сайта и скачайте релиз:

sudo mkdir -p /usr/local/www/bludit
cd /usr/local/www/bludit
sudo wget https://www.bludit.com/releases/bludit-3-9-2.zip  
sudo unzip bludit-3-9-2.zip  
sudo rm bludit-3-9-2.zip  
sudo mv bludit-3-9-2/* . && sudo mv bludit-3-9-2/.* .  
sudo rmdir bludit-3-9-2

NOTE: обновите URL загрузки, если есть новая версия.

Установите владельца файлов под пользователя веб‑сервера:

sudo chown -R www:www /usr/local/www/bludit

Перезапустите PHP‑FPM:

sudo service php-fpm restart

Шаг 5 — Завершение установки через веб‑мастер

Откройте ваш сайт в браузере. При первом доступе вы увидите страницу выбора языка:

ALT текста: Начальный экран установки Bludit с выбором языка

Создайте пароль для пользователя admin и нажмите “Install”:

ALT текста: Форма создания пароля администратора в установщике Bludit

После установки вы попадёте на главную страницу Bludit:

ALT текста: Главная страница Bludit после успешной установки

Админка доступна по адресу /admin:

ALT текста: Интерфейс панели администратора Bludit

Поздравляем — установка завершена. Проверьте работу сайта и админки.

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

  • Права на файлы: разрешите только необходимый доступ для веб‑пользователя. Избегайте 777.
  • Защитите директории bl-content/tmp, bl-content/pages и bl-content/databases через Nginx (см. пример).
  • Регулярно обновляйте Bludit, темы и плагины.
  • Настройте резервное копирование папки bl-content, особенно базы JSON и загруженных файлов.
  • Мониторьте логи Nginx и PHP‑FPM для подозрительной активности.

Пример простого плана резервного копирования (ежедневно):

  • Копировать /usr/local/www/bludit/bl-content/databases и /usr/local/www/bludit/bl-content/uploads в архив.
  • Хранить архивы вне сервера или в облачном хранилище.

Автоматическое продление сертификатов acme.sh

Acme.sh обычно ставит cron задачу при установке. Для ручной проверки конфигурации cron или системы периодического запуска проверьте crontab или system cronjobs. Для ручного развёртывания сертификата в Nginx используйте флаг –installcert с acme.sh и укажите команды перезагрузки Nginx.

Отладка и распространённые проблемы

  • Страницы возвращают 502/504 — проверьте, запущен ли php-fpm и доступен ли по указанному адресу/сокету.
  • Ошибка доступа к файлам — проверьте владельца и права (chown/chmod).
  • Сертификаты не выдаются — остановите Nginx при использовании standalone или используйте dns‑challenge.

Роли и чеклист перед запуском (Role‑based checklist)

Администратор сервера:

  • Обновил систему и установил пакеты.
  • Настроил пользователя с sudo.
  • Настроил cron для резервных копий.

Dev/Ops:

  • Установил PHP и расширения.
  • Настроил PHP‑FPM и проверил соединение с Nginx.
  • Настроил Nginx и тесты nginx -t.

Владелец сайта:

  • Установил Bludit и создал учетную запись admin.
  • Проверил доступ к админке /admin.
  • Настроил базовые SEO и плагины по необходимости.

Мини‑методология развёртывания

  1. Подготовка окружения: обновить систему и установить зависимости.
  2. Развёртывание приложения: скачать Bludit и настроить права.
  3. Сеть и безопасность: получить TLS, настроить firewall и Nginx.
  4. Мониторинг и бэкапы: настроить логи и резервные копии.

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

  • Сайт отвечает по HTTP и/или HTTPS.
  • Админка доступна и авторизация работает.
  • Nginx и PHP‑FPM работают без ошибок в логах.
  • Резервное копирование настроено и протестировано.

Факты и ключевые значения

  • Минимальная версия PHP: 5.3 (рекомендуется >=7.2).
  • Пример версии Bludit в руководстве: 3.9.2.
  • FreeBSD: 12.0.
  • Nginx: пример 1.16.2.

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

  • Если нужен сложный сайт с сотнями тысяч записей и транзакциями, выбирайте CMS с СУБД (например, WordPress, Drupal) вместо flat‑file.
  • Для совместной командной работы с продвинутой редакторской логикой flat‑file может оказаться ограничением.
  • Если вы предпочитаете Apache или другой веб‑сервер, шаги по установке будут отличаться, но общая логика похожа.

Конец и ссылки

Если появятся вопросы — проверьте официальную документацию Bludit и репозиторий на GitHub.

Важно: проверяйте актуальность URL релизов Bludit и версий пакетов.

Резюме: следуя шагам выше, вы подготовите безопасное и простое окружение для Bludit на FreeBSD 12 с Nginx и HTTPS. Начните с базовой установки, затем добавляйте плагины и бэкапы в зависимости от потребностей сайта.

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