7

deploy-file で、グループを www-data に設定しました。

set :user,            "root"
set :group,           "www-data"

したがって、cap:setup を使用する場合、capistrano が root:www-data でフォルダーを chown することを期待していました

ただし、すべてのフォルダーとファイルは root:root です。

この問題が発生する可能性のあるアイデアはありますか?

情報: system-wide-rvm を使用しています。

4

3 に答える 3

9

私の理解では、手動で行う必要があります。セットアップは、ユーザーを使用してログインすることであり、ディレクトリへの権限を設定することではありません。

カピストラーノのグループ設定が見つかりませんでした。拡張機能を使用していたのでしょうか?

それを変更するためにできることは次のとおりです。

after "deploy:setup", :setup_group
task :setup_group do
  run "chown -R :#{group} #{deploy_to} && chmod -R g+s #{deploy_to}"
end

@Julianがコメントで述べているように、このタスクには別のユーザーを使用し、彼のグループを適切なグループに設定することをお勧めします。その後、上記のタスクは必要なく、自動的に機能します。

于 2012-06-24T23:55:03.350 に答える
2

ただ口を挟むだけです:カピストラーノのソースコードには :group についての言及はまったくありません。カーゴカルトのオプションだと思います。また、:user オプションは SSH 接続にのみ使用されます。

あなたの質問に関しては、Capistrano が作成するディレクトリとファイルはデフォルトのパーミッションで作成されますchown。として展開している場合root、それらは に属しroot:rootます。

于 2012-09-01T21:24:12.963 に答える
2

問題を修正するよりも、最初から問題を抱えていない方がよい:

  1. まず、デプロイする別のユーザーを作成します ( Julien が示唆するように)。
    私たちが彼を呼ぶとしましょうdeployer
  2. 次に、彼を SSH 接続に使用します
    set :user, 'deployer'
  3. 最後に、 を使用したくないsudoので、 に追加してオフに
    set :use_sudo, false
    しますdeploy.rb
于 2013-03-05T00:55:43.193 に答える