2014-06-28 24 views
13

cap production deploy çalıştırdığımda cannot create directory ‘/var/www/application/repo’: Permission denied elde ederim.Capistrano mkdir izninin reddedildi

Bugüne kadar oluşturduğum dağıtma gibi kullanıcı:

adduser deploy 
adduser deploy sudo 

ve ben Capistrano'nun bu kullanıcıyı kullanın.

Gerçekten, [email protected] ile oturum açtığımda, sudo varsayılan olarak izni yok, her zaman sudo su gibi onu etkinleştirmek için gereken her zaman. Ne yazık ki ikisi de nasıl yapılacağını bilmiyorum

Ubuntu yılında sudo etkinleştirme Capistrano sudo etkinleştirin:

iki olası çözümler görüyoruz.

cevap

25

Varsayılan olarak Capistrano 3, deploy kullanıcı tarafından yazılabilir olmayan /var/www'a dağıtılır. Aşağıdaki komutu kullanarak /var/www'un sahipliğini deploy kullanıcısına değiştirmeniz gerekir.

sudo chown deploy:deploy /var/www/ 

Bundan sonra, uygulamanızı izin hatası olmadan dağıtmanız gerekir.

+4

Birisi Amazon EC2 '' 'sudo chown ec2 kullanıcısını kullanıyorsa: ec2-user/var/www /' '' – marman

+0

Büyük olasılıkla -R'yi kullanmanız gerekir, böylece tüm alt dizinler kullanıcı tarafından dağıtılır: 'Sudo chown -R konuşlandırma: konuş/var/www /' –