Установка CMS · 8 min read · Sep 12, 2025

Как установить OctoberCMS на Debian 12

October CMS — это веб-приложение, написанное на веб-фреймворке Laravel. Оно поддерживает различные базы данных, такие как MySQL/MariaDB, PostgreSQL и SQLite. Его можно запускать под Apache, Nginx, Lighthttpd и Microsoft IIS.

Этот гид проведет вас через процесс установки October CMS на Debian 12 с использованием стека LEMP (Nginx, MySQL/MariaDB и PHP-FPM), UFW и Certbot.

Предварительные требования

Чтобы продолжить с этим руководством, соберите следующее:

  • Сервер Debian 12.
  • Пользователь, не являющийся root, с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

В этом примере вы установите October CMS на сервер Debian с использованием стека LEMP (Nginx, MySQL/MariaDB и PHP-FPM). Поэтому первой задачей будет установка стека LAMP с дополнительными зависимостями, такими как UFW (Uncomplicated Firewall) и Certbot.

Начните этот гид с обновления репозитория Debian, используя следующую команду.

sudo apt update

Затем установите пакеты стека LAMP, UFW и Certbot, используя следующую команду.

sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginx

Наберите Y и нажмите ENTER, чтобы подтвердить установку.

установка зависимостей

После завершения установки проверьте службы стека LEMP, чтобы убедиться, что каждая служба работает и включена на вашем сервере Debian.

Если служба работает, вы должны увидеть вывод active (running). Когда служба включена, это подтверждает, что служба будет запущена автоматически при загрузке.

Проверьте службу Nginx, используя следующую команду.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

проверка nginx

Проверьте службу PHP-FPM, используя команду ниже. В этом случае вы установили PHP-FPM 8.2 из репозитория Debian.

sudo systemctl is-enabled php8.2-fpm  
sudo systemctl status php8.2-fpm

проверка php-fpm

Наконец, проверьте сервер MariaDB, используя команду ниже.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

проверка mariadb

Настройка UFW

В этом руководстве вы обеспечите безопасность вашего сервера Debian с помощью UFW (Uncomplicated Firewall). Поэтому в этом случае вам необходимо открыть порты для протоколов SSH, HTTP и HTTPS.

Запустите команду ufw ниже, чтобы включить профили OpenSSH и ‘Nginx Full‘ в UFW. Профиль OpenSSH откроет порт SSH по умолчанию 22, в то время как профиль ‘Nginx Full’ откроет порты 80 и 443 для протоколов HTTP и HTTPS.

sudo ufw allow OpenSSH  
sudo ufw allow 'Nginx Full'

Теперь выполните команду ниже, чтобы запустить и включить UFW. Наберите y и нажмите ENTER, чтобы продолжить.

sudo ufw enable

После того как UFW запущен, вы должны получить вывод ‘Firewall is active and enabled on system startup‘.

настройка ufw

Теперь выполните команду ниже, чтобы проверить список включенных профилей в UFW.

sudo ufw status

Убедитесь, что оба профиля OpenSSH и ‘Nginx Full’ включены.

проверка ufw

Настройка сервера MariaDB

После настройки UFW вы теперь настроите сервер MariaDB с помощью утилиты mariadb-secure-installation, затем создадите новую базу данных и пользователя для October CMS через клиент mariadb.

Обеспечьте безопасность установки вашего сервера MariaDB, выполнив следующую команду.

sudo mariadb-secure-installation

В процессе вам будут предложены некоторые рекомендации по безопасности для сервера MariaDB. Введите Y, чтобы применить рекомендацию, или n, чтобы отклонить ее.

  • Установка MariaDB по умолчанию не имеет пароля, нажмите ENTER, когда будет предложено ввести пароль.
  • Теперь введите Y, чтобы установить пароль root для MariaDB. Затем введите новый пароль для MariaDB и повторите пароль.
  • Введите Y, чтобы удалить анонимного пользователя из вашей установки MariaDB.
  • Введите Y снова, когда вас попросят отключить удаленный вход для пользователя root MariaDB.
  • Введите Y, чтобы удалить тестовую базу данных по умолчанию из вашей MariaDB.
  • Наконец, введите Y, чтобы перезагрузить привилегии таблиц и применить новые изменения.

Теперь, когда вы настроили сервер MariaDB, введите команду ниже, чтобы войти на сервер MariaDB и создать новую базу данных и пользователя для October CMS. Введите свой пароль root MariaDB, когда будет предложено.

sudo mariadb -u root -p

Выполните следующие запросы, чтобы создать новую базу данных и пользователя octobercms с паролем ‘password‘. Обязательно измените пароль на новый надежный пароль.

CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';  
CREATE DATABASE octobercms;  
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';  
FLUSH PRIVILEGES;

создание базы данных пользователя

Затем выполните следующий запрос, чтобы проверить привилегии для пользователя octobercms.

SHOW GRANTS FOR 'octobercms'@'localhost';

Убедитесь, что пользователь octobercms может получить доступ к базе данных octobercms, как показано ниже.

проверка пользователя

Теперь введите quit, чтобы выйти из сервера MariaDB.

Установка исходного кода OctoberCMS

October CMS можно установить несколькими способами, через zip или через Composer. В этом примере вы установите October CMS через Composer.

Перейдите в директорию /var/www/ и загрузите исходный код October CMS, используя команду wget ниже. После загрузки вы увидите файл v3.5.0.zip.

cd /var/www/  
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zip

Извлеките файл v3.5.0.zip с помощью unzip в директорию octobercms. Это означает, что ваш корневой каталог веб-сайта October CMS будет находиться по адресу /var/www/octobercms.

unzip v3.5.0.zip  
sudo mv october-* octobercms

Затем выполните следующую команду, чтобы изменить владельца /var/www/octobercms на пользователя www-data и группу www-data. Также установите разрешения для директорий на 0755 и для файлов на 0644.

sudo chown -R www-data:www-data octobercms  
find /var/www/octobercms -type d -exec chmod 755 {} \;  
find /var/www/octobercms -type f -exec chmod 644 {} \;

Теперь выполните команду composer ниже, чтобы установить зависимости PHP для October CMS.

sudo -u www-data composer install

установка зависимостей php

Запустите установку October CMS, используя следующую команду.

sudo -u www-data php artisan october:install

В процессе вас спросят следующее:

  • Выберите язык по умолчанию en или English.
  • Введите доменное имя вашей установки October CMS. Например, http://howtoforge.local/
  • Введите URL-адрес для бэкенда или путь администратора для October CMS. В этом случае мы будем использовать octoberadmin.
  • Введите номер 1, чтобы выбрать движок базы данных MySQL.
  • Введите данные вашей базы данных.
  • Введите yes, чтобы установить демонстрационные данные и тему.
  • Введите бесплатную лицензию October CMS, чтобы продолжить.

Ниже приведен скриншот установки October CMS.

установка october cms

Конфигурации сайта для October CMS.

установка сайта

Вывод во время установки October CMS.

ключ лицензии и установка сайта

После завершения установки October CMS вы увидите следующий вывод.

установка завершена

Наконец, выполните команду ниже, чтобы мигрировать базу данных.

sudo -u www-data php artisan october:migrate

миграция базы данных

Настройка блока сервера Nginx

После загрузки October CMS и настройки его корневого веб-каталога вы создадите новую конфигурацию блока сервера Nginx, которая будет использоваться для запуска October CMS. Убедитесь, что у вас есть готовое доменное имя.

Запустите команду редактора nano ниже, чтобы создать новый файл /etc/nginx/sites-available/octobercms.conf.

sudo nano /etc/nginx/sites-available/octobercms.conf

Вставьте следующую конфигурацию и обязательно измените доменное имя howtoforge.local на ваше доменное имя.

server {  
    listen 80;  
    server_name howtoforge.local;  
    index index.php index.html;  
    root /var/www/octobercms;  
  
    location / {  
        # Пусть October CMS обрабатывает все по умолчанию.  
        # Путь, не разрешенный маршрутизатором October CMS, вернет страницу 404 October CMS.  
        # Все, что не соответствует приведенному ниже списку разрешенных, попадет в это.  
        rewrite ^/.*$ /index.php last;  
    }  
  
    location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;  
        fastcgi_read_timeout 120s;  
    }  
  
    # Список разрешенных  
    location ~ ^/favicon\.ico { try_files $uri /index.php; }  
    location ~ ^/sitemap\.xml { try_files $uri /index.php; }  
    location ~ ^/robots\.txt { try_files $uri /index.php; }  
    location ~ ^/humans\.txt { try_files $uri /index.php; }  
  
    # Блокировать все .dotfiles, кроме хорошо известных  
    location ~ /\.(?!well-known).* { deny all; }  
  
    ## Позволить nginx вернуть 404, если статический файл не существует  
    location ~ ^/storage/app/uploads/public { try_files $uri 404; }  
    location ~ ^/storage/app/media { try_files $uri 404; }  
    location ~ ^/storage/app/resources { try_files $uri 404; }  
    location ~ ^/storage/temp/public { try_files $uri 404; }  
  
    location ~ ^/modules/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/themes/.*/assets { try_files $uri 404; }  
    location ~ ^/themes/.*/resources { try_files $uri 404; }  
  
}

Сохраните и закройте файл, когда закончите.

Затем выполните команду ниже, чтобы активировать файл блока сервера octobercms.conf и проверить синтаксис Nginx.

sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Если у вас правильный синтаксис, вы должны увидеть вывод, такой как ‘syntax is ok - test is successful’.

настройка nginx

Наконец, примените изменения к Nginx, перезапустив службу Nginx, используя команду ниже.

sudo systemctl restart nginx

Защита OctoberCMS с помощью SSL/TLS сертификатов

На данный момент ваш October CMS работает и доступен. Но чтобы убедиться, что ваша установка безопасна, вы реализуете HTTPS, сгенерировав SSL/TLS сертификаты от letsencrypt.

Выполните команду ниже, чтобы сгенерировать SSL/TLS сертификаты для вашей установки October CMS. Обязательно измените адрес электронной почты и доменное имя на ваши данные.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

После завершения процесса ваше доменное имя будет автоматически настроено на HTTPS. А ваши SSL/TLS сертификаты будут доступны в директории /etc/letsencrypt/live/yourdomain.com.

Доступ к OctoberCMS

Посетите доменное имя вашей установки October CMS, например, https://howtoforge.local/ с помощью вашего любимого веб-браузера.

Если ваша установка успешна, вы должны увидеть домашнюю страницу OctoberCMS по умолчанию, как показано ниже.

Нажмите на кнопку ‘Backend Area‘, чтобы получить доступ к странице администратора October CMS.

домашняя страница october cms

Введите данные нового администратора, имя, адрес электронной почты и пароль. Нажмите Создать аккаунт, чтобы подтвердить.

настройка администратора

Когда закончите, вы должны увидеть панель управления администратора October CMS, как показано ниже.

панель управления octobercms

Заключение

Поздравляем! Вы завершили установку October CMS на сервере Debian 12. Вы установили October CMS с использованием стека LEMP (Nginx, MariaDB и PHP-FPM). Вы также обеспечили безопасность вашей установки с помощью UFW (Uncomplicated Firewall) и SSL/TLS через Letsencrypt.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.