2014-06-28 285 views
13

當我運行cap production deploy時,我得到cannot create directory ‘/var/www/application/repo’: Permission deniedCapistrano mkdir權限被拒絕

像到目前爲止,我已經創建了部署用戶:

adduser deploy 
adduser deploy sudo 

,我用這個用戶Capistrano的。

事實上,當我登錄到[email protected]時,默認情況下我沒有sudo權限,每次我需要明確地啓用它時,如sudo su

我看到了兩個可能的解決方案:

  1. 在Capistrano的啓用須藤
  2. 在Ubuntu

啓用須藤不幸的是,我不知道該怎麼做都沒有。

回答

25

默認情況下,Capistrano 3部署到/var/www,這是用戶不能寫入的。您需要使用以下命令將/var/www的所有權更改爲deploy用戶。

sudo chown deploy:deploy /var/www/ 

之後,您應該能夠部署您的應用程序沒有權限錯誤。

+4

如果有人使用亞馬遜EC2'''sudo chown ec2 -user:ec2-user/var/www /''' – marman

+0

您很可能需要使用-R,以便所有子目錄都由部署用戶擁有: 'sudo chown -R deploy:deploy/var/www /' –