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

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.
-
Скачайте дистрибутив MODX Revolution. Перейдите на официальный сайт и загрузите архив.
-
Загрузите архив на сервер и распакуйте. Загрузите архив в папку вашего домена (
~/www/DOMAIN_NAME) через FTP или менеджер файлов панели хостинга. -
Создайте базу и пользователя БД. Создайте базу данных в панели хостинга или выполните команду по 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; -
Выставьте права на директории записи.
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 .После этого инсталлятор сможет создать конфигурацию и кэш.
-
Запустите веб-установщик. Откройте
https://DOMAIN_NAME/setup/и выполните инсталяцию CMS:
- тип установки: New installation

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

- путь
core/оставить по умолчанию - включить Clean URLs (если на сервере настроен rewrite)
- Удалите установщик.
После завершения нажмите кнопку удаления
setup/или удалите каталог вручную.
Подсказка! Если вы переносите сайт, сначала импортируйте БД и каталог core/packages/ с установленными пакетами, затем выполните вход в manager/ и очистите кэш.
Настройка веб-сервера при установке на сервер
Nginx
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

Подключение 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. Храните копии вне веб-корня.
Проверка работы
- Откройте
https://DOMAIN_NAME/manager/, авторизуйтесь. - Создайте ресурс «Главная», сделайте его
site_start, включите Публиковать. - Очистите кэш в админке и проверьте главную страницу сайта.
- Убедитесь, что
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:// |
Полезные ссылки
Официальная документация


