2013-12-16 8 views
5

を否定し、私はCapistrano3がset use_sudodefault_run_optionsを持っていないmkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission deniedはCapistrano3がMKDIRを行う場合は、許可が

のようなエラーメッセージを得ました。私はパスワードレスのsudoが良いと読むので、私はvisudo username ALL=NOPASSWD:ALLをやったが、それでも私は同じエラーがある。

set :application, 'appname.com' 
set :repo_url, '[email protected]:user/myapp.git' 
set :user, 'username' 
set :branch, 'master' 


set :deploy_to, '/usr/share/nginx/www/appname' 
set :keep_releases, 5 

namespace :deploy do 

desc 'Restart application' 
task :restart do 
    on roles(:app), in: :sequence, wait: 5 do 
    end 
end 

after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
    end 
end 

after :finishing, 'deploy:cleanup' 

end 

誰も私にこの問題について助言してくれますか? ありがとうございます。

+0

でなければなりません

chown deployer:www-data -R /usr/share/nginx/www/appname

appnameフォルダのグループと所有者を設定してみてください、あなたをしました'cap production deploy:setup'を先に実行しますか?すべての親ディレクトリは存在しますか? – iltempo

+0

Capistrano3は 'cap production deploy:setup'を持っていないようです。しかし、私は 'cap production deploy:check'を行い、親ディレクトリがすべて存在することを確認しました。 –

+0

@YukiIshikawaそしてすべての権限が正しいですか? 'username'として、自分でそのディレクトリを作成することはできますか? –

答えて

5

デプロイヤはあなたの展開のユーザーとグループは、ユーザー・グループ

0

である場合それは

chown username:groupname -R /path/to/project 
関連する問題