modxcms/teleport

MODX Revolution的可扩展脚本和打包工具包

v2.0.4 2023-05-12 20:37 UTC

README

Teleport是一个可扩展的脚本工具包,用于与一个或多个本地的MODX Revolution安装一起工作。

Teleport目前主要作为一个打包工具包,扩展了MODX Transport APIs,并提供了解压和注入可定制快照的命令。但它可以轻松扩展以执行与MODX相关的无限多种操作。

MODX Revolution 3.x

请使用2.x分支和版本来支持MODX 3.x。

需求

为了使用Teleport,您的环境至少需要满足以下要求

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

您还必须能够使用CLI SAPI运行PHP。

注意:目前,各种Teleport Extract tpls仅支持MODX Revolution的MySQL部署。

在具有PHP posix扩展的Linux环境中使用可以充分利用高级用户切换功能。

Teleport力求成为一个多平台工具,目前Linux和OS X环境中的表现同样出色。目前Windows支持尚不明确;欢迎Windows贡献者。

安装

安装Teleport有多种方法。开始使用最简单的方法是安装Teleport Phar发行版。

重要:使用任何安装方法,请确保您以与Web服务器执行PHP相同的用户身份运行Teleport。否则可能会通过注入和/或缓存文件来损坏您的MODX网站。

下载并安装Phar

为Teleport创建一个工作目录并切换到该目录,例如

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

将Teleport的最新teleport.phar发行版下载到您的Teleport工作目录中。

为MODX网站创建一个配置文件

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

从您刚刚配置的MODX网站中提取快照

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

其他安装方法

另外,您可以使用源代码和Composer来安装Teleport。有关使用git clone发布存档的更多信息。

重要:如果您想使用Teleport HTTP服务器,则不能使用Phar发行版。您必须使用其他安装方法之一。

Teleport在PATH中

使用任何安装方法,您都可以创建一个指向bin/teleport的可执行符号链接,或直接指向teleport.phar。然后您可以简单地键入teleport而不是bin/teleportphp teleport.phar来执行Teleport应用程序。

基本用法

在以下所有用法示例中,根据您安装应用程序的方式调用teleport。例如,如果您从源安装,请将bin/teleport替换为php teleport.phar;如果您已创建指向teleport.phar的可执行符号链接,请将teleport替换为php teleport.phar中的示例命令。以下示例假设您已安装teleport.phar发行版。

注意:在将Teleport与MODX网站一起使用之前,您需要从安装的网站中创建一个Teleport配置文件

创建 MODX 站点配置文件

您可以使用以下命令创建现有 MODX 站点的 Teleport 配置文件:

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

生成的文件将位于 profile/mysite.profile.json,然后可以用于 Extract 或 Inject 命令,以针对配置文件中表示的站点执行。

了解更多关于 Teleport 配置文件 的信息。

提取 MODX 站点的快照

您可以使用以下命令从 MODX 站点提取 Teleport 快照:

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

如果成功创建,快照将位于 workspace/ 目录。

您还可以使用以下命令提取 Teleport 快照并将其推送到任何有效的流目标:

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

在任何情况下,过程都会返回快照的绝对路径作为最终输出。您可以使用此路径作为 Inject 源的路径。

注意:如果未传递 --preserveWorkspace 到 CLI 命令,则工作区副本将在推送后被删除。

了解更多关于 Teleport 提取 动作的信息。

将快照注入到 MODX 站点

您可以使用以下命令将来自任何有效流源的 Teleport 快照注入到 MODX 站点:

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

注意:如果源不在 workspace/ 目录中,则会将副本拉到该位置,然后在 Inject 完成后删除,除非传递了 --preserveWorkspace。

了解更多关于 Teleport 注入 动作的信息。

UserCreate

您可以使用以下命令在配置文件化的 MODX 站点中创建用户:

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 UserCreate 动作的信息。

入门指南

文档 中了解更多关于 Teleport 的信息。

许可证

Teleport 版权所有(c)MODX, LLC

有关完整的版权和许可信息,请查看与源代码一起分发的 LICENSE 文件。