La permission de Capistrano mkdir a été refusée

Lorsque je lance un cap production deploy je cannot create directory '/var/www/application/repo': Permission denied parviens cannot create directory '/var/www/application/repo': Permission denied .

Jusqu’à présent, j’ai créé un utilisateur de déploiement comme:

 adduser deploy adduser deploy sudo 

et j’utilise cet utilisateur à Capistrano.

En effet, lorsque je me connecte à deploy@my.vps.ip je n’ai pas la permission sudo par défaut, chaque fois que je dois l’activer explicitement comme sudo su .

Je vois deux solutions possibles:

  1. Activer sudo dans Capistrano
  2. Activer sudo dans Ubuntu

Malheureusement, je ne sais pas comment faire ni l’un ni l’autre.

Par défaut, Capistrano 3 se déploie sur /var/www qui n’est pas accessible en écriture pour les utilisateurs de deploy . Vous devez changer la propriété de /var/www pour deploy utilisateur à l’aide de la commande suivante.

 sudo chown deploy:deploy /var/www/ 

Après cela, vous devriez pouvoir déployer votre application sans erreur de permission.

Crédit à Bob Roberts.

Je pense que cela devrait être une réponse car il est facile de rater votre commentaire. Je sais que je l’ai manqué quelques fois.

 sudo chown -R deploy:deploy /var/www/ 

ou quel que soit votre nom d’utilisateur

 sudo chown -R username:username /var/www/