Установка Bolt CMS на FreeBSD 12 с Nginx и MySQL
Важное: если вы хотите минимальную конфигурацию, можно заменить MySQL на SQLite для локальной разработки или использовать Apache вместо Nginx для знакомых конфигураций.

Кратко о Bolt
Bolt — лёгкая и простая в использовании система управления контентом (CMS) на PHP. Выпускается под открытой лицензией MIT, исходный код доступен на GitHub. Bolt ориентирован на быстрый запуск сайтов с современным HTML5-разметкой и удобными шаблонами.
Что будет в этой инструкции
- Подготовка FreeBSD 12 и базовые пакеты
- Установка и базовая настройка MySQL
- Установка PHP и расширений, запуск PHP-FPM
- (Опционально) получение TLS-сертификатов через acme.sh и Let’s Encrypt
- Установка Nginx и конфигурация виртуального хоста для Bolt
- Установка Bolt, права доступа, финальная настройка
- Дополнительно: безопасность, проверки, альтернативные варианты и чеклисты
Требования
- PHP >= 5.5.9 (рекомендуется современная 7.x), необходимые расширения: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.
- База данных: SQLite (встроенная) ИЛИ MySQL/MariaDB ИЛИ PostgreSQL.
- Веб-сервер: Apache с включённым mod_rewrite ( .htaccess ) или Nginx.
- Минимум 32 МБ памяти, выделенной PHP (для простого сайта). Для реальных сайтов требуйте больше.
Предварительные условия
- FreeBSD 12
- Нерутовый пользователь с правами sudo
Начальные шаги
Проверьте версию 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Шаг 1 — Установка MySQL и создание базы для Bolt
Bolt поддерживает MySQL, MariaDB, PostgreSQL и SQLite. В этом руководстве используем MySQL.
Установка MySQL:
sudo pkg install -y mysql57-serverПроверка версии:
mysql --version
# mysql Ver 14.14 Distrib 5.7.27, for FreeBSD12.0 (amd64) using EditLine wrapperВключите и запустите сервис:
sudo sysrc mysql_enable="yes"
sudo service mysql-server startЗапустите скрипт безопасности:
sudo mysql_secure_installationОтветьте на вопросы (пример):
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YПодключитесь как root и создайте базу и пользователя (замените имена и пароль):
sudo mysql -u root -p
# Enter password
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;Выйдите: exit
Шаг 2 — Установка 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-pdo php72-pdo_mysql php72-mysqli php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache php72-sqlite3 php72-pdo_sqlite php72-intl php72-posixПроверьте версию PHP:
php --version
# PHP 7.2.22 (cli) (built: Sep 7 2019 01:12:40) ( NTS )
# Zend Engine v3.2.0, ...Включите и запустите PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startСовет: для production используйте поддерживаемую версию PHP 7.4/8.x и обновлённые расширения.
Шаг 3 — (Опционально) Установка acme.sh и получение сертификата Let’s Encrypt
HTTPS рекомендуется для всех сайтов. Acme.sh — лёгкий клиент для получения сертификатов.
sudo pkg install -y acme.shПроверка версии:
acme.sh --version
# v2.8.2Получение RSA и ECDSA сертификатов (пример для example.com):
# RSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256После выполнения сертификаты и ключи будут в папках:
- RSA:
/etc/letsencrypt/example.com - ECC:
/etc/letsencrypt/example.com_ecc
Важно: acme.sh запускает временный standalone-сервер на 80/443. Остановите Nginx временно при необходимости или используйте вебroot/серверный метод.
Шаг 4 — Установка Nginx и конфигурация для Bolt CMS
Установка Nginx (mainline):
sudo pkg install -y nginx-develПроверка версии:
nginx -v
# nginx version: nginx/1.17.1Включите и запустите сервис:
sudo sysrc nginx_enable=yes
sudo service nginx startСоздайте файл конфигурации Bolt:
sudo vim /usr/local/etc/nginx/bolt.confВставьте следующую конфигурацию (оставлена как в шаблоне — проверьте пути сертификатов и root):
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /usr/local/www/bolt/public;
index index.php;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /bolt {
try_files $uri /index.php?$query_string;
}
location ^~ /bolt/ {
try_files $uri /index.php?$query_string;
}
location ~ /index.php/(.*) {
rewrite ^/index.php/(.*) /$1 permanent;
}
location ~ /\. { deny all; }
location ~ /\.(htaccess|htpasswd)$ { deny all; }
location ~ /\.(?:db)$ { deny all; }
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml)$ { deny all; }
location ~ [^/]\.php(/|$) {
include fastcgi_params;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_param HTTPS $https if_not_empty;
fastcgi_pass 127.0.0.1:9000;
}
}Примечание: для production-конфигурации дополнительно настройте заголовки безопасности, HSTS, OCSP stapling (если уместно) и корректные cipher suites. Подробный шаблон и рекомендации: https://docs.bolt.cm/3.6/installation/webserver/nginx.
Включите файл в основной конфиг Nginx:
sudo vim /usr/local/etc/nginx/nginx.confДобавьте в блок http {}:
include bolt.conf;Проверка конфигурации и перезагрузка:
sudo nginx -t
sudo service nginx reloadШаг 5 — Установка Bolt CMS
Создайте директорий для сайтов и скачайте Bolt:
sudo mkdir -p /usr/local/www
cd /usr/local/www
sudo wget https://bolt.cm/distribution/bolt-latest.zip && sudo unzip bolt-latest.zip
sudo rm bolt-latest.zipПереименуйте папку релиза (пример для v3.6.10):
sudo mv bolt-v3.6.10 bolt
cd /usr/local/www/boltПереименуйте шаблонные конфигурационные файлы:
sudo mv .bolt.yml.dist .bolt.yml
sudo mv composer.json.dist composer.json
sudo mv composer.lock.dist composer.lock
sudo mv src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.phpУстановите владельца веб-файлов в пользователя веб-сервера (www):
sudo chown -R www:www /usr/local/www/boltОткройте сайт в браузере и следуйте инструкциям установщика.
Шаг 6 — Завершение установки и создание первого пользователя
После первого открытия сайта установщик Bolt предложит создать администратора.

Заполните поля и нажмите кнопку для создания первого пользователя. После успешного создания вы увидите панель администратора:

Панель Bolt доступна по адресу: https://example.com/bolt (замените example.com на ваш домен или IP).
Рекомендации по безопасности и эксплуатации
- Права файлов: ограничьте права доступа к конфигурационным файлам, секретам и директории
app/cacheиapp/configтолько пользователю веб-сервера. - Резервное копирование: регулярно бэкапьте базу данных и директорию
filesиconfig. - Обновления: обновляйте PHP, расширения, Bolt и зависимости через Composer/пакеты.
- HTTPS: используйте TLS (Let’s Encrypt) и настройте автоматическое продление сертификатов.
- Заголовки безопасности: добавьте Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy.
Мини-SOP: резервное копирование и откат (rollback)
- Перед обновлением создайте дамп базы:
mysqldump -u username -p dbname > /root/dbname-$(date +%F).sql- Скопируйте директорию сайта:
sudo tar czf /root/bolt-backup-$(date +%F).tar.gz -C /usr/local/www bolt- Если нужно откатиться, остановите сервисы, распакуйте архив и восстановите дамп:
sudo service nginx stop
sudo service php-fpm stop
sudo tar xzf /root/bolt-backup-YYYY-MM-DD.tar.gz -C /usr/local/www
mysql -u username -p dbname < /root/dbname-YYYY-MM-DD.sql
sudo service php-fpm start
sudo service nginx startЧеклист ролей (кто за что отвечает)
- Сисадмин: установка пакетов, настройка сервисов, безопасность сервера.
- Веб-разработчик: тема, шаблоны Twig, подключение внешних библиотек, Composer.
- Контент-менеджер: наполнение контентом в админке Bolt, тестирование шаблонов.
Альтернативные варианты и когда их выбрать
- SQLite: для локальной разработки и небольших сайтов — быстро и без отдельного сервера БД.
- PostgreSQL: если нужна продвинутая работа с транзакциями и расширенные возможности SQL.
- Apache: если вы уже используете Apache и знакомы с .htaccess.
Советы по совместимости и миграции
- Bolt v3 требует PHP >= 5.5.9, но для безопасности используйте поддерживаемую ветку PHP 7.4/8.x.
- При миграции базы данных между MySQL и PostgreSQL проверьте совместимость SQL-запросов и кодировки.
Критерии приёмки
- Сайт отвечает на HTTP/HTTPS запросы и возвращает код 200 на главную страницу.
- Админ-панель доступна по /bolt и вход администратора работает.
- Запись и чтение контента в базе проходят без ошибок.
- SSL корректно настроен и сертификаты не просрочены.
Тестовые проверки (acceptance / health checks)
- Проверка PHP-FPM:
ps aux | grep php-fpmи логов. - Nginx:
sudo nginx -tиsudo service nginx status. - MySQL: подключение и простой SELECT/INSERT.
- Проверка URL /bolt, вход в панель, создание тестовой записи.
Таблица совместимости (ключевые элементы)
- PHP: рекомендуемые версии 7.2–7.4/8.x (обновляйте в соответствии с поддержкой Bolt и расширений).
- MySQL: 5.7 (пример); MariaDB совместима.
- Nginx: любая актуальная основная ветка.
Короткая методология развертывания (четыре шага)
- Подготовка сервера и пакетов (обновления, sudo, утилиты).
- Установка и настройка БД и PHP-FPM.
- Конфигурация веб-сервера и TLS.
- Развертывание Bolt и проверка работоспособности.
Полезные ссылки
- Официальный сайт Bolt: https://bolt.cm/
- Репозиторий: https://github.com/bolt/bolt
- Документация Nginx для Bolt: https://docs.bolt.cm/3.6/installation/webserver/nginx
Короткое резюме
Bolt CMS легко разворачивается на FreeBSD 12 при соблюдении простых шагов: подготовка системы, установка MySQL, PHP-FPM, Nginx, (опционально) TLS через acme.sh и стандартная установка Bolt. Не забудьте про права доступа, регулярные бэкапы и настройку заголовков безопасности.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента