Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Capistrano mkdir permission denied

When I run cap production deploy I get cannot create directory ‘/var/www/application/repo’: Permission denied.

So far I've created deploy user like:

adduser deploy
adduser deploy sudo

and I use this user in Capistrano.

Indeed, when I log to [email protected] I don't have sudo permission by default, every time I need to enable it explicitly like sudo su.

I see two possible solutions:

  1. Enable sudo in Capistrano
  2. Enable sudo in Ubuntu

Unfortunately I don't know how to do neither of them.

like image 306
Kamil Lelonek Avatar asked Jun 28 '14 20:06

Kamil Lelonek


2 Answers

By default Capistrano 3 deploys to /var/www which is not writable by deploy user. You need to change the ownership of /var/www to deploy user using the following command.

sudo chown deploy:deploy /var/www/

After this, you should be able to deploy your app without permission error.

like image 82
shankardevy Avatar answered Oct 28 '22 18:10

shankardevy


Credit to Bob Roberts.

I think this should be an answer as its easy to miss your comment. I know I missed it few times.

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

or whatever your username is

sudo chown -R username:username /var/www/
like image 38
Abdullah Aden Avatar answered Oct 28 '22 17:10

Abdullah Aden