Установка October CMS на Fedora 29 с Nginx и MariaDB
Важно: выполняйте команды от пользователя с sudo-привилегиями. Если вы используете другой релиз Fedora — адаптируйте команды и пути конфигурации.

К чему это руководство
Цель — пошагово провести установку October CMS на Fedora 29 с Nginx, MariaDB и (опционально) SSL через acme.sh и Let’s Encrypt. Подходит для системных администраторов и фрилансеров, которые хотят разместить October CMS на собственном сервере.
Ключевые варианты применения: локальная разработка, VPS/облачный сервер, тестовый и продакшен-трафик.
Основные требования
October CMS требует:
- PHP 7.0 или выше и набор PHP-расширений (PDO, cURL, OpenSSL, mbstring, zip, GD, XML, JSON).
- Веб-сервер: Apache с mod_rewrite или Nginx.
- СУБД: MariaDB/MySQL.
Если вы планируете HTTPS — клиент acme.sh и доступ к порту 80/443 для валидации.
Краткий план установки
- Подготовка Fedora (обновление, пакеты).
- Установка PHP и расширений, запуск php-fpm.
- Установка MariaDB, создание базы и пользователя.
- (Опционально) Получение сертификата Let’s Encrypt через acme.sh.
- Установка и настройка Nginx с конфигурацией для October.
- Загрузка и установка October CMS, финальная настройка через веб-интерфейс.
Предварительные условия
- Сервер с Fedora 29.
- Пользователь с sudo-привилегиями (не root).
Первые шаги на сервере
Проверьте версию Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)Установите часовой пояс:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'Обновите систему:
sudo dnf upgrade -yУстановите утилиты, которые часто нужны при администрировании:
sudo dnf install -y vim wget curl git socat unzip bash-completionШаг 1 — Установка PHP и необходимых расширений
October CMS требует PHP 7.0+. Установите PHP и расширения:
sudo dnf install -y php-cli php-fpm php-pdo php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring Проверьте версию PHP:
php --version
# PHP 7.2.15 (cli) (built: Feb 5 2019 15:43:35) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend TechnologiesЗапустите и включите PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.serviceПримечание: в Fedora php-fpm конфиг обычно находится в /etc/php-fpm.d/www.conf. Мы вернёмся к настройке пользователя php-fpm позже.
Шаг 2 — Установка MariaDB и создание базы данных
Установите сервер MariaDB:
sudo dnf install -y mariadb-serverПроверьте версию:
mysql --version
# mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1Запустите и включите сервис:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.serviceУлучшите безопасность и задайте пароль root:
mysql_secure_installationВойдите в MariaDB и создайте базу и пользователя для October:
mysql -u root -p
# Enter password
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quitЗапишите учетные данные — они потребуются при установке October.
Шаг 3 — Установка acme.sh и получение сертификата (опционально)
HTTPS не обязателен, но настоятельно рекомендуется. acme.sh — лёгкий клиент для получения сертификатов от Let’s Encrypt.
Установка acme.sh в системный каталог и регистрация почты:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~Проверка версии:
/etc/letsencrypt/acme.sh --version
# v2.8.0Получение сертификатов RSA и ECDSA для домена example.com:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256После успешного выпуска сертификаты будут в:
- RSA: /etc/letsencrypt/example.com
- ECC/ECDSA: /etc/letsencrypt/example.com_ecc
Сертификаты Let’s Encrypt действуют 90 дней — настройте автоматическое продление (acme.sh делает это автоматически при обычной установке).
Шаг 4 — Установка и настройка Nginx
Установите Nginx:
sudo dnf install -y nginxПроверьте версию:
nginx -v
# nginx version: nginx/1.14.1Запустите и включите сервис:
sudo systemctl start nginx.service
sudo systemctl enable nginx.serviceСоздайте файл конфигурации, например /etc/nginx/conf.d/october.conf, и вставьте конфигурацию ниже. Эта конфигурация включает слушание 80/443 и базовые правила для October CMS:
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
index index.php index.html;
root /var/www/october;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include default.d/php.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 120s;
}
rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite ^bootstrap/.* /index.php break;
rewrite ^config/.* /index.php break;
rewrite ^vendor/.* /index.php break;
rewrite ^storage/cms/.* /index.php break;
rewrite ^storage/logs/.* /index.php break;
rewrite ^storage/framework/.* /index.php break;
rewrite ^storage/temp/protected/.* /index.php break;
rewrite ^storage/app/uploads/protected/.* /index.php break;
}Проверьте корректность конфигурации и перезагрузите Nginx:
sudo nginx -t
sudo systemctl reload nginx.serviceВнимание: замените example.com на ваш реальный домен. Если вы используете SSL и acme.sh — укажите корректные пути к сертификатам.
Шаг 5 — Скачивание и установка October CMS
Создайте папку для сайта и установите права:
sudo mkdir -p /var/www/octoberЕсли вы настраиваете от своего пользователя, временно смените владельца (замените [your_user]):
sudo chown -R [your_user]:[your_user] /var/www/october
cd /var/www/octoberСкачайте инсталлятор October CMS и распакуйте:
wget http://octobercms.com/download -O october.zip
unzip october.zip
rm october.zip
mv install-master/* .Затем присвойте папке владельца nginx (для продакшена):
sudo chown -R nginx:nginx /var/www/octoberОтредактируйте файл php-fpm для использования пользователя nginx (если нужно):
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginxПерезапустите php-fpm:
sudo systemctl restart php-fpm.serviceОткройте в браузере http://example.com/install.php и следуйте инструкциям инсталлятора.
Шаг 6 — Завершение установки через веб-интерфейс
На странице инсталляции убедитесь, что System Check показывает все необходимые компоненты, нажмите кнопку “Agree & Continue” чтобы продолжить.

Заполните поля базы данных и настройте администратора:


Можно оставить дополнительные настройки по умолчанию или отрегулировать их в зависимости от окружения:

Нажмите синюю кнопку “Continue” и на следующем шаге выберите способ настройки сайта: Start from scratch, Start from a theme или Use a project ID:

Админка доступна по адресу /backend (например, https://example.com/backend).
После успешной установки для безопасности удалите установочные файлы:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_filesДополнительные рекомендации по безопасности и эксплуатации
- Отключите доступ к .env и конфигурационным файлам через Nginx.
- Ограничьте права на каталоги storage и cache: веб-сервер должен иметь запись, остальное — нет.
- Включите регулярное резервное копирование базы данных и файлов (скрипт на cron).
- Настройте автоматическое продление сертификатов acme.sh (обычно уже настроено при установке).
- Настройте брандмауэр (firewalld/iptables) — откройте только нужные порты (22 для SSH, 80/443 для веба).
Резервные проверки и отладка
Если после установки вы видите 502/504 ошибки — проверьте:
- Запущен ли php-fpm: sudo systemctl status php-fpm.service
- Путь сокета в конфигурации Nginx (fastcgi_pass unix:/run/php-fpm/www.sock) совпадает с реальным сокетом в /run/php-fpm/
- Права и владелец папки /var/www/october
- Логи: /var/log/nginx/error.log и логи php-fpm
Альтернативные подходы
- Apache + mod_rewrite: если вы предпочитаете Apache, конфигурация будет отличаться, но требования PHP и БД те же.
- Docker: можно развернуть October CMS в контейнере (PHP-FPM + Nginx + MariaDB как отдельные контейнеры). Подходит для изоляции и упрощённой миграции.
- Managed hosting: использовать облачные платформы, где PHP, БД и SSL управляются автоматически.
Когда это может не подойти
- Если у вас версии ОС или PHP сильно новее/старше — некоторые пакеты могут называться иначе.
- Если вы используете нестандартные менеджеры процессов (например, systemd-nspawn) — пути и службы могут отличаться.
Чеклист ролей (коротко)
- Системный администратор:
- Обновил систему и установил зависимости.
- Настроил Nginx, php-fpm, MariaDB.
- Обеспечил SSL и безопасность сервера.
- Веб-разработчик:
- Установил October, настроил тему/плагины.
- Проверил работоспособность фронтенда и бэкенда.
- Оператор/DevOps:
- Настроил бэкапы, мониторинг и автоматическое обновление сертификатов.
Краткая методика развёртывания (mini-methodology)
- Подготовка сервера и бэкапов.
- Установка и проверка базовых сервисов (PHP-FPM, MariaDB, Nginx).
- Получение и установка сертификатов (если нужно).
- Развёртывание файлов October и настройка прав.
- Прохождение веб-инсталлятора и проверка.
- Перенос в продакшен: тестирование, бэкап и переключение DNS.
Краткий словарь терминов
- PHP-FPM: FastCGI Process Manager для запуска PHP-процессов.
- acme.sh: шелл-клиент для получения сертификатов Let’s Encrypt.
- fastcgi_pass: директива Nginx для проксирования PHP-запросов к php-fpm.
Критерии приёмки
- Страницы сайта возвращают HTTP 200.
- Админка доступна по /backend и вход администратора работает.
- SSL корректно установлен (при наличии) и сертификат не просрочен.
- Права на файлы ограничены, установочные файлы удалены.
Полезные ссылки
Краткое окончание
Следуя этому руководству, вы развернёте October CMS на Fedora 29 с Nginx и MariaDB. Для продакшена добавьте бэкапы, мониторинг и регулярные обновления.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента