Разработчики OctoberCMS предалагают два сценария установки своего продукта: с помощью установщика или с помощью коммандной строки. Оба способа требуют установку в систему целого ряда библиотек и расширений. Специфичных знаний о содержимом системы.
Этот способ - docker образ influunt/october. Использование docker в инфраструктуре избавляет от ненужных забот. Нет необходимости изучать composer, php-fpm и прочие инструменты - Вы просто получаете готовый продукт и начинаете его использовать.
OctoberCMS, с точки зрения инфраструктуры, использует набор инструментов LAMP (Linux,Apache,MySQL,PHP):
Образ influunt/october основан на операционной системе Ubuntu (LAMP). Веб-сервер nginx (LAMP) обрабатывает запросы через демона php-fpm (LAMP). В цепочке не хватает только базы данных (LAMP).
OctoberCMS поддерживает SQLite, MySQL, PostgreSQL, MS SQL. PostgreSQL имеет ряд преимуществ перед MySQL. Рекомендую воспользоватся именно им:
docker run --name postgres --rm -v /home/core/postgres/data:/var/lib/postgresql/data/ postgres:latest
Чтобы данные не были "разбросаны" по всему серверу, используйте домашний каталог пользователя.
Чтобы связать OctoberCMS с базой данных потребуется 2 вещи:
Создать на сервере корневую директорию сайта:
mkdir -p /home/core/site
Запустить контейнер influunt/october с командой install драйвер хост порт имя_базы_данных:
docker run --rm -v /home/core/site:/home/www-data --link postgres_container:dbhost influunt/october install pgsql dbhost 5432 october_db
Если базы данных с таким именем не сущетсвует - она будет создана автоматически.
Процесс установки свяжет OctoberCMS с базой данных, настроит nginx и создаст robots.txt для поисковых систем.
Для запуска контейнера воспользуйтесь командой:
docker run --rm --name october --link postgres_container:host -v /home/core/site:/home/www-data -p 80:80 -p 443:443 influunt/october
После чего, OctoberCMS будет принимать запросы на 80 и 443 порту вашего сервера.
Использование influunt/october делает процесс запуска сайта простым и понятным. Нет необходимости разбиратся почему что-то работает не так, как хотелось бы. Контеризация, помимо изолирования процессов, избавляет от проблем при переносе сайта между серверами или дата центрами.
Технические подробности установки, настройки, а также оптимизации запуска описаны в статье October CMS docker.
Ресурсы по теме: