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:// | 
Корисні посилання
Офіційна документація


