1

よりプロフェッショナルな WordPress 開発および展開環境を追求するために、Capistrano を使用してローカル開発環境からステージング サーバーおよび運用サーバーに展開しようとしていますが、うまく動作させることができません。

私は Site5 共有ホスティングを使用しており、2 つの異なるドメイン (staging.example.com と example.com) を持つ 1 つのサーバーにデプロイしています。

https://github.com/markjaquith/WP-Stackをベースとして使用し、追加しました

set :user, "myserveruser"それなしでは接続が機能しなかったため、config.rbファイルに。

実行すると、「必要なすべての依存関係がインストールされているcap deploy:checkようです」と表示されcap deploy:setupステージングおよび本番環境に正常に接続して、リリース共有ディレクトリなど を作成できます。

を実行すると問題が発生しますcap deploy。sudo パスワードの入力を求めるプロンプトが表示されるまで、すべてが正常に機能するように見えます。ただし、これは通常のログイン プロンプトではなく、パスワードを入力することはできません。私は共有ホストにいるので、とにかくsudoアクセスがありません。

UbuntuボックスへのSUDOパスワードの入力を求めるときにCapistranoがハングするこの問題に似ていますが、解決策はすべての問題を解決しませんでした。

必要なシームを設定default_run_options[:pty] = trueしましたが、それでもsudoプロンプトが表示されます。

私はパスワードなしの ssh を使用しているため、Capistrano はパスワードを要求することなく接続して必要なすべてのことを実行できます。また、SSH 構成ファイルを使用してエージェントの転送を処理しているため、サーバーも私の git リポジトリに接続できます。これが機能していることを確認しました。

私は他の人が同様の問題を抱えていることを発見しました -カピストラーノは "set :use_sudo, false" でも sudo を使用しています- などですが、解決策はどれもうまくいきませんでした。

私は使用default_run_options[:pty] = trueしていますが、使用しようとしset :use_sudo, falseましdefault_run_options[:shell] = falseたが、まだ同じ問題があります。

私のターミナル出力はここで見ることができます - http://pastebin.com/5xZmCnyA

私は真剣に狂っています!どんな助けでも大歓迎です!!!

乾杯

4

3 に答える 3

2

がないとセットアップを実行できませんsudo。あなたの場合、 directory を作成するため、それが sudo を必要とする唯一の部分public_html/staging.exposecreative.orgです...

その手順は必要ありません。そのディレクトリは自分で作成できます (権限があると仮定します)。

ただし、直面する問題は、共有ホストがあなたindex.phpが直接にいることを期待することです。それが機能するには、共有ホストがpublic_html許可しないディレクトリへの書き込み許可が必要ですpublic_html(ほぼ確実に)

この行default_run_options[:pty] = trueは、Capistrano がインタラクティブ シェルのふりをするかどうかに関係しています。多くのコマンド (sudo を含む) は、これを使用して、ユーザーに入力を求める必要があるかどうか、または自動化されたプロセスの一部であるかどうかを判断します (この場合、入力を求める方法はありません)。

私のアドバイス (Capistrano メンテナーとして) - 共有ホストでこれを試さないでください。ほぼ確実に機能しません。(申し訳ありませんが、私たちのものではなく、彼らの制限です)

于 2012-09-17T17:36:17.940 に答える