Jump to main content Jump to doc navigation

Процесс установки

Некоторые заметки об участии в тестировании и/или разработке MODX Revolution. В отличие от предыдущих версий MODX, Revolution не устанавливается напрямую из Git. Из-за особенностей новой системы упаковки и установки, прежде чем запускать установку, вы должны сначала создать основной установочный пакет, используя скрипт сборки PHP.

Git репозиторий

Клонируйте репозиторий из репозитория revolution на GitHub используя следующий синтаксис:

git clone http://github.com/modxcms/revolution.git

Если вы хотите внести свой вклад, создайте форк в ваш свой GitHub репозиторий, клонируйте этот репозиторий:

git clone git@github.com:yourgitusernamehere/revolution.git
cd revolution
git remote add upstream -f http://github.com/modxcms/revolution.git

Форк в свою учетную запись GitHub, позволит вам внести свой вклад в MODX, отправляя "Pull Request". Это можно сделать нажав на кнопку "Pull Request" на своей странице GitHub. (Вам нужно принять CLA, прежде чем мы сможем принять ваш код.) Если вы решите участвовать в разработке вам может пригодиться наша Инструкция для разработчиков Git для того чтобы поддерживать ваш форк в актуальном состоянии.

Если вы не знакомы с Git, прочитайте руководство от GitHub и ознакомьтесь с Справка по GitHub.

Убедитесь, что вы работаете над веткой 2.x, если вам нужны последние исправления и функции, предназначенные для следующего релиза. В репозитории modxcms/revolution GitHub существуют две важные ветви, связанные с выпусками MODX Revolution версии 2:

Основная ветка

  • 2.x - Основная ветка разработки MODX Revolution версии 2. здесь будут все новые функции и исправления, предназначенные для следующего выпуска.

Младшая ветка

  • 2.5.x - Младшая ветка для текущих стабильных младших выпусков, содержит только исправления ошибок, предназначенные для следующего выпуска патча.

Чтобы выписать уже существующую ветку после клонирования просто наберите:

git checkout -b 2.x origin/2.x

Остальное сделает Git.

Иногда в репозитории могут появляться дополнительные временные ветки, в которых ведётся совместная работа по добавлению нового функционала или исправлению багов для поддерживаемых версий.

Запуск сборки

Если вы впервые создаёте сборку с помощью Git, скопируйте файл _build/build.config.sample.php в _build/build.config.php и измените свойства так, чтобы они указывали на вашу базу данных с надлежащими учетными данными (начиная с Revolution 2.1.x, вам так же нужно скопировать файл **_build/build.properties.sample.php** в **_build/build.properties.php** и отредактировать его). ВНИМАНИЕ База данных должна быть пуста, скрипт сборки просто должен иметь возможность устанавливать соединение с базой данных MySQL.

При помощи командной строки перейдите в каталог **_build/** и выполните **php transport.core.php**. Если исполняемый файл PHP перенесён, вам нужно либо отредактировать путь, либо указать полный путь к исполняемому файлу PHP. Процесс сборки займет какое-то временя (обычно от 10 до 30 секунд). (Примечание: на Mac Mini (Intel Core Duo 1,66 ГГц с 2 ГБ ОЗУ), на котором запущена среда разработки Leopard, как описано ниже, это занимает всего 5-10 секунд.)

Обратите внимание, что вы также можете сделать это при помощи браузера, перейдя в каталог **_build/transport.core.php**, если этот каталог доступен вашем веб-сервере.

После завершения работы скрипта убедитесь, что у вас есть файл с именем core/packages/core.transport.zip, каталог core/packages/core/ содержащий manifest.php и подкаталоги.

Установка

Теперь вы готовы к установке. Выполните скрипт установки по адресу setup/ URL (например http://localhost/modxrevo/setup/ если он расположен в подкаталоге modxrevo/).

Если вы выполняете установку при помощи Git, убедитесь, что вы включили опции "Core package has been manually unpacked (Пакет был распакован вручную)" и "Files are already in-place (Файлы уже на месте)".

Если вы измените какие-либо пути на шаге настройки "Context Paths", не забудьте переместить соответствующие каталоги в указанные места; во время установки из основного пакета, установщик поместит файлы в указанные каталоги (при условии, что PHP разрешена запись в эти каталоги).

Процесс установки требует больше 8М памяти, выделенной PHP в файле php.ini по умолчанию; если вы видите пустую страницу, когда нажимаете "установить", попробуйте увеличить конфигурацию memory_limit до 32 МБ или более.

Обновление вашего локального Git-репозитория после коммитов

Вам необходимо выполнить две команды:

git fetch origin
git rebase origin/2.x

Git обновит вашу установку. (Замените "2.5.x" на "2.x", если вы тестируете или вносите свой вклад в конкретную ветвь второстепенной версии или любую другую ветку.)

Если вы работаете в форке, а не прямо в репозитории modxcms/revolution, вам придется выбирать из апстрима, а не из источника (поскольку origin - ваш форк). Пожалуйста, прочитайте MODX GitHub Contributor's Guide для получения дополнительной информации.

Когда коммит сделан, вы можете увидеть сообщение:

  • [ReUp] - Если обновления требуют перестройки основного транспорта (например, что-либо измененное в каталоге _build, изменения модели базы данных или изменения данных по умолчанию), добавьте к коммиту префикс. Если вы видите это сообщение, просто пересоберите основной транспорт и снова запустите setup/.

Добавление кода и Pull Requests

Если вы исправили ошибку или добавили улучшение и работаете над форком репозитория MODX, вы можете отправить Pull Request в MODX, и один из менеджеров по интеграции рассмотрит ваш патч.

Вам необходимо принять CLA прежде чем мы сможем принять ваш код.

MODX рекомендует вам работать над функциями или ошибками в их отдельных ветках. Таким образом, если MODX не принимает ваш Pull Request, вам не нужно будет снова выполнять git checkout. Вы можете просто удалить ветку исправлений/функций и обновить код из чистой ветки.

Например, допустим, вы хотите добавить функцию для рабочего процесса MODX. Вы создаёте локальную ветку из ветки 2.x, которую называете myworkflow:

git checkout -b myworkflow 2.x

...после чего внесёте ваш код. Как только вы закончили, вы добавляете код в ваш форк и делаете Pull Request. Как только MODX интегрирует ваш код (или отклонит его), вы можете удалить ветку следующим образом:

git checkout 2.x
git branch -d myworkflow

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

Вы можете выполнить git merge --ff-only origin/2.x, чтобы получить новые коммиты из ветки 2.x (или 2.5.x, и т.д.) в вашу ветку, после чего запустить git fetch origin чтобы проверить ветку.

Дополнительную информацию о форках вы можете получить из статьи GitHub Forking Help Page.

Переключение веток

Если вы хотите переключиться на другую ветку (которую вы уже проверили локально), просто введите эти команды:

git fetch upstream
git checkout 2.5.x upstream/2.5.x

Конечно, заменив 2.5.x на фактическое имя ветки, на которую вы хотите переключиться. После того, как вы это сделаете, запустите сборку и снова запустите setup/, так как разные ветви могут иметь разные базы данных.

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

Дополнительная информация

Использование MAMP в Mac OS X

Если вы используете MAMP в Mac OS X, у вас могут возникнуть проблемы (ошибки, связанные с отсутствием библиотек DYLD) при попытке выполнить transport.core.php из терминала.

Чтобы настроить путь к библиотеке динамического компоновщика для включения библиотек MAMP PHP, выполните следующую команду через терминал:

export DYLD_LIBRARY_PATH=/Applications/MAMP/Library/lib:$\{DYLD_LIBRARY_PATH\}

Затем вы можете выполнить transport.core.php используя абсолютный путь к исполняемому файлу MAMP PHP:

/Applications/MAMP/bin/php5/bin/php transport.core.php

Git Install для разработки 3.x

Это предполагает, что у вас есть локальный веб-сервер, указанный в каталоге, который здесь называется your_directory.

  1. Локально перейдите в каталог, из которого вы хотите развернуть modx в подпапку: cd /path/to/parent/directory
  2. Запустите: composer create-project modx/revolution your_directory 3.x-dev
  3. Сменить каталог и измените ветку на ветку 3.x: cd your_directory && git checkout 3.x
  4. Создайте ветку: git checkout -b 3.x-myfeaturebranch

При желании подключите MODX Revolution on Github к своей учетной записи Github, после чего вы захотите сделать следующее:

  1. git remote add upstream https://github.com/modxcms/revolution.git (другой URL, если вы используете SSH)
  2. git remote set-url origin {your github repo url}
  3. Вам также может понадобиться: git remote set-url --push origin {your github repo url}

Сборка ядра:

  1. cp build.config.sample.php build.config.php && cp build.properties.sample.php build.properties.php
  2. Отредактируйте эти два файла, добавив ваши пути и учетные данные базы данных
  3. Запустите: php transport.core.php
  4. Запустите установщик в браузере.