Установка и настройка OctoberCMS на Ubuntu 16.04
TL;DR
Кратко: установите LAMP (Apache, MariaDB, PHP), подготовьте базу данных, скачайте архив OctoberCMS в /var/www/html, настройте виртуальный хост Apache и завершите установку через веб-интерфейс. Для продакшена дополнительно настройте права доступа, SSL и ограничьте привилегии базы данных.
Что такое OctoberCMS
OctoberCMS — это бесплатная, открытая и самохостимая система управления контентом (CMS) на PHP, основанная на фреймворке Laravel. Поддерживает базы данных SQLite, MySQL и PostgreSQL. В одном предложении: CMS для сайтов и блогов, которую можно развернуть без глубоких знаний фреймворков.
Важные замечания
- Ubuntu 16.04 уже устарела; для новых проектов рекомендуется использовать LTS‑версии новее (например, 18.04 или 20.04). Тем не менее, инструкция показывает шаги для 16.04.
- Оригинальная инструкция использует PHP 7.0. Для безопасности и совместимости в продакшене лучше применять поддерживаемые версии PHP (7.3+ или 8.x), если OctoberCMS и ваши плагины совместимы.
Необходимое прежде, чем начать
- Сервер с Ubuntu 16.04.
- Непользователь root с правами sudo.
- Доступ к терминалу и умение редактировать конфигурационные файлы.
Шаг 1 — Обновление системы
Перед установкой обновите пакеты:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновлений перезагрузите систему, чтобы применить все обновлённые компоненты.
Шаг 2 — Установка LAMP (Apache, MariaDB, PHP)
OctoberCMS работает на веб-сервере Apache. Установите Apache и PHP-модуль:
sudo apt-get install apache2 libapache2-mod-php7.0 -yЗапустите и включите службу Apache:
sudo systemctl start apache2
sudo systemctl enable apache2Установите MariaDB, PHP и нужные модули:
sudo apt-get install mariadb-server php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-json php7.0-opcache php7.0-xml mcrypt php7.0-mcrypt wget unzip -yЗапустите и включите MariaDB:
sudo systemctl start mysql
sudo systemctl enable mysqlПримечание: в окружениях с новыми версиями Ubuntu команды пакетов и имена пакетов PHP могут отличаться (php7.4, php8.0 и т.д.).
Шаг 3 — Настройка MariaDB
Защитите инстанс базы командой:
sudo mysql_secure_installationСледуйте подсказкам для установки пароля root, удаления анонимных пользователей, запрета удалённого входа root и удаления тестовой базы.
Затем создайте базу и пользователя для OctoberCMS:
mysql -u root -p
MariaDB [(none)]> create database octobercmsdb character set utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON octobercmsdb.* TO 'user'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quitВажно: GRANT ALL отлично подходит для локальной разработки. В продакшне давайте пользователю только нужные привилегии (SELECT, INSERT, UPDATE, DELETE, и т.д.).
Шаг 4 — Загрузка и распаковка OctoberCMS
Скачайте последний стабильный архив с официального сайта и извлеките его в корень веб‑сервера:
wget http://octobercms.com/download -O octobercms.zip
unzip octobercms.zip -d /var/www/html/octobercmsУстановите владельца и базовые права:
sudo chown -R www-data:www-data /var/www/html/octobercms/
sudo chmod -R 755 /var/www/html/В продакшне следует минимизировать права: каталоги для загрузки и кэша — 775/750 по необходимости.
Шаг 5 — Виртуальный хост Apache
Создайте файл конфигурации:
sudo nano /etc/apache2/sites-available/octobercms.confВставьте следующие строки (замените ServerName и ServerAdmin):
ServerAdmin [email protected]
DocumentRoot /var/www/html/octobercms/
ServerName www.example.com
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/octobercms-error_log
CustomLog /var/log/apache2/octobercms-access_log common
Сохраните файл и активируйте сайт:
sudo a2ensite octobercms
sudo a2enmod rewrite
sudo systemctl restart apache2Проверьте конфигурацию Apache и логи при ошибках:
sudo apache2ctl configtest
sudo tail -n 200 /var/log/apache2/octobercms-error_logШаг 6 — Доступ к установщику OctoberCMS
Откройте браузер и перейдите по адресу http://example.com (замените на ваш ServerName). Вы увидите экран проверки системы.

Примите лицензионное соглашение и продолжите установку.

Заполните параметры доступа к базе данных и продолжите.

Создайте учётные данные администратора.

Вы можете выбрать вариант «start from scratch» для чистой установки.

После успешной установки увидите итоговый экран.

Перейдите по ссылке сайта и выполните вход в панель администратора.

После входа вы попадёте в дашборд.

Безопасность и жёсткая настройка (security hardening)
- Используйте HTTPS: установите сертификат Let’s Encrypt (certbot) и перенаправляйте весь трафик на 443.
- Права на файлы: установите владельцем www-data, запретите права записи для директорий, которые не требуют записи. Разрешите запись только для storage и uploads.
- Базы данных: для боевого окружения не используйте root; ограничьте привилегии пользователя.
- Резервные копии: настраивайте регулярные бэкапы файлов сайта и дампы базы (mysqldump).
- Обновления: регулярно обновляйте PHP, Apache, MariaDB и сами плагины OctoberCMS.
Пример базовой команды для получения сертификата и автоматического редиректа:
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.comАльтернативные подходы
- Docker: запуск OctoberCMS в контейнере (официальный/сообщественный образ) упрощает изоляцию и миграции.
- Composer: устанавливать OctoberCMS через Composer удобно для управления зависимостями и обновлений.
- Nginx вместо Apache: при желании используйте Nginx + PHP-FPM; понадобится своя конфигурация и правила перезаписи.
Когда установка может провалиться — типичные причины
- Отсутствуют PHP‑модули (gd, mbstring, xml, curl и т.д.).
- Неправильные права на файлы и каталоги — приложение не может записать в storage.
- Apache модуль rewrite не включён.
- Неправильные параметры подключения к базе или пользователь без нужных привилегий.
- Версия PHP не совместима с установленной версией OctoberCMS.
Набор команд — «cheat sheet» для быстрого развёртывания
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install apache2 libapache2-mod-php7.0 mariadb-server php7.0 php7.0-mysql wget unzip -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql
wget http://octobercms.com/download -O octobercms.zip
unzip octobercms.zip -d /var/www/html/octobercms
sudo chown -R www-data:www-data /var/www/html/octobercms/
sudo chmod -R 755 /var/www/html/
sudo a2ensite octobercms
sudo a2enmod rewrite
sudo systemctl restart apache2Критерии приёмки
- Страница установки доступна по указанному домену.
- Инсталлятор прошёл все системные проверки (PHP‑модули, разрешения).
- Установка завершилась успешно, выполнён вход администратором и показан дашборд.
- SSL установлен и работает (рекомендуется в продакшне).
Роли и чеклисты
Sysadmin:
- Проверить версии PHP/Apache/MariaDB и установить обновления.
- Настроить виртуальный хост и SSL.
- Настроить бэкапы и права файлов.
Разработчик:
- Убедиться в совместимости плагинов и PHP.
- Подготовить среду разработки (docker/composer).
- Настроить механизм деплоя и миграций.
Контент‑редактор:
- Пройти регистрацию администратора.
- Проверить шаблон и загрузку изображений.
- Настроить базовые страницы и меню.
Быстрое устранение проблем (runbook)
- Ошибка 500 при заходе на сайт: посмотреть логи Apache и storage/logs OctoberCMS.
- Проблемы с правами: установить www-data владельцем и дать запись папкам storage, uploads.
- Ошибка подключения к БД: проверить настройки в инсталляторе и credentials, попробовать подключиться через mysql клиент.
- Перезапустить службы после изменений: sudo systemctl restart apache2; sudo systemctl restart mysql.
Совместимость и миграция
- OctoberCMS поддерживает SQLite, MySQL/MariaDB и PostgreSQL.
- На старых системах (Ubuntu 16.04, PHP7.0) некоторые плагины могут не работать. Планируйте миграцию на более новые LTS‑версии ОС и PHP.
Краткое резюме
- Следуйте шагам: обновление → LAMP → настройка БД → загрузка → виртуальный хост → веб‑инсталлятор.
- В продакшне обязательно настройте HTTPS, минимизируйте привилегии БД и ограничьте права файлов.
Дополнительно: небольшая глоссарная строка
- LAMP — стек: Linux, Apache, MySQL/MariaDB, PHP.
- VirtualHost — конфигурация сайта в Apache.
- www‑data — системный пользователь веб‑сервера Apache.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента