Как установить и настроить MODX на VPS
MODX Revolution — гибкая PHP-CMS и одновременно фреймворк для сайтов любой структуры, и установить MODX на VPS вручную стоит, когда нужен полный контроль над разметкой, чистый код и свобода без навязанных шаблонов. MODX не диктует структуру: вы сами описываете шаблоны, чанки и сниппеты, получая ровно тот HTML, который задумали. Это делает его любимцем веб-студий и разработчиков, ценящих чистоту вёрстки и гибкость. В этом руководстве развернём MODX Revolution с нуля на связке Apache + PHP + MySQL: подготовим сервер, поставим окружение, создадим базу, загрузим MODX, пройдём мастер установки, настроим дружественные URL и выпустим SSL. Прежде чем начать, коротко про философию MODX, чтобы понимать, что мы ставим. В отличие от WordPress с его готовыми темами, MODX даёт «пустой холст»: ядро, менеджер (админку) и движок шаблонизации. Вёрстку вы заводите сами через шаблоны и переиспользуемые куски (чанки), а динамику добавляете сниппетами и дополнениями из репозитория. Порог входа чуть выше, зато нет лишнего кода и полная свобода. По ресурсам MODX нетребователен: для сайта хватит VPS от 1–2 ГБ RAM. Всю установку выполняем по SSH под пользователем с sudo.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Подготовка сервера и установка LAMP
Обновите систему и установите Apache, MySQL и PHP с расширениями, которые нужны MODX для работы с изображениями, базой, архивами и внешними сервисами:
apt update && apt -y upgrade
apt -y install apache2 mysql-server php php-mysql php-gd php-xml php-curl php-mbstring php-zip php-cli libapache2-mod-php unzip
Включите модуль перезаписи Apache (нужен для дружественных URL MODX) и перезапустите веб-сервер:
a2enmod rewrite
systemctl restart apache2
Откройте порты веб-сервера в фаерволе: ufw allow 'Apache Full'. Набор расширений PHP важен: без php-gd не будет работать обработка изображений и капча в менеджере, без php-zip — установка дополнений из репозитория. MODX при установке проверяет окружение и укажет, чего не хватает.
Создание базы данных для MODX
MODX хранит контент и настройки в базе данных. Создадим отдельную базу и пользователя. Войдите в консоль MySQL:
mysql
Выполните команды (замените значения на свои):
CREATE DATABASE modx CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'modxuser'@'localhost' IDENTIFIED BY 'надёжный_пароль';
GRANT ALL ON modx.* TO 'modxuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Запишите имя базы, пользователя и пароль — они понадобятся мастеру установки. Отдельный пользователь с правами только на свою базу — правильная практика безопасности, изолирующая сайт от других баз на сервере. Кодировка utf8mb4 обеспечивает полноценную поддержку Unicode, включая все языки.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSЗагрузка и размещение MODX
Скачайте актуальную версию MODX Revolution с официального сайта и распакуйте в каталог сайта. Архив содержит ядро и установщик (setup):
mkdir -p /var/www/vashdomen.ru
cd /tmp
wget https://modx.com/download/direct?id=modx-3.0.4-pl.zip -O modx.zip
unzip modx.zip
cp -R modx-3.0.4-pl/* /var/www/vashdomen.ru/
Номер версии замените на актуальный. После распаковки назначьте владельцем каталога пользователя веб-сервера, чтобы установщик и MODX могли записывать файлы (кэш, конфиг, загрузки):
chown -R www-data:www-data /var/www/vashdomen.ru
Правильный владелец критичен: мастер установки записывает конфигурационный файл ядра, и без прав на запись установка не пройдёт. Это частая причина затыков на чистом сервере.
Настройка Apache и мастер установки
Создайте конфиг виртуального хоста Apache с DocumentRoot на каталог сайта и AllowOverride All. Активируйте сайт и перезапустите Apache:
a2ensite vashdomen.ru
systemctl reload apache2
Направьте A-запись домена на IP сервера и дождитесь распространения DNS:
dig +short vashdomen.ru
Откройте http://vashdomen.ru/setup/ — запустится мастер установки MODX. Он проверит окружение (версии PHP, расширения, права), затем попросит данные базы (modx, modxuser, пароль) и данные администратора: логин (не банальный admin), пароль и email. Мастер создаст структуру базы и запишет конфиг ядра. По завершении он потребует удалить каталог setup — сделайте это обязательно.
Удаление setup, дружественные URL и SSL
После установки удалите каталог setup — оставлять его небезопасно:
rm -rf /var/www/vashdomen.ru/setup
Затем выпустите бесплатный SSL через certbot:
apt -y install certbot python3-certbot-apache
certbot --apache -d vashdomen.ru -d www.vashdomen.ru
Certbot настроит HTTPS и редирект, сертификат продлевается автоматически. Теперь включите дружественные URL (friendly URLs): в менеджере MODX перейдите в Система → Настройки, найдите friendly_urls и включите её. Затем переименуйте поставляемый файл ht.access в .htaccess в корне сайта — без него правила перезаписи не заработают:
mv /var/www/vashdomen.ru/ht.access /var/www/vashdomen.ru/.htaccess
После этого адреса страниц станут человекочитаемыми. Не забудьте прописать базовый адрес сайта с https в настройках site_url, чтобы ссылки формировались корректно.
Безопасность, дополнения и обслуживание
MODX защищайте сразу. Переименуйте каталог менеджера manager в нестандартное имя (это настраивается) — так админка скрывается от автоматических атак. Держите ядро и дополнения обновлёнными, ставьте пакеты только из официального репозитория. Закройте лишние порты фаерволом, настройте вход по SSH-ключу, включите защиту от перебора паролей в менеджере.
Дополнения (Extras) устанавливаются прямо из менеджера через встроенный установщик пакетов — популярны pdoTools для вывода контента, Ace для редактирования кода, TinyMCE для визуального редактора. Для дружественных URL и SEO часто ставят SEO Pro или SEO Tab. Настройте регулярный бэкап файлов и базы с выгрузкой вне сервера. Следите за кэшем: MODX активно кэширует, и при странном поведении сайта первым делом очищают кэш через менеджер (Управление → Очистить кэш). При росте трафика ресурсов понадобится больше — на VPS MAATRIX они наращиваются без переустановки.
Коротко о том, как устроена работа с контентом в MODX, чтобы вы понимали, что настраиваете. Основные строительные блоки — это шаблоны (структура страницы), чанки (переиспользуемые куски HTML вроде шапки и подвала), сниппеты (PHP-код, генерирующий динамику), плейсхолдеры и переменные шаблона (TV, дополнительные поля ресурсов). Ресурс (страница) выбирает шаблон, а внутри шаблона вызываются чанки и сниппеты. Такая модель поначалу кажется непривычной после WordPress, но именно она даёт полный контроль над разметкой: в исходном коде страницы оказывается ровно то, что вы написали, без лишних обёрток. Освоив эту логику, вы соберёте сайт любой сложности без борьбы с чужими шаблонами.
Отдельно стоит настроить безопасное хранение конфигурации. Конфигурационный файл ядра core/config/config.inc.php содержит доступы к базе, поэтому убедитесь, что он недоступен из интернета (в поставке MODX ядро защищено правилами) и имеет права только на чтение после установки. Правильная защита ядра и менеджера — залог того, что магазин доступов не утечёт при случайной ошибке конфигурации веб-сервера.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Чем MODX отличается от WordPress?
MODX не навязывает готовых тем и структуры — вы сами описываете шаблоны и получаете ровно тот HTML, что задумали. Это даёт чистый код и полную гибкость, но требует чуть больше навыков вёрстки. WordPress проще для типовых блогов, MODX сильнее для нестандартных сайтов.
Почему установщик не может записать конфиг?
Нет прав на запись: владельцем каталога сайта должен быть пользователь веб-сервера (www-data). Назначьте владельца командой chown до запуска мастера — тогда MODX запишет конфиг ядра и завершит установку.
Не работают дружественные URL — что делать?
Включите настройку friendly_urls в менеджере, переименуйте ht.access в .htaccess, убедитесь, что модуль rewrite активен и стоит AllowOverride All. На Nginx правила задаются в его конфиге отдельно.
Хватит ли 1 ГБ RAM для MODX?
Для сайта с умеренным трафиком — да, MODX нетребователен. При росте посещаемости и тяжёлых дополнениях берите 2 ГБ и больше. На VPS MAATRIX память увеличивается без переустановки сайта.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.