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

Установка BoltWire CMS на Ubuntu 20.04

• 10 min read • CMS • Обновлено 17 Nov 2025
BoltWire на Ubuntu 20.04 — установка
BoltWire на Ubuntu 20.04 — установка

Схематичное изображение логотипа BoltWire или интерфейса CMS

BoltWire — лёгкая CMS на PHP; в этой инструкции показана пошаговая установка на сервер Ubuntu 20.04 с Nginx, PHP 7.2, MySQL и Composer. Приведены команды, конфигурации Nginx и PHP, рекомендации по безопасности, чек-листы для ролей и сценарии устранения ошибок.

Введение

BoltWire (Bolt) — лёгкая система управления контентом на базе PHP. Она подходит для небольших сайтов и блогов, обеспечивает простую работу с контентом без необходимости глубокого знания HTML. В оригинальном руководстве отмечаются такие возможности, как динамическая генерация страниц, управление правами пользователей, расширяемость через модули и локализация. В этой адаптации вы получите полный пошаговый план установки на Ubuntu 20.04 и дополнительные операционные рекомендации по запуску, безопасности и отладке.

Краткий факт-бокс

  • Целевая ОС: Ubuntu 20.04 LTS
  • Веб-сервер: Nginx (рекомендуется как обратный прокси)
  • PHP: 7.2 или выше (в руководстве использована 7.2)
  • Менеджер зависимостей: Composer
  • База данных: MySQL (см. замечание о совместимости в секции «Совместимость»)

Важно

Проверьте текущие системные требования Bolt на официальном репозитории проекта перед установкой в production — требования со временем меняются.

Содержание

  • Требования
  • Подготовка сервера и доступ по SSH
  • Обновление системы
  • Установка базовых пакетов
  • Установка и настройка Nginx
  • Настройка блока сервера (server block)
  • Установка MySQL и создание базы
  • Установка PHP и настройка
  • Установка Composer
  • Установка Bolt
  • Доступ к Bolt и первый запуск
  • Частые ошибки и устранение неполадок
  • Рекомендации по безопасности и производительности
  • Резервное копирование и миграция
  • Чек-листы по ролям
  • Критерии приёмки
  • Глоссарий
  • Анонс / короткое сообщение

Требования

  • Свежая установка Ubuntu 20.04 LTS.
  • SSH-доступ под root или пользователем с sudo-привилегиями.
  • Зарегистрированное доменное имя, указывающее на IP сервера (A-запись).
  • Базовые знания командной строки Linux.

Подготовка сервера и доступ по SSH

Подключитесь к серверу по SSH. Пример команды:

ssh root@IP_Address -p Port_number
  • root — замените своим пользователем, если вы не используете root.
  • IP_Address — IP сервера (узнать можно командой hostname -I).
  • Port_number — обычно 22; если на сервере другой порт SSH, укажите его.

Пример проверки IP:

hostname -I

Рекомендации по безопасности SSH (выполните после первоначального доступа):

  • Создайте непривилегированного пользователя и добавьте его в sudo.
  • Отключите вход под root через SSH (в /etc/ssh/sshd_config -> PermitRootLogin no), затем перезапустите sshd.
  • Настройте аутентификацию по ключам и отключите парольную аутентификацию.

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

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

sudo lsb_release -a

Обновите пакеты и установите обновления безопасности:

sudo apt-get update && sudo apt-get upgrade -y

Команда sudo reboot рекомендуема в случае обновления ядра или системных библиотек:

sudo reboot

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

Обновление пакетов на сервере

Примечание

-y в apt автоматически отвечает “yes” на запросы, используйте осторожно на production-системах.

Установка базовых пакетов

Установите утилиты, которые понадобятся в процессе установки и администрирования:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Пояснения:

  • socat — утилита для перенаправления соединений (может понадобиться для проксирования сокетов).
  • apt-transport-https — позволяет apt использовать HTTPS-репозитории.
  • bash-completion — автодополнение команд в bash.
  • curl и wget — для загрузки файлов и скриптов.

Установка необходимых пакетов

Установка Nginx

Nginx используется как обратный прокси и статический сервер файлов. Установка:

sudo apt-get install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

Проверка статуса:

sudo systemctl status nginx

Установка Nginx на Ubuntu

Статус Nginx после запуска

Конфигурация Nginx для Bolt

Bolt устанавливается в /var/www/bolt. Пример server block для HTTP (позже можно добавить HTTPS через certbot):

Создаём файл конфигурации:

sudo nano /etc/nginx/sites-available/bolt.conf

Вставьте следующий блок (пример из исходного руководства). Обратите внимание на путь к сокету PHP-FPM — при использовании другой версии PHP измените путь на соответствующий (php7.4-fpm.sock и т.д.).

server {  
  listen 80;   
  listen [::]:80;  
  root /var/www/bolt;  
  index index.php index.html index.htm;  
  server_name bolt.example.com;  
  
  location / {  
    try_files      $uri $uri/ /index.php?$query_string;   
  }  
  
  location ~ [^/]\.php(/|$) {  
    try_files      /index.php =404;   
    fastcgi_split_path_info ^(.+\.php)(/.+)$;   
    fastcgi_index      index.php;   
    fastcgi_pass       unix:/var/run/php/php7.2-fpm.sock;   
    include         fastcgi_params;   
    fastcgi_param  PATH_INFO    $fastcgi_path_info;   
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   
  }  
  
 location = /bolt {  
  try_files        $uri /index.php?$query_string;  
 }  
  
 location ^~ /bolt/ {  
  try_files         $uri /index.php?$query_string;  
 }  
  
}

Примечания:

  • Путь /var/www/bolt — документация и примеры используют его как корень сайта. Если вы используете другое размещение (например /srv/www), измените root.
  • server_name — замените bolt.example.com на ваш домен или IP.
  • fastcgi_pass — путь к PHP-FPM сокету должен соответствовать установленной версии PHP (например, php7.4-fpm.sock).

Активируйте конфигурацию и проверьте Nginx:

sudo ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo systemctl restart nginx

Проверка конфигурации Nginx

Если вы планируете использовать HTTPS — настройте certbot и добавьте редиректы на 443.

Установка MySQL

В руководстве отмечено, что BoltWire требует минимум MySQL 4.2, но этот комментарий может быть устаревшим. Современные установки используют MySQL 5.7/8.0 или совместимые форки (MariaDB). Перед установкой проверьте актуальные требования Bolt в репозитории.

Установка MySQL (или MariaDB):

sudo apt -y install mysql-server

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

sudo systemctl start mysql
sudo systemctl enable mysql

Установка MySQL на сервере

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

Подключитесь к MySQL и создайте базу и пользователя (в примере — база bolt, пользователь bolt):

sudo mysql -u root -p

Внутри консоли MySQL выполните:

CREATE DATABASE bolt;
CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL ON bolt.* TO 'bolt'@'localhost';
FLUSH PRIVILEGES;
exit

Важно: замените ‘mypassword’ на сильный пароль. Для production используйте отдельного пользователя с ограниченными правами и безопасный пароль.

Установка PHP

Bolt требует PHP 7 или выше и соответствующие расширения. В примере используется PPA ondrej/php и PHP 7.2.

Добавление PPA и установка PHP 7.2:

sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Установка набора пакетов PHP 7.2:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml

Пояснения:

  • php7.2-fpm — менеджер процессов FastCGI, необходим для работы PHP с Nginx.
  • php7.2-mbstring, opcache и др. — расширения, требуемые для корректной работы CMS.

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

php -v

Установка PHP и проверка версии

Настройка php.ini

Откройте конфигурационный файл PHP-FPM:

sudo nano /etc/php/7.2/fpm/php.ini

Измените/проверьте следующие строки для удобной работы Bolt:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/St. Louis

Пояснения:

  • file_uploads — разрешает загрузку файлов.
  • allow_url_fopen — разрешает доступ к файлам по URL (нужно с осторожностью по соображениям безопасности).
  • memory_limit, upload_max_filesize, max_execution_time — значения можно корректировать под нагрузку и требования контента.
  • date.timezone — установите временную зону вашего региона (например Europe/Moscow).

Перезапустите PHP-FPM, чтобы применить изменения:

sudo service php7.2-fpm restart

Если вы используете иную версию PHP, замените 7.2 на свою версию.

Установка Composer

Composer — менеджер зависимостей PHP, необходим для установки Bolt и его библиотек.

Скачивание установщика и установка Composer глобально:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Проверка установки:

composer

Composer установлен

При желании Composer можно установить на уровне пользователя, но для серверной установки удобно иметь систему wide-установку в /usr/local/bin.

Установка Bolt

Клонируем репозиторий Bolt в /var/www/ и устанавливаем зависимости через composer:

cd /var/www/
sudo git clone https://github.com/bolt/bolt.git

После клонирования перейдите в директорию и установите зависимости:

cd bolt
sudo composer install

После этого назначьте владельца файлов и права доступа:

sudo chown -R www-data:www-data /var/www/bolt
sudo chmod -R 755 /var/www/bolt

Создайте конфигурационный файл на основе шаблона:

sudo cp app/config/config.yml.dist app/config/config.yml

Клонирование Bolt из GitHub

Установка зависимостей через composer

Проверьте и при необходимости измените конфигурацию в app/config/config.yml — там задаются параметры базы данных, пути, локализация и пр.

Доступ к BoltWire CMS

После настройки вы сможете обратиться к Bolt из браузера:

http://localhost:8000/bolt или http://bolt.example.com/bolt (в зависимости от конфигурации server_name и проброшенных портов).

При успешном запуске вы увидите страницу приветствия Bolt и форму для первичной конфигурации.

Стартовая страница Bolt CMS

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

Частые ошибки и их решения

Ниже расширенный список ошибок с практическими шагами:

  • Access Denied — проверьте Nginx-конфигурацию, права на файлы и файл конфигурации Bolt. Убедитесь, что /var/www/bolt доступна для www-data.

  • Cannot load dynamic library ‘/var/www/BoltWire/vendor/php72-zip/libphp7.2.so’ — означает отсутствие или неправильно установленное расширение PHP. Установите соответствующий пакет (например php7.2-zip) и перезапустите PHP-FPM.

  • Error initializing … No such file or directory — файлы Bolt не найдены или отсутствуют зависимости. Убедитесь, что composer install завершился успешно и все файлы на месте.

  • Permission Denied — проверьте владельца и права: chown -R www-data:www-data /var/www/bolt и chmod -R 755 /var/www/bolt.

  • Fatal error: Class ‘PDO’ not found — не установлено расширение PDO или соответствующий драйвер для вашей СУБД (php7.2-mysql для MySQL). Установите необходимый пакет и перезапустите PHP-FPM.

  • Warning: Invalid argument supplied for foreach() — часто вызвано неверной конфигурацией контента (например отсутствует ожидаемая структура .yml) или пустыми параметрами в шаблонах.

  • 404 not found nginx/1.14.0 (ubuntu) — настройте DNS (A-запись) для bolt.example.com на IP сервера и убедитесь, что server_name в Nginx соответствует домену. Перезапустите Nginx.

  • Parse error: syntax error, unexpected ‘=’ — возможно, вы используете старую версию PHP для кода, требующего более новой версии. Проверьте совместимость PHP и кода Bolt.

Диагностика и логирование

  • Просматривайте логи Nginx: /var/log/nginx/error.log и access.log.
  • Логи PHP-FPM: /var/log/php7.2-fpm.log (путь зависит от версии).
  • Логи Bolt (если настроено): app/logs/ или storage/logs/ в зависимости от версии.

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

  • Для production обязательно включите HTTPS (используйте certbot / Let’s Encrypt).
  • Отключите ненужные функции PHP (например allow_url_fopen, если не требуется).
  • Используйте UFW или другой фаервол: закройте порты, оставив 22 (или ваш SSH-порт), 80 и 443 открытыми.

Пример настройки UFW:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
  • Ограничьте права на файлы: только www-data должен иметь права записи в каталоги, которые действительно требуют записи (storage, cache, uploads).
  • Установите fail2ban для защиты SSH от брутфорс-атак.
  • Регулярно применяйте обновления ОС и пакетов.

Производительность и кэширование

  • Включите PHP-opcache (php7.2-opcache) для снижения времени выполнения PHP.
  • Настройте gzip-сжатие и правильные заголовки кэширования в Nginx для статических ресурсов.
  • Рассмотрите использование CDN для статичных медиа (фото, аудио) при высокой нагрузке.

Резервное копирование и миграция

Рекомендуемый минимальный набор резервных копий:

  • Полный дамп базы данных (mysqldump).
  • Каталог с файлами сайта (/var/www/bolt), включая пользовательские загрузки и шаблоны.
  • Конфигурационные файлы Nginx и PHP.

Пример создания дампа базы MySQL:

mysqldump -u bolt -p bolt > bolt-$(date +%F).sql

Для миграции на другой сервер:

  1. Резервное копирование базы и файлов.
  2. Восстановление базы через mysql < bolt.sql.
  3. Копирование каталога /var/www/bolt и корректировка владельцев.
  4. Проверка и корректировка путей в конфигурационных файлах.

Чек-листы по ролям

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

  • Создать пользователя с sudo.
  • Настроить SSH-ключи и выключить root-login.
  • Установить UFW, fail2ban, настроить Nginx и SSL.
  • Настроить регулярные бэкапы и мониторинг.

Разработчик

  • Клонировать репозиторий Bolt и установить зависимости через composer.
  • Настроить локальное окружение (php, nginx/apache, db).
  • Тестировать установку, миграции и обновления на staging.

Контент-менеджер

  • Ознакомиться с интерфейсом Bolt.
  • Настроить пользователям права доступа.
  • Проверить загрузку и отображение медиафайлов.

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

  • Сайт отвечает на HTTP/HTTPS запросы корректно.
  • Вход в админ-панель Bolt успешен.
  • Создание и отображение новой записи (страницы/поста) работает.
  • Загрузка файлов (изображений, аудио) проходит без ошибок.
  • Логи не содержат критических ошибок (FATAL/PHP Exception) при базовых операциях.

Совместимость и миграционные советы

  • Проверьте требуемую версию PHP и СУБД для конкретной версии Bolt — требования могут обновляться.
  • Если вы используете более новую версию PHP (7.4, 8.0), убедитесь в совместимости расширений и кода Bolt.
  • При проблемах с расширениями PHP установите соответствующие пакеты из репозиториев (phpX.Y-zip, phpX.Y-mbstring и т.д.).

Мини-практика: обновление Bolt

  1. Создайте бэкап файлов и базы.
  2. На staging проверьте обновление: git pull, composer update.
  3. В production выполните те же шаги и проверьте логи.

Дополнительные подходы

Альтернатива Nginx — Apache с mod_php или php-fpm. Apache может быть проще для тех, кто привык к .htaccess и модульной архитектуре.

Если вы не хотите управлять сервером самостоятельно, рассмотрите размещение на PaaS или managed hosting, который поддерживает PHP-приложения.

Тесты и сценарии приёмки

  • Создать пользователя с правами редактора и проверить, что он не может изменять системные настройки.
  • Загрузить изображение > 5 МБ и убедиться в успешной загрузке (upload_max_filesize и memory_limit).
  • Выполнить запросы на статические ресурсы и замерить время ответа (Nginx + opcache).

Краткий глоссарий

  • PHP-FPM — процессный менеджер PHP, работающий с веб-серверами через FastCGI.
  • Composer — менеджер зависимостей для PHP.
  • Nginx server block — конфигурация виртуального хоста в Nginx.
  • UFW — простой инструмент управления фаерволом в Ubuntu.

Часто задаваемые вопросы (не исчерпывающе)

Q: Можно ли использовать MariaDB вместо MySQL? A: Да, MariaDB совместима с MySQL и часто используется как замена.

Q: Как включить HTTPS? A: Используйте certbot (Let’s Encrypt) для выдачи сертификата и настройте Nginx на 443 с редиректом с 80.

Короткий анонс (100–200 слов)

BoltWire — лёгкая и гибкая CMS на PHP, подходящая для блогов и небольших сайтов. В этом руководстве пошагово показана установка BoltWire на Ubuntu 20.04 с Nginx, PHP 7.2, MySQL и Composer. Вы получите рабочую установку, настройку прав доступа и рекомендации по безопасности: включение HTTPS, ограничение доступа через UFW и настройку резервного копирования. Также включены чек-листы для администратора, разработчика и контент-менеджера, расширенные советы по устранению распространённых ошибок и практические рекомендации по обновлениям и миграциям.

Если вы хотите быстро развернуть маленький сайт или блог и при этом сохранить контроль над серверной частью — BoltWire остаётся хорошим выбором. Следуйте пошаговой инструкции и адаптируйте конфигурации под ваши реальные требования.

Резюме

  • BoltWire легко установить на Ubuntu 20.04 при помощи Nginx, PHP и Composer.
  • Проверьте соответствие версий PHP и СУБД требованиям используемой версии Bolt.
  • Обязательно настройте HTTPS и бэкапы перед запуском в production.

Спасибо за внимание — удачной установки и безопасной эксплуатации!

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