Как это работает

По теме понятно, что статья будет полезна в основном начинающим разработчикам. Я очень хорошо помню, как сам начинал изучать веб, и вещи, которые сейчас кажутся элементарными, тогда вызывали желание утопиться в чашке кофе, хахах.

Главное, что я усвоил - в процессе изучения сложных (по крайней мере на конкретном этапе) вещей лучше сначала понять самые основы, и тогда все остальные знания лягут на крепкий фундамент.

Исходя из этого, давайте сначала разберем сильно упрощенную схему, как CMS MODX "живет" и работает на хостинге. Это упростит понимание работы большинства CMS и MODX в частности.

MODX написан на PHP и в качестве базы данных использует MySQL. На сервере хранятся все файлы MODX: php, css, js. На этом же или другом сервере хранится база данных.

Когда посетитель открывает в браузере наш сайт - его устройство отправляет запрос на сервер. Сервер принимает запрос и запускает соответсвующие PHP скрипты. Эти скрипты запрашивают данные из базы MySQL, выполняют с ними какие-то действия (например, проверка авторизации, расчет % скидки), подставляют их в шаблоны и отдают в браузер посетителя HTML, JavaScript и CSS код. Этот код рендерится браузером пользователя, и он видит готовый сайт.

При установке MODX, по сути, мы закидываем на сервер файлы, которые нужны для работы MODX и создаем базу данных с определенной архитектурой, с которой потом будут взаимодействовать эти файлы.

Для этого нам нужно:

  • создать на сервере новую пустую базу данных;
  • скачать установщик MODX и закинуть в папку домена;
  • запустить установщик, указать доступы к созданной БД;
  • проверить, что все работает корректно.

Подразумевается, что домен зарегистрирован и арендован хостинг, они связаны DNS-записями и сайт корректно открывается в интернете. Если еще нет - то можно посмотреть, как это сделать в статье, которую я когда-нибудь напишу.

Если этот этап уже пройден - давайте посмотрим как устанавливается MODX.

Шаг 1 - Создание базы данных

У разных хостеров отличаются интерфейсы панели управления, поэтому я опишу этот процесс на примере Beget.com и Webhost1.ru - хостеров, которых использую сам. У Бегет панель управления собственная, у Вебхост - ISPManager.

В целом у любого хостера есть инструкции по созданию баз данных, либо можно обратиться за помощью в техподдержку. После одного-двух раз уже будет понятно, что сложного в создании БД ничего нет, и ориентироваться можно будет в любом интерфейсе, если он не совсем уж убогий.

Создаем БД в Бегет

Перейдите в раздел Хостинг > MySQL.

Введите наименование базы данных и пароль, нажмите "Добавить".

По умолчанию введенный пароль будет действовать только для обращений к базе данных с этого же сервера.

Бывает такое, что файлы и базу данных размещают на разных серверах для снижения нагрузки - тогда нужно создавать дополнительный доступ. Нажмите кнопку-плюсик "Добавить доступ к БД", укажите IP адрес сервера, на котором будет работать сайт, и задайте пароль. Чтобы открыть доступ всем IP - установите галочку "Единый доступ для различных IP-адресов".

Создаем БД в Webhost

Перейдите в раздел "Базы данных", нажмите кнопку "Создать базу данных".

На открывшейся странице введите наименование новой базы, выберите тип сервера и сервер (оставляем по-умолчанию MySQL), кодировку (оставляем по умолчанию utf8mb4), имя пользователя (обычно совпадает с базой данных), задайте пароль и подтвердите его.

Аналогично с Бегет, изначально БД будет доступна только с этого же сервера. Если нужно подключиться с других адресов - поставьте галочку "Удаленный доступ" и укажите список хостов, с которых нужно будет подключаться к базе.

Шаг 2 - Установка MODX

Для начала нам нужно скачать установщик.

Зайдите на официальный сайт MODX, перейдите в раздел Downloads.

На момент написания статьи актуальной стабильной версией MODX является 3.0.1, но:

  • по времени существования MODX 3 не уверен, что система обкатана;
  • не вижу критических отличий от MODX 2;
  • я с ним не работал.

Исходя из этого, в статье буду разбирать последнюю версию 2 поколения - 2.8.4.

Пару раз установив MODX на хостинг (а там все просто), вы легко сможете установить и другую версию.

На странице загрузок листаем вниз, находим ссылку на версию 2.8.4-pl, переходим.

Скачиваем вариант "Advanced Installation Package" - загрузится в виде zip архива.

Затем нужно перенести скачанный архив на хостинг.

Загрузите архив в корневую директорию сайта и распакуйте, чтобы получилась структура вида:

site.ru/
    html/
        core/
        setup/

Либо, если путь к корневой директории указан без папки html, public_html и подобных, то просто:

site.ru/
    core/
    setup/

Затем нужно начать сам процесс установки.

Для этого откройте в браузере установщик по адресу yoursute.ru/setup/.

В параметрах установки оставляем "Новая установка". Указываем права, назначаемые новому каталогу - 0775 или 0777. Для файлов - 0664 или 0666. Отключаем отправку заголовков X-Powered-By, так как отправка заголовка позволяет внешним системам точно определять, что сайт на MODX, а это создает угрозу безопасности. Переходим далее.

В параметрах подключения указываем данные созданной ранее БД - имя БД, имя пользователя и пароль. Если база расположена на этом же сервере, то оставляем адрес сервера localhost. Если на другом - нужно указать корректный IP адрес для подключения, его обычно можно найти в панели управления.

Префикс таблиц - указанная вручную комбинация букв и цифр, которую скрипт впишет в начало всех таблиц базы данных. Это повышает безопасность системы - если вдруг злоумышленник найдет способ выполнить запрос к базе данных, ему нужны будут имена таблиц. Если мы указываем рандомный префикс - подобрать его практически нереально, поэтому задать его нужно обязательно.

После этого запускаем тест подключения, а за ним тест создания и выборки из БД - скрипты проверят корректность указанных данных и полноту прав пользователя.

Если тесты прошли корректно - откроется форма регистрации администратора. Укажите логин, резервную почту для уведомлений и восстановления доступа и пароль.

Далее можно заменить базовые URL. Пути к веб-контенту сайта оставляем по умолчанию - ничего менять не нужно. Пути к коннекторам желательно заменить на сгенерированную буквенно-числовую комбинацию, так как это тоже повышает безопасность системы.

Путь к системе управления, аналогично, нужно прописать свой - это адрес, по которому Вы будете открывать админку.

Существуют специальные парсеры, которые пытаются подобрать адрес входа в админку стандартными наименованиями - mgr, manager, admin и т.д., а затем подобрать к ним пароль или воспользоваться уязвимостями CMS.

Поэтому для повышения безопасности лучше установить что-то отстраненное от управления и админки, но запоминающееся, чтобы потом было легко вводить адрес.

После этого скрипт проведет тесты на корректность технических характеристик, введенных данных, доступов и прочего. Если все нормально - идем далее.

Скрипт выполнит установку MODX и выведет отчет об установке.

Можно перейти в админку по ссылке или ввести указанный ранее путь к системе управления.

В целом на этом установка MODX на хостинг завершена. Далее нужно провести базовую настройку системы, установить необходимые пакеты и начать разрабатывать сайт.

Если Вам понравилась статья - сохраняйте в закладках и можете оставить комментарий. Спасибо за прочтение!