4.1.10 Установка MODX Revolution на хостинге и сервере

The Host Banner MODX

MODX — это система управления контентом (CMS) и фреймворк (CMF) с открытым исходным кодом, написанная на PHP и предназначенная для создания гибких, производительных сайтов и веб-приложений любого масштаба.

Она сочетает простоту управления контентом с возможностями фреймворка: разработчики могут писать собственные компоненты, а администраторы — работать с контентом через удобную панель MODX Manager.

Подготовка окружения

Требования

  • Активная услуга Хостинга, Виртуального или Выделенного сервера
  • CPU: 1–2 vCPU; RAM: от 1 ГБ; SSD: от 5–10 ГБ
  • ОС: Ubuntu 22.04 LTS или 24.04 LTS (рекомендовано)
  • Стек: PHP 8.1–8.2 с mbstring, json, xml, zip, pdo, pdo_mysql; MySQL 5.7+/MariaDB 10.3+
  • Доступ: Root доступ или пользователь с правами sudo

Переменные окружения

  • DOMAIN_NAME — домен сайта
  • DB_NAME, DB_USER, DB_PASSWORD, DB_HOST — параметры БД (обычно 127.0.0.1)
  • ADMIN_EMAIL — почта администратора
  • UPLOAD_PATH — путь к каталогу сайта (например, ~/www/DOMAIN_NAME)
  • MODX_VERSION — версия MODX (например, 3.0.6-pl)

Установка MODX на хостинге

Ставим стабильную версию MODX, настраиваем БД и права. Это универсальный путь для общего хостинга и серверов без Docker.

  1. Скачайте дистрибутив MODX Revolution. Перейдите на официальный сайт и загрузите архив.

  2. Загрузите архив на сервер и распакуйте. Загрузите архив в папку вашего домена (~/www/DOMAIN_NAME) через FTP или менеджер файлов панели хостинга.

  3. Создайте базу и пользователя БД. Создайте базу данных в панели хостинга или выполните команду по SSH:

    Создание БД и пользователя
    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;
    
  4. Выставьте права на директории записи.

    cd ~/www/DOMAIN_NAME
    find core/cache core/export core/packages assets -type d -exec chmod 775 {} \;
    find core/cache core/export core/packages assets -type f -exec chmod 664 {} \;
    chown -R WWW_USER:WWW_GROUP .
    

    После этого инсталлятор сможет создать конфигурацию и кэш.

  5. Запустите веб-установщик. Откройте https://DOMAIN_NAME/setup/ и выполните инсталяцию CMS:

    • тип установки: New installation

  • доступ к БД: DB_HOST, DB_NAME, DB_USER, DB_PASSWORD

  • путь core/ оставить по умолчанию
  • включить Clean URLs (если на сервере настроен rewrite)
  1. Удалите установщик. После завершения нажмите кнопку удаления setup/ или удалите каталог вручную.

Подсказка! Если вы переносите сайт, сначала импортируйте БД и каталог core/packages/ с установленными пакетами, затем выполните вход в manager/ и очистите кэш.

Настройка веб-сервера при установке на сервер

Nginx

/etc/nginx/sites-available/modx.conf
server {
    listen 80;
    server_name DOMAIN_NAME;
    root /var/www/DOMAIN_NAME;
    index index.php index.html;

    location / {
        try_files $uri $uri/ @modx;
    }

    location @modx {
        rewrite ^/(.*)$ /index.php?q=$1 last;
    }

    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 ~* ^/(core|config.core.php) {
        deny all;
        return 403;
    }

    client_max_body_size 16m;
}

Создайте ссылку в sites-enabled, проверьте конфиг nginx -t и перезапустите службу.

PHP и расширения

Изучить как включаются расширения в панели хостинга можете в нашей инструкции.

Обновите php.ini: memory_limit=256M, upload_max_filesize=16M, post_max_size=16M, max_execution_time=120. Перезапустите php-fpm.

Проверь

php -v
php -m | grep -E "mbstring|pdo_mysql|xml|zip"
php -i | grep opcache.enable

Настройка дополнительных функций MODX

Настройка дополнительных функций MODX

Подключение SSL-сертификата

Для работы по защищенному протоколу HTTPS используйте Let’s Encrypt или коммерческий SSL-сертификат

Кэширование и производительность

  • Включите кэш в System Settings: cache_resource_default, cache_system_settings.
  • Активируйте OPcache в PHP.
  • Для тяжелых страниц рассмотрите Nginx-кэш с proxy_cache на уровне обратного прокси.

Резервные копии

  • База: mysqldump DB_NAME | gzip > backup-$(date +%F).sql.gz
  • Файлы: архивируйте core/, assets/, config.core.php. Храните копии вне веб-корня.

Проверка работы

  1. Откройте https://DOMAIN_NAME/manager/, авторизуйтесь.
  2. Создайте ресурс «Главная», сделайте его site_start, включите Публиковать.
  3. Очистите кэш в админке и проверьте главную страницу сайта.
  4. Убедитесь, что core/config/config.inc.php создан и недоступен из веба.
Распостранённые ошибки
Ошибка / Симптом Причина Решение
404 на всех страницах Не работает rewrite Включите Friendly URLs и проверьте Nginx/Apache правила
Нет записи в core/cache Права на каталоги Выдайте права на core/cache, assets
Подключение к БД не удалось Неверные DB_* Проверьте логин/хост, пересоздайте пользователя
Белый экран / 500 Отсутствует расширение PHP Установите pdo_mysql, mbstring, zip
Менеджер не грузится по HTTPS Неверный смешанный контент Включите site_url с https://

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