Установка 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
Проверьте службу PHP-FPM, используя команду ниже. В этом случае вы установили PHP-FPM 8.2 из репозитория Debian.
sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm
Наконец, проверьте сервер MariaDB, используя команду ниже.
sudo systemctl is-enabled mariadb
sudo systemctl status 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.
sudo ufw statusУбедитесь, что оба профиля OpenSSH и ‘Nginx Full’ включены.

Настройка сервера 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
Запустите установку 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 вы увидите следующий вывод.

Наконец, выполните команду ниже, чтобы мигрировать базу данных.
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, используя команду ниже.
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 на сервере Debian 12. Вы установили October CMS с использованием стека LEMP (Nginx, MariaDB и PHP-FPM). Вы также обеспечили безопасность вашей установки с помощью UFW (Uncomplicated Firewall) и SSL/TLS через Letsencrypt.
Get new posts in your inbox
No spam. Unsubscribe anytime.