4.1.15 Встановлення Subrion CMS на хостинг та сервер

Subrion CMS — вільна CMS і фреймворк на PHP/MySQL для сайтів будь-якого типу: від блогів і каталогів до складних порталів з платною підпискою та розширеною системою прав і пакетів. Проєкт поширюється за ліцензією GPLv3, підтримує плагіни, шаблони та гнучку модель доступу користувачів.
У цьому посібнику використовується класичне встановлення через архів Subrion, конфігурація стеку Nginx + PHP-FPM + MySQL/MariaDB на Ubuntu 24.04 LTS і подальший запуск веб-встановлювача.
Підготовка
Вимоги
- Активна послуга Хостингу, Віртуального або Виділеного сервера
- CPU: 2–4 vCPU; RAM: від 4 ГБ; SSD: від 20 ГБ
- ОС: Ubuntu 22.04 LTS або 24.04 LTS
- Веб-сервер: Nginx 1.20+ або Apache 2.4+
Змінні середовища
DOMAIN_NAME— ваше доменне ім’яSERVER_IP— публічна IP-адреса сервераDB_NAME,DB_USER,DB_PASSWORD— параметри бази даних для SubrionSUBRION_PATH— шлях до каталогу проєкту, наприклад/var/www/subrionPHP_FPM_SOCKET— шлях до сокета PHP-FPM, наприклад/run/php/php8.2-fpm.sock
Встановлення Subrion CMS на хостинг
- Завантажте стабільну версію Subrion CMS з офіційного сайту Subrion CMS.
- Завантажте архів на хостинг через менеджер файлів або по FTP.
- Створіть користувача і базу даних. Збережіть
DB_HOST,DB_NAME,DB_USER,DB_PASSWORD. - Запустіть встановлювач через браузер. Відкрийте
http://DOMAIN_NAMEі дотримуйтесь вказівок майстра встановлення:
- Перевірте відповідність технічним вимогам;

- Прийміть ліцензійну угоду;

- Заповніть параметри раніше створеної бази даних (
DB_HOST,DB_NAME,DB_USER,DB_PASSWORD) і адміністратора;

- За потреби завантажте конфігураційний файл;

Встановлення Subrion CMS на сервер
sudo apt update && sudo apt -y upgrade
sudo apt -y install curl gnupg2 software-properties-common unzip ca-certificates
Оновлюються пакети системи та встановлюються утиліти, необхідні для завантаження архівів і роботи з репозиторіями.
Встановіть PHP-FPM і необхідні розширення
sudo apt -y install php8.2 php8.2-fpm php8.2-cli \
php8.2-mbstring php8.2-xml php8.2-gd php8.2-zip \
php8.2-curl php8.2-mysql php8.2-intl php8.2-opcache
php -v
Subrion працює на сучасній версії PHP; набір модулів покриває вимоги до роботи з БД, зображеннями, архівами й локалями. Команда php -v фіксує встановлену версію PHP.
Встановіть Nginx
sudo apt -y install nginx
sudo systemctl enable --now nginx
Nginx буде обробляти HTTP-запити та передавати PHP-скрипти до PHP-FPM.
Встановіть і підготуйте СУБД (MySQL/MariaDB)
sudo apt -y install mysql-server
mysql --version
Створіть базу даних і користувача для Subrion:
sudo mysql <<SQL
CREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASSWORD';
GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost';
FLUSH PRIVILEGES;
SQL
Використовується кодування utf8mb4 для повної підтримки Unicode та емодзі в контенті сайту.
Завантажте й розпакуйте Subrion
Subrion поширюється у вигляді zip-архіву; встановлення виконується з офіційного архіву проєкту. Завантажте стабільну версію Subrion CMS з офіційного сайту Subrion CMS
sudo mkdir -p SUBRION_PATH
cd SUBRION_PATH
wget https://tools.subrion.org/get/latest.zip
unzip latest.zip
rm latest.zip
Архів latest.zip містить актуальний реліз гілки 4.2.x; після розпакування файли застосунку готові до запуску майстра встановлення.
Права та власник проєкту
sudo chown -R www-data:www-data SUBRION_PATH
sudo find SUBRION_PATH -type d -exec chmod 755 {} \;
sudo find SUBRION_PATH -type f -exec chmod 644 {} \;
Власник www-data (користувач веб-сервера та PHP-FPM) забезпечує коректний запис тимчасових файлів, кешу та завантажуваних файлів.
Конфігурація Nginx для Subrion
Нижче наведено приклад віртуального хоста Nginx, адаптований під Subrion і PHP-FPM-сокет. Конфігурація базується на робочому прикладі для Subrion під Nginx з коректною обробкою ЧПУ та встановлювача.
server {
listen 80;
server_name DOMAIN_NAME;
root SUBRION_PATH;
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:PHP_FPM_SOCKET;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location /install/ {
rewrite ^/install/(.*)$ /install/index.php?_p=$1;
}
location ~ /\.ht {
deny all;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
Активуйте сайт і перезавантажте Nginx:
sudo ln -s /etc/nginx/sites-available/subrion.conf /etc/nginx/sites-enabled/subrion.conf
sudo nginx -t
sudo systemctl reload nginx
Параметр try_files передає запити до index.php з параметром q, як очікує Subrion, а окремий блок location /install/ забезпечує коректну роботу веб-встановлювача.
Увага! Після завершення встановлення обов’язково видаліть каталог /install/, змініть стандартний URL адміністративної панелі, обмежте доступ до адмінки за IP або HTTP-автентифікацією та регулярно оновлюйте двигун і плагіни. Для версії 4.2.1 раніше публікувалися вразливості, пов’язані із завантаженням файлів (наприклад, CVE-2018-19422), тому не використовуйте тестовий демо-логін/пароль і вимикайте невикористовувані пакети.
Налаштування додаткових функцій Subrion
SSL-сертифікат (HTTPS)
Для роботи за захищеним протоколом HTTPS використовуйте Let’s Encrypt або комерційний SSL-сертифікат.
Кешування та продуктивність PHP
Увімкніть і налаштуйте opcache для пришвидшення роботи Subrion:
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.interned_strings_buffer=16
opcache.validate_timestamps=1
opcache.revalidate_freq=60
Перезапустіть PHP-FPM:
sudo systemctl restart php8.2-fpm
Обробка зображень і медіаконтенту
Subrion активно використовує зображення в шаблонах і контенті; для їх обробки достатньо бібліотеки GD, але за потреби можна підключити Imagick.
sudo apt -y install php8.2-gd imagemagick php8.2-imagick
sudo systemctl restart php8.2-fpm
Рекомендація! Для типових сайтів достатньо php8.2-gd. Підключайте php8.2-imagick, якщо потрібна робота з великими зображеннями, TIFF/WEBP або розширеними ефектами. Перевірити наявність модулів можна командою php -m | grep -E 'gd|imagick'.
Перевірка роботи
-
Перейдіть за адресою
http://DOMAIN_NAME/і переконайтеся, що відкривається стартова сторінка Subrion без PHP-помилок. -
Увійдіть в адмін-панель (
http://DOMAIN_NAME/panel/або перейменований URL) і перевірте:- роботу дашборда,
- створення та публікацію тестової сторінки,
- завантаження файлів у розділі контенту.
Поширені помилки
| Помилка / Симптом | Причина | Рішення |
|---|---|---|
| 502 Bad Gateway під час відкриття сайту | Невірний PHP_FPM_SOCKET у конфігурації Nginx або не запущено PHP-FPM |
Уточніть шлях до сокета (/run/php/php8.2-fpm.sock), перезапустіть php8.2-fpm і nginx |
Встановлювач зациклюється на /install/ або переходить на /install/install/ |
Неправильний блок location / або відсутнє правило location /install/ в Nginx |
Застосуйте конфіг із прикладу (рядок try_files $uri $uri/ /index.php?q=$uri&$args; і блок location /install/), перезавантажте Nginx |
Access denied for user 'DB_USER'@'localhost' під час встановлення |
Невірні DB_USER/DB_PASSWORD або відсутні права на DB_NAME |
Пересоздайте користувача з потрібним паролем і надайте права GRANT ALL PRIVILEGES ON DB_NAME.* |
| Білий екран або HTTP 500 після встановлення | Фатальна помилка PHP (несумісне розширення, застарілий модуль або помилка в плагіні) | Увімкніть відображення помилок на час діагностики, тимчасово вимкніть сторонні плагіни, оновіть PHP-модулі |
| Неможливо завантажити файли або аватари | Невірні права на каталоги uploads/, tmp/ або обмеження open_basedir |
Встановіть власника www-data і права 755 на каталоги, перевірте налаштування PHP у панелі |
| Скарги сканерів безпеки на вразливість Subrion 4.2.1 | Використовується застарілий непідтримуваний реліз із відомими вразливостями (зокрема, довільне завантаження файлів) | Обмежте доступ до адмінки, вимкніть небезпечні плагіни, застосуйте патчі від розробників або розгляньте міграцію на інший актуальний двигун у разі неможливості оновлення Subrion |
Корисні посилання
Офіційна документація та ресурси


