modxcms / teleport
MODX Revolution的可扩展脚本和打包工具包
Requires
- php: >=7.0
- ext-json: *
- ext-pdo: *
- react/child-process: ^0.4
- react/event-loop: ^0.4
- react/http: ^0.4
- react/promise: ^2.1
- symfony/filesystem: ^2.4.0
- symfony/finder: ^2.2.0
Requires (Dev)
- symfony/process: ^2.1
Suggests
- ext-ev: It is critical to have this or ext-libevent if you plan to use the server or endpoint listener.
- ext-libevent: It is critical to have this or ext-ev if you plan to use the server or endpoint listener.
- ext-posix: If running teleport from a user different from the php process, it will need to switch to that user.
- aws/aws-sdk-php: Require this with ^2.0 version constraint to enable registration of an S3 stream wrapper.
This package is auto-updated.
Last update: 2024-09-12 23:32:58 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/teleport
或php 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 文件。