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-сервере

Полезные ссылки

Официальная документация и сообщества