2014-06-28 17 views
13

Wenn ich cap production deploy laufen lasse, erhalte ich cannot create directory ‘/var/www/application/repo’: Permission denied.Capistrano mkdir Erlaubnis verweigert

Bisher habe ich erstellt deploy Benutzer wie:

adduser deploy 
adduser deploy sudo 

und ich verwende diesen Benutzer in Capistrano.

In der Tat, wenn ich auf [email protected] loggen habe ich keine Berechtigung sudo standardmäßig, jedes Mal muss ich es explizit wie sudo su aktivieren.

Ich sehe zwei mögliche Lösungen:

  1. sudo aktivieren in Capistrano
  2. sudo aktivieren in Ubuntu

Leider, wie ich weiß nicht, keiner von ihnen zu tun.

Antwort

25

Standardmäßig aktiviert Capistrano 3 /var/www, die nicht durch deploy Benutzer beschreibbar ist. Sie müssen die Eigentümerschaft von /var/www zu deploy Benutzer mit dem folgenden Befehl ändern.

sudo chown deploy:deploy /var/www/ 

Danach sollten Sie in der Lage sein, Ihre App ohne Erlaubnis Fehler zu implementieren.

+4

Wenn jemand Amazon EC2 verwendet '' 'sudo chown ec2-Benutzer: ec2-user/var/www /' '' – marman

+0

Sie müssen höchstwahrscheinlich -R verwenden, damit alle Unterverzeichnisse dem deploy-Benutzer gehören: 'sudo chown -R Bereitstellung: deploy/var/www /' –

Verwandte Themen