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

时间:2015-12-02 20:01:14

标签: ubuntu ftp web-hosting silverstripe

我是silverstripe和webhosting的新手,我想我不明白工作流程是什么。情况如下:有一个使用silverstripe的网站http://foo.com。它已经安装并添加了一些内容。但是,我现在负责将设计从标准public function get_likes($id, $commento){ $idComm = 0; $idRisp = 0; $retVal = ($commento) ? $idComm = $id : $idRisp = $id; if ($idComm != 0){ $query = "SELECT commento, (SELECT COUNT(*) FROM likes WHERE commento = {$idComm}) AS like_count FROM likes"; } elseif($idRisp != 0){ $query = "SELECT risposta, (SELECT COUNT(*) FROM likes WHERE risposta = {$idRisp}) AS like_count FROM likes"; } $trovaQuanti = mysqli_query($_SESSION['connessione'], $query); $trovaDavveroQuanti = mysqli_fetch_assoc($trovaQuanti); if ($trovaDavveroQuanti == null) { return '0'; } return $trovaDavveroQuanti['like_count']; } 主题更改为自定义主题。

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

所以我的问题如下:我如何获得具有所有silverstripe模块/主题等的网站的本地工作副本到我的Ubuntu计算机并且可以像在线一样编辑它?

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

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

2 个答案:

答案 0 :(得分:5)

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

本地设置:

  1. Web服务器 - Silverstripe更喜欢apache
  2. 数据库
  3. 您可以在此处下载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 - 远程登录服务器并在线编辑文件。

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

答案 1 :(得分:2)

更高级的工作流程是:

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

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

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

另请参阅:Silverstripe getting started docs