4.1.14 Встановлення CMS Made Simple на хостинг та сервер

CMS Made Simple Banner The Host

CMS Made Simple (CMSMS) — легка CMS на PHP для корпоративних і невеликих проєктів, орієнтована на просту структуру шаблонів і модульність. Підтримує чисті URL, гнучке керування шаблонами Smarty, розширення через модулі та стабільну роботу на класичному стеку Nginx/Apache + PHP-FPM + MySQL/MariaDB. Шаблонізатор Smarty зі спадкуванням макетів і блоків спрощує повторне використання компонентів і чіткий поділ представлення. Підтримуються багатомовні проєкти (через модулі), детальні ролі доступу та кешування сторінок/шаблонів, що прискорює рендеринг і спрощує SEO-налаштування.

Підготовка середовища

Вимоги

  • Активна послуга Хостингу, Віртуального або Виділеного сервера.
  • CPU: 2 vCPU; RAM: від 2 ГБ; SSD: від 10 ГБ.
  • ОС: Ubuntu 22.04 LTS/24.04 LTS.
  • Веб-сервер: Nginx 1.20+ або Apache 2.4+.
  • PHP: 8.1–8.3; memory_limit256M.
  • СУБД: MySQL 5.7+/MariaDB 10.4+.
  • Доступ: root або користувач із правами sudo.

Змінні середовища

  • DOMAIN_NAME — ваш домен.
  • CMSMS_VERSION — версія CMSMS, напр. 2.2.20.
  • DB_HOST, DB_NAME, DB_USER, DB_PASSWORD — параметри БД.
  • WWW_USER, WWW_GROUP — власник веб-проєкту, зазвичай www-data.

Встановлення CMS Made Simple на хостингу

  1. Завантажте дистрибутив CMSMS. Скачайте стабільний архів з офіційного сайту і збережіть локально.

  2. Завантажте архів на хостинг через менеджер файлів або по FTP. Розпакуйте в корінь сайту.

  3. Створіть користувача та базу даних.

  4. Запустіть веб-встановлювач. Відкрийте http://DOMAIN_NAME/cmsms-<version>-install.php/ і дотримуйтесь майстра встановлення:

  • Вкажіть бажану мову для встановлення

web installation sms cms step1

  • Пройдіть перевірку наявного ПЗ у директорії встановлення

web installation sms cms step2

  • Перевірка середовища та розширень PHP.

web installation sms cms step3

  • Введіть параметри створеної бази даних DB_HOST, DB_NAME, DB_USER, DB_PASSWORD.

web installation sms cms step4

  • Створення суперкористувача для адміністративної панелі.

web installation sms cms step5

  • Вкажіть назву сайту та виберіть додаткову мову

web installation sms cms step6

  • Підтвердіть розпакування файлів

web installation sms cms step7

  • Підтвердіть створення й налаштування бази даних

web installation sms cms step8

  • Встановлення успішно завершено

web installation sms cms step9

Встановлення CMS Made Simple на сервері

Підготовка каталогу та завантаження

Створіть директорію проєкту, завантажте реліз і розпакуйте:

Створення каталогу та завантаження архіву
sudo mkdir -p /var/www/DOMAIN_NAME && cd /var/www/DOMAIN_NAME
sudo wget -O cmsms.zip "https://downloads.cmsmadesimple.org/{$CMSMS_VERSION}/cmsms-CMSMS_VERSION.zip"
sudo apt update && sudo apt install -y unzip
sudo unzip cmsms.zip && sudo rm cmsms.zip
sudo chown -R WWW_USER:WWW_GROUP /var/www/DOMAIN_NAME

Створення БД і користувача

Створення БД і користувача MySQL/MariaDB
mysql -u root <<'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;

Встановлення PHP-модулів

Для Ubuntu 22.04/24.04 встановіть PHP і розширення:

Встановлення PHP-розширень
sudo apt install -y php8.2 php8.2-fpm php8.2-cli php8.2-mysql php8.2-xml php8.2-gd \
  php8.2-curl php8.2-zip php8.2-intl php8.2-mbstring
php -v
php -m | grep -E "mbstring|intl|zip|curl|xml|gd|mysql"

Налаштуйте конфігурацію php у файлі php.ini: memory_limit=256M, max_execution_time=180, upload_max_filesize=32M, post_max_size=32M.

Конфігурація Nginx

/etc/nginx/sites-available/cmsms.conf
server {
    listen 80;
    server_name DOMAIN_NAME;

    root /var/www/DOMAIN_NAME;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_read_timeout 120;
    }

    # Обмеження прямого доступу до службових шляхів
    location ~* ^/(tmp|install|backup|uploads/secure)/ {
        deny all;
        return 403;
    }
}

Активація сайту та перевірка:

Увімкнення сайту та перезапуск Nginx
sudo ln -s /etc/nginx/sites-available/cmsms.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
nginx -v

Після цього відкрийте http://DOMAIN_NAME/cmsms-<version>-install.php/ і завершіть встановлення в браузері.

Права та власники: переконайтеся, що storage/tmp, uploads/ і кеш-каталоги належать WWW_USER:WWW_GROUP і доступні для запису веб-серверу.

Налаштування додаткових функцій CMS Made Simple

HTTPS (Let’s Encrypt)

Підключіть сертифікат і увімкніть редирект на HTTPS. Повну інструкцію дивіться в нашій статті: Let’s Encrypt (Certbot).

Приклад автоматичного редиректу в Nginx
# Додайте в серверний блок:
if ($scheme = http) { return 301 https://$host$request_uri; }

ЧПУ-посилання та правила маршрутизації

Увімкніть Friendly URL у налаштуваннях CMSMS і переконайтеся, що try_files активний, як у прикладі. Для Apache використовуйте .htaccess із дистрибутива.

Кеш шаблонів і продуктивність

В адмін-панелі увімкніть кеш і періодичне очищення тимчасових файлів. За високого навантаження використовуйте OPcache у PHP.

Кешування

Локалізація та дата/час

Установіть потрібну локаль PHP і часовий пояс:

Налаштування TZ для PHP-FPM
sudo sed -i 's#;date.timezone =#date.timezone = Europe/Kyiv#g' /etc/php/8.2/fpm/php.ini
sudo systemctl reload php8.2-fpm

Перевірка роботи

  1. Відкрийте http://DOMAIN_NAME/ — має завантажитися головна сторінка без 404 і 500.
  2. Увійдіть в адмін-панель і очистіть кеш. Створіть тестову сторінку.
Поширені помилки
Помилка/Симптом Причина Рішення
404 при ввімкнених ЧПУ Немає try_files або конфлікт location Застосуйте try_files $uri $uri/ /index.php?$query_string;
500 під час встановлення Відсутні PHP-модулі Встановіть gd, mbstring, intl, curl, zip, xml, pdo_mysql
Немає запису в uploads Неправильні права на файли й каталоги сайту, які заважають процесам користувача www-data виконати запис у вказаний каталог Виконайте chown -R WWW_USER:WWW_GROUP і chmod 775 потрібних директорій
«Could not connect to database» Невірно вказані дані для підключення до БД або localhost ≠ сокет Перевірте DB_HOST, доступ, GRANT, використовуйте 127.0.0.1
Нескінченний редирект на HTTPS Дубльовані правила Залиште один редирект на HTTP-сервері

Корисні посилання

Офіційна документація та спільноти