【问题标题】:Drupal multi-site to single-site go-liveDrupal 多站点到单站点上线
【发布时间】:2011-09-06 05:11:52
【问题描述】:

我有一位同事要求我提供一个包含整个 Drupal 站点的 tarball,他们可以将其放到他们的服务器上,除了连接数据库之外无需进行任何配置。

据我所知这是不可能的。

为了使问题进一步复杂化,该站点目前是作为多站点安装开发的,而同事需要将其作为单站点安装提供。这是我做过无数次的转换,但我总是在目标环境中完成这个过程,因为 Drupal 多站点需要一个指向它们的适当域才能运行。如果不先在该环境中进行实际测试,我无法确认该站点是否可以在新位置运行,因此我认为我无法满足此要求。

我错过了什么吗?这真的可以实现吗?

【问题讨论】:

    标签: drupal dev-to-production


    【解决方案1】:

    我不明白为什么这是不可能的。

    关于安装的下降,只要您包含 settings.php 文件和他们导入的数据库的副本,只要他们的网络服务器配置正确(例如漂亮的 URL),这就是他们所需要的一切之类的)。当然,在执行此操作时需要考虑一些因素,您需要确保数据库连接路径是相对于 localhost 完成的(或者他们拥有它),并且当您将其打包在一起时,您需要设置正确的权限对于目标机器,否则,移动 drupal 安装实际上并没有那么困难,而且可以那么简单。

    根据他们想要的“插入”方式,您可以编写一个小脚本来自动化和验证安装。让脚本导入数据库的副本,重做目标主机上文件的权限和所有者,然后重新加载 apache。

    就多站点到单站点而言,我只需在沙箱中进行转换,然后在 /etc/hosts 中设置您需要的域(如 here 所示)。这将很好地模拟目标域,您可以在发送之前确保安装工作正常。

    希望对您有所帮助。

    【讨论】:

    • 我想,我匆忙中遗漏了一些信息。网址正在更改。该站点是在开发服务器上构建的,因此域例如是 foo.development.com。目标是客户端的域 example.com。 Drupal 将目录路径写入数据库。因此它将在无数地方寻找位于 foo.development.com 的文件。目的地还需要单站点安装,因此路径为“默认”。通常我只是更新数据库中的路径,一切正常。但我无法做到这一点,并且在压缩网站之前仍然确认一切正常。
    • 将域名放入 /etc/hosts 的方法在这里仍然有效,您只需将其添加到您正在从您连接的任何客户端计算机运行 drupal 的任何开发服务器。使用这种方法,就您的客户端和服务器而言,这就是新域的位置,您可以进行所需的所有测试。
    猜你喜欢
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多