【问题标题】:Silverstripe - setting up a local copy of an existing siteSilverstripe - 设置现有站点的本地副本
【发布时间】:2016-03-07 05:41:47
【问题描述】:

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

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

所以我的问题如下:如何在我的 Ubuntu 计算机上获取包含所有 silverstripe 模块/主题等的网站的本地工作副本,并且可以像在线一样对其进行编辑?

我认为必须有一个教程,但我找不到适合我的东西。

如果这不是建议的工作流程(现在下载网站,在我的计算机上安装有效的 silverstripe 进行离线更改,再次上传所有内容)然后请告诉我如何正确完成。

【问题讨论】:

    标签: ubuntu ftp web-hosting silverstripe


    【解决方案1】:

    您可以通过多种方式获得在本地工作的 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 通常是一个不错的选择。

    【讨论】:

    • 请详细说明,我的预期工作流程是否正确,通常的方式,根本没有用或其他什么......
    • 你在说什么工作流程?整个开发堆栈?管理主题?使用主题管理项目存储库?这不是一个很明确的问题。 @Merlin1896
    • 我的意思是按原样下载网站,离线进行所有修改,然后通过 ftp 再次上传所有内容。在我将 silverstripe 下载到我的 Ubuntu 计算机后,我如何获得现在的网站?只需将文件夹复制粘贴到我的本地安装?
    • @Merlin1896 如果只是您要更改的主题,您可以移动主题目录,如果网站有自定义数据模型和控制器,您还需要复制这些内容,您还需要注意您使用的版本与在线版本。
    • @Merlin1896 认真观看课程,您将学到很多关于下一步应该做什么的知识。
    【解决方案2】:

    更高级的工作流程是:

    • 使用composer 安装 SilverStripe 和所有模块(它会自动为您安装所有模块依赖项!虽然这是一个陡峭的学习过程,但一旦解决了第一个冲突,您就会爱上它)
    • composer.jsoncomposer.lockmysite/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

    【讨论】:

      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多