MAATRIX / Блог / Как установить и настроить MODX на VPS

Как установить и настроить MODX на VPS

Как установить и настроить MODX на VPS

MAATRIX

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 — десятки моделей в одном окне. Оплата картой РФ и по СБП.