【问题标题】:How to deploy WordPress with Capistrano on shared host without sudo如何在没有 sudo 的共享主机上使用 Capistrano 部署 WordPress
【发布时间】:2012-09-14 08:05:06
【问题描述】:

为了追求更专业的 WordPress 开发和部署环境,我正在尝试使用 Capistrano 从我的本地开发环境部署到登台和生产服务器,但我不能完全让它工作。

我在 Site5 共享主机上,并且正在部署到具有两个不同域的一台服务器 - staging.example.com 和 example.com。

我以https://github.com/markjaquith/WP-Stack为基础,添加了

set :user, "myserveruser" 到我的 config.rb 文件,因为没有它,连接就无法工作。

运行cap deploy:check告诉我“你似乎已经安装了所有必要的依赖项”,我可以运行cap deploy:setup,它成功连接到登台和生产创建发布共享目录等。

当我运行cap deploy 时,问题就来了。在提示我输入 sudo 密码之前,一切都可以正常工作。这不是一个正常的登录提示,但不允许我输入密码。因为我在共享主机上,所以无论如何我都没有 sudo 访问权限。

它类似于这个问题Capistrano is hanging when prompting for SUDO password to an Ubuntu box,但解决方案并没有解决我的所有问题。

我已经设置了default_run_options[:pty] = true,这是我需要的,但仍然得到 sudo 提示符。

我正在使用无密码 ssh,因此 Capistrano 能够连接并执行所需的所有操作,而无需提示输入密码,并且我还使用 SSH 配置文件来处理代理转发,因此服务器也可以连接到我的 git 存储库。我已经确认这是有效的。

我发现其他人也有类似的问题 - Capistrano using sudo even with "set :use_sudo, false" - 等等,但没有一个解决方案有效。

我正在使用 default_run_options[:pty] = true 并尝试使用 set :use_sudo, falsedefault_run_options[:shell] = false 但我仍然遇到同样的问题。

你可以在这里查看我的终端输出 - http://pastebin.com/5xZmCnyA

我真的要疯了!任何帮助将不胜感激!!!

干杯

【问题讨论】:

    标签: wordpress capistrano sudo


    【解决方案1】:

    没有sudo,您将无法运行安装程序。这是唯一需要 sudo 的部分,因为它会创建一个目录 public_html/staging.exposecreative.org,在您的情况下...

    该步骤不应该是必需的,您可以自己创建该目录(假设您有权限)..

    然而,您将面临的问题是共享主机会期望您的 index.php 直接位于 public_html 中,为此您需要对您共享的 public_html 所在的任何目录的写入权限主机不允许(几乎可以肯定)

    default_run_options[:pty] = true 行与 Capistrano 是否伪装成交互式外壳有关。许多命令(包括 sudo)使用它来确定它们是否应该打扰用户输入,或者它们是否是自动化过程的一部分( 在这种情况下,没有办法要求输入)

    我的建议(作为 Capistrano 维护者) - 不要在共享主机上尝试这个,它几乎肯定不会起作用。 (对不起,他们的限制,不是我们的)

    【讨论】:

      【解决方案2】:

      我在how to deploy WordPress with Capistrano on a shared host (Bluehost) 上写了一篇长文。我使用 Roots/Bedrock 堆栈,只用了大约 20 分钟即可启动和运行。

      【讨论】:

        【解决方案3】:

        我使用 Shipit JS 而不是 Capistrano 制作了一个 WordPress 开发堆栈,因为我对 Ruby 不满意。也许这会有所帮助。随意使用它和/或在需要时发布一些问题。问候。

        WP-Jungle / Bonzai

        【讨论】:

          猜你喜欢
          • 2011-07-16
          • 2016-06-07
          • 2019-09-30
          • 1970-01-01
          • 1970-01-01
          • 2020-11-29
          • 2014-11-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多