Silverstripe - 设置现有站点的本地副本

Silverstripe - setting up a local copy of an existing site

我是 silverstripe 和网站托管的新手,我想我不明白工作流程是什么。情况如下:有一个网站 http://foo.com 使用了 silverstripe。它已经安装并添加了一些内容。但是,我现在负责将设计从标准 simple 主题更改为自定义主题。

由于这需要一些测试和尝试,我当然不想在线进行所有更改。我可以 ftp 访问该网站,并且可以更改那里的所有文件(耶!)。但我认为拥有网站的本地副本最有用,在我的离线版本上进行所有更改,然后将最终的新版本上传到网络托管商(通过 ftp)。

所以我的问题如下:如何将带有所有 silverstripe modules/themes 等的网站的本地工作副本复制到我的 Ubuntu 计算机上并像原来一样进行编辑在线的?

我以为一定有这方面的教程,但找不到适合我的教程。

如果这不是建议的工作流程(立即下载网站,在我的计算机上安装一个有效的 silverstripe 进行离线更改,重新上传所有内容)那么请告诉我如何正确完成。

您可以通过多种方式获取在本地运行的 Silverstripe 副本。

本地设置:

  1. Web 服务器 - Silverstripe 更喜欢 apache
  2. 一个数据库

您可以在此处下载 silverstripe 的副本: http://www.silverstripe.org/download/

下载 Silverstripe 后,编辑框架中包含的所有内容。主题(您要修改的)位于 /themes/ 目录中,您使用新主题的名称创建一个新目录,这就是您创建新主题的方式。要切换主题,您可以在配置文件中执行此操作。

https://docs.silverstripe.org/en/3.2/developer_guides/templates/themes/

我建议您遵循 Silverstripes 教程和课程。尽管教程已弃用,但它们仍然有一些有用的信息,请记住它们并不总是最新的。

https://docs.silverstripe.org/en/3.2/tutorials/

http://www.silverstripe.org/learn/lessons

项目工作流程:

您询问了如何管理本地副本和在线副本之间的更改。

这取决于您的整体开发设置,您可以通过多种方式实现。

  1. FTP - 当您对本地的更改感到满意时上传所有内容。

  2. 版本控制 - 使用 .git 管理您的存储库,然后在您推送更改时使用服务器上的脚本提取存储库

  3. SSH - 远程登录您的服务器并在线编辑您的文件。

这些中的任何一个都可以,但它们是您的偏好。我建议对存储库路径做更多的研究,因为它通常在未来成为最快的,但是如果你想要快速而肮脏的东西,FTP 通常是一个不错的选择。

更高级的工作流程是:

  • 使用 composer 安装 SilverStripe 和所有模块(它会自动为您安装所有模块依赖项!虽然这是一个陡峭的学习过程,但一旦您解决了第一个冲突,您就会爱上它)
  • composer.json, composer.lock, mysite/assets/ 目录(无资产)、themes/ 以及 git 存储库中的所有项目特定文件
  • 定期将您的更改提交到 vcs (git)

要在服务器上获取站点,有两种可能性:

  • 在服务器上使用 git 克隆/拉取您的存储库以获取您的文件和更改,并使用 composer install --no-dev -o 安装所有模块。不要忘记 运行 dev/build?flush 以清除清单缓存并将模型更改存入数据库。
  • 如果您在服务器上没有 git 访问权限,请在开发机器上结帐(没有像 phpUnit 这样的开发专用模块)并使用 git 将所有内容放在服务器上。还有一些服务,如 ftploy,使用 ftp 从 git 部署(但我个人还没有使用过此服务)。通过 ftp 将更改/更改的模块推送到生产是一个主要的痛苦...

另请参阅:Silverstripe getting started docs