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://

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