Skip to content
  1. Система
  2. Утилиты
  3. Teleport

Teleport

Teleport является расширяемым скриптовым инструментом для работы с одной или несколькими локальными (не облачными) установками MODX Revolution.

Teleport в настоящее время функционирует преимущественно в качестве упаковочного инструмента который расширяет Транспортный API MODX'а и даёт команды для извлечения и инъекций кастомных Слепков сайтов на MODX. Но он может быть легко расширен для выполнения бесконечного множества действий, связанных с MODX.

Требования

Для того, чтобы использовать телепорт, ваша рабочая среда должна, по крайней мере соответствовать следующим требованиям:

  • PHP >= 5.4
  • MODX Revolution >= 2.1 (MySQL)

Вы также должны иметь возможность запускать PHP с помощью CLI SAPI.

Примечание

В настоящее время, все варианты шаблонов извлечения Teleport поддерживают только MySQL инсталляции MODX Revolution.

Использование в среде Linux с расширением PHP POSIX может дать возможность использовать передовые функции переключения пользователей.

Teleport стремится быть мультиплатформенным инструментом, и в настоящее время работает одинаково хорошо и в Linux и в OS X окружении. Поддержка на платформе Windows в настоящее время неизвестна - требуются разработчики в среде Windows.

Установка

Есть несколько методов установки Teleport. Самый простой путь начать - это установка PHAR дистрибутива Teleport.

Внимание

Используя любой из способов установки, убедитесь, что вы выполняете Teleport под тем же пользователем, под которым работает PHP когда исполняется веб-сервером. В противном случае может ваш MODX сайт может быть повреждён путем инъекции и/или кэширования файлов с некорректным владельцем файлов.

Скачивание и установка Phar

Создайте рабочую директорию для Teleport'а и перейдите в неё:

shell
mkdir ~/teleport/ && cd ~/teleport/

Скачайте последнюю версию teleport.phar дистрибутива Teleport в вашу рабочую директорию Teleport'а.

Создайте Профиль MODX сайта:

shell
php teleport.phar --action=Profile --name="MyMODXSite" --code=mymodxsite --core_path=/path/to/mysite/modx/core/ --config_key=config

Извлеките Слепок MODX сайта который вы только что профилировали:

shell
php teleport.phar --action=Extract --profile=profile/mymodxsite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json

Другие методы установки

Как вариант, вы можете установить Teleport из исходников с использованием Composer'а. Изучите больше об использовании git clone или release archive.

Внимание

Если вы хотите использовать Teleport HTTP Server вы не можете использовать дистрибутив Phar. Вам ПРИДЁТСЯ использовать один из других методов установки.

Teleport в вашем PATH

С любым типом установки вы можете создать исполнимую символьную ссылку и назвать её teleport указывающую на bin/teleport, или прямо на teleport.phar. Вы сможете просто писать teleport вместо bin/teleport или php teleport.phar для вызова приложения teleport.

Базовое использование

Во всех случаях используйте teleport, в зависимости от того, как вы установили приложение. Например, если вы установили из исходников, пишите bin/teleport вместо php teleport.phar; если вы создали символьную ссылку на teleport.phar, пишите teleport вместо php teleport.phar во всех примерах команд. Последующие примеры предполагают, что вы установили дистрибутив teleport.phar.

Внимание

Перед использованием Teleport на сайте MODX, вам необходимо создать Teleport Профиль из существующего сайта.

Создание Профиля сайта MODX

Вы можете создать Teleport Профиль любого существующего сайта MODX с помощью следующей команды:

shell
php teleport.phar --action=Profile --name="MySite" --code=mysite --core_path=/path/to/mysite/modx/core/ --config_key=config

Результирующий файл будет расположен в profile/mysite.profile.json и затем может быть использован для команды Извлечения или Инъекции в другой сайт, не тот который был использован для создания профиля.

Более подробно Teleport Профили.

Извлечение Слепка сайта MODX

Вы можете извлечь Teleport Слепок из сайта MODX используя следующую команду:

shell
php teleport.phar --action=Extract --profile=profile/mysite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json

Слепок, в случае успешного создания, будет расположен в директории workspace/.

Вы также можете Извлечь Teleport Слепок и отправить в любой валидный поток назначения (push) используя следующую команду:

shell
php teleport.phar --action=Extract --profile=profile/mysite.profile.json --tpl=phar://teleport.phar/tpl/develop.tpl.json --target=s3://mybucket/snapshots/ --push

В любом случае, абсолютный путь к Слепку возвращается в процессе в качестве результата выполнения команды. Вы можете использовать этот путь в качестве источника для Инъекции.

Внимание

Копия workspace удаляется, после отправки в поток назначения (push) если только вы не укажете ключ --preserveWorkspace в качестве параметра CLI консольной команды.

Читайте подробнее о действии Teleport Извлечения.

Инъекция Слепка в сайт MODX

Вы можете выполнить Инъекцию Teleport Слепка из любого валидного потокового источника в сайт MODX используя следующую команду:

shell
php teleport.phar --action=Inject --profile=profile/mysite.profile.json --source=workspace/mysite_develop-120315.1106.30-2.2.1-dev.transport.zip

Внимание

Если Источник не находится в директории workspace/ копия будет вытянута (pull) в неё и затем удалена по окончанию операции инъекции если только вы не укажете ключ --preserveWorkspace.*

Читайте подробнее о действии Teleport Инъекции.

Создание Пользователя

Вы можете создать пользователя в профилированном сайте MODX используя следующую команду:

shell
php teleport.phar --action=UserCreate --profile=profile/mysite.profile.json --username=superuser --password=password --sudo --active --fullname="Test User" --email=testuser@example.com

Внимание

Она использует процессор security/user/create сайта в указанном профиле для создания пользователя, и действие принимает все параметры, которые принимает данный процессор.*

Читайте подробнее о действии Teleport Создание Пользователя.

Как Начать

Как Начать использовать Teleport читайте подробнее.

Лицензия

Teleport is Copyright (c) MODX, LLC

Для полной информации об авторском праве и лицензии смотрите "LICENSE" файл, который распространяется с этим кодом.