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

Установка October CMS на Fedora 29 с Nginx и MariaDB

• 6 min read • DevOps • Обновлено 25 Nov 2025
Установка October CMS на Fedora 29 — Nginx и MariaDB
Установка October CMS на Fedora 29 — Nginx и MariaDB

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

Изображение установки October CMS

К чему это руководство

Цель — пошагово провести установку 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 для валидации.

Краткий план установки

  1. Подготовка Fedora (обновление, пакеты).
  2. Установка PHP и расширений, запуск php-fpm.
  3. Установка MariaDB, создание базы и пользователя.
  4. (Опционально) Получение сертификата Let’s Encrypt через acme.sh.
  5. Установка и настройка Nginx с конфигурацией для October.
  6. Загрузка и установка 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” чтобы продолжить.

Проверка системы October CMS

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

Настройки базы данных в установщике October CMS

Создание пользователя-администратора October CMS

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

Дополнительные настройки установщика October CMS

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

Экран выбора способа настройки сайта October CMS

Админка доступна по адресу /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)

  1. Подготовка сервера и бэкапов.
  2. Установка и проверка базовых сервисов (PHP-FPM, MariaDB, Nginx).
  3. Получение и установка сертификатов (если нужно).
  4. Развёртывание файлов October и настройка прав.
  5. Прохождение веб-инсталлятора и проверка.
  6. Перенос в продакшен: тестирование, бэкап и переключение 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. Для продакшена добавьте бэкапы, мониторинг и регулярные обновления.

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