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

Установка Bolt CMS на Ubuntu 20.04 с Nginx и Let's Encrypt SSL

• 6 min read • CMS • Обновлено 22 Nov 2025
Bolt CMS на Ubuntu 20.04 — Nginx и SSL
Bolt CMS на Ubuntu 20.04 — Nginx и SSL

Баннер Bolt CMS

Bolt — это свободная, open-source, лёгкая и простая в использовании система управления контентом на PHP. Она ориентирована на удобство и помогает быстро создавать мощные динамические сайты. Bolt построен на Silex microframework и использует современные open-source библиотеки, хорошо подходит для сайтов в HTML5 с совремённой разметкой.

В этом руководстве вы увидите, как установить Bolt CMS с Nginx и сертификатом Let’s Encrypt на Ubuntu 20.04.

Краткие требования

  • Сервер с Ubuntu 20.04.
  • Домен, указывающий на IP сервера (например, bolt.example.com).
  • Доступ root или пользователь с sudo.
  • Стандартный стек LEMP: Nginx, MariaDB/MySQL, PHP-FPM.

Важно: проверяйте текущие требования Bolt на официальном репозитории перед продакшн-развёртыванием.

Что мы будем делать

  1. Обновим пакеты и установим базовые утилиты.
  2. Установим Nginx и MariaDB.
  3. Установим PHP и расширения, нужные Bolt.
  4. Создадим базу данных и пользователя для Bolt.
  5. Клонируем Bolt, настроим конфигурацию и зависимости через Composer.
  6. Настроим виртуальный хост Nginx.
  7. Получим и настроим SSL-сертификат от Let’s Encrypt.

1. Подготовка системы

Сначала обновите список пакетов:

apt-get update -y

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

apt-get install software-properties-common gnupg2 unzip git -y

После установки зависимостей можно переходить к установке LEMP.

2. Установка LEMP (Nginx + MariaDB + PHP)

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

apt-get install nginx mariadb-server -y

Ubuntu 20.04 по умолчанию идёт с PHP 7.4. В этом примере автор использовал PHP 7.2 через репозиторий Ondřej; если вы предпочитаете системную версию PHP 7.4 — используйте её и установите соответствующие расширения. Для установки репозитория Ondřej выполните:

add-apt-repository ppa:ondrej/php
apt-get update -y

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

apt-get install 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 -y

Если вы используете PHP 7.4, замените префикс пакетов на php7.4.

После установки PHP перезапустите PHP-FPM и Nginx:

systemctl restart php7.2-fpm
systemctl restart nginx

(или используйте php7.4-fpm, если устанавливали PHP 7.4)

Примечание: рекомендуется запустить mysql_secure_installation для базовой защиты MariaDB:

mysql_secure_installation

3. Создание базы данных для Bolt

Войдите в MariaDB:

mysql

Внутри MySQL создайте базу данных и пользователя (замените пароль на надёжный):

MariaDB [(none)]> CREATE DATABASE boltdb;
MariaDB [(none)]> CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON boltdb.* TO 'bolt'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

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

4. Загрузка Bolt CMS и установка зависимостей

Клонируйте репозиторий Bolt в корень веб-сервера (в этом примере /var/www/html):

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

Перейдите в каталог bolt и скопируйте пример конфигурации:

cd bolt
cp app/config/config.yml.dist app/config/config.yml

Отредактируйте app/config/config.yml и укажите настройки базы данных. Откройте файл в nano или вашем редакторе:

nano app/config/config.yml

Найдите раздел database и замените sqlite на mysql, затем укажите параметры:

database:
     driver: mysql
     username: bolt
     password: password
     databasename: boltdb
     host: localhost
     prefix: prefix_

Сохраните и закройте файл.

Установите Composer — менеджер зависимостей PHP:

wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Ожидаемый вывод (пример):

All settings correct for using Composer
Downloading...

Composer (version 2.0.2) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Установите PHP-зависимости проекта Bolt:

composer install

После завершения установки зависимостей установите правильные права на файлы и владельца:

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

5. Настройка Nginx для Bolt

Создайте конфигурацию виртуального хоста для Bolt:

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

Добавьте следующие строки (пример взят из исходного руководства):

server { 
   listen 80; 
   root /var/www/html/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; 
  } 

}

Примечание: при использовании PHP 7.4 замените путь fastcgi_pass на unix:/var/run/php/php7.4-fpm.sock;

Сохраните файл и включите сайт:

ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/bolt.conf

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

nginx -t
systemctl restart nginx

Вы должны увидеть сообщение об успешном тесте конфигурации Nginx.

6. Доступ к Bolt CMS

Откройте в браузере адрес http://bolt.example.com и вы должны увидеть экран создания первого администратора.

Создание администратора

Заполните имя пользователя, пароль, email и нажмите Create the first user. После входа вы попадёте в панель управления Bolt:

Панель управления Bolt CMS

Чтобы посмотреть сайт, нажмите View site:

Пример сайта Bolt CMS

7. Защита сайта: Let’s Encrypt SSL

Установите Certbot для автоматической выдачи сертификатов:

apt-get install python3-certbot-nginx -y

Запустите Certbot для вашего домена:

certbot --nginx -d bolt.example.com

Во время установки вам будет предложено ввести email и принять условия обслуживания. Затем Certbot предложит вариант — перенаправлять ли весь трафик с HTTP на HTTPS. Для нового сайта рекомендуется выбрать перенаправление (Redirect).

После успешной установки вы увидите путь к сохранённым сертификатам, например:

/etc/letsencrypt/live/bolt.example.com/fullchain.pem
/etc/letsencrypt/live/bolt.example.com/privkey.pem

Certbot автоматически обновляет конфигурацию Nginx и выполняет перезагрузку сервера.

Важно: сертификаты Let’s Encrypt действуют 90 дней. Проверьте автоматическое обновление командой:

certbot renew --dry-run

Рекомендуется добавить cron или systemd timer для регулярного запуска certbot renew (обычно Certbot создаёт их автоматически).

Проверка и отладка

  • Проверьте логи Nginx: /var/log/nginx/error.log и /var/log/nginx/access.log
  • Проверьте логи PHP-FPM: /var/log/php7.2-fpm.log или соответствующий для вашей версии PHP
  • При ошибках доступа проверьте права на файлы и владельца: www-data
  • Если Composer не устанавливает зависимости — проверьте версию PHP и расширения (mbstring, openssl, zip и т.д.)

Частые проблемы и решения

  • Ошибка 502 Bad Gateway: проверьте, что PHP-FPM запущен и что путь unix:/var/run/php/phpX.X-fpm.sock указан правильно.
  • Ошибка установки зависимостей Composer: убедитесь, что расширения PHP установлены и версия Composer корректна.
  • Проблемы с правами: chown -R www-data:www-data /var/www/html/bolt и chmod корректно выставьте на каталоги uploads/cache.
  • Сертификат не выдаётся: проверьте, что домен указывает на сервер и порт 80 доступен извне.

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

  • Регулярно обновляйте систему и пакеты: apt-get update && apt-get upgrade -y
  • Используйте сильные пароли и ключи SSH вместо пароля для доступа в сервер.
  • Ограничьте доступ к панели администратора по IP, если это возможно.
  • Резервное копирование: храните бэкапы базы данных и каталога /var/www/html/bolt в безопасном месте.
  • Мониторинг: настройте базовый мониторинг доступности (Uptime) и метрики дискового пространства.

Чеклист перед выходом в продакшн

  • Сертификат Let’s Encrypt успешно установлен и тестово обновляется
  • Все PHP-расширения установлены и работают
  • Права на файлы настроены корректно
  • Бэкап базы данных и файлов настроен
  • Ограничен доступ к нежелательным административным интерфейсам

Альтернативы и расширения

  • Использовать Docker-контейнеры для Bolt: контейнеризация упрощает переносимость и управление зависимостями.
  • Рассмотреть использование встроенных решений для резервирования и CI/CD при частых обновлениях контента.
  • Для больших нагрузок — рассмотреть добавление кеширования (opcache, reverse-proxy, CDN).

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

  1. Подготовить сервер и DNS.
  2. Развернуть LEMP и PHP.
  3. Создать базу данных и пользователя.
  4. Установить Bolt и зависимости.
  5. Настроить Nginx и SSL.
  6. Проверить и включить бэкапы и мониторинг.

Краткая глоссарий (1 строка)

  • Bolt — CMS на PHP для создания контентных сайтов; Composer — менеджер зависимостей PHP; Certbot — клиент Let’s Encrypt для получения сертификатов.

Заключение

Поздравляем — вы установили Bolt CMS на Ubuntu 20.04 с Nginx и защитили сайт сертификатом Let’s Encrypt. Теперь вы можете создавать и управлять контентом через панель Bolt. Если столкнётесь с проблемами, проверьте логи, права и настройки PHP-FPM. Успешного развёртывания!

Сводка:

  • Установили LEMP-стек и PHP.
  • Создали базу данных и пользователя для Bolt.
  • Клонировали Bolt, установили зависимости и права.
  • Настроили Nginx и включили HTTPS через Let’s Encrypt.
Поделиться: 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 быстро