Hi John,

I've run into the exact same problem with Capistrano 2.4.3.  Without
"set :use_sudo, false" Capistrano creates all files and directories
owned by the root user. This is causes major issues with running "cap
deploy" because a normal user can't svn export to these folders and
all "cap deploy" commands will fail with permissions errors.

Also I've noticed that Capistrano will try to use && and parenthesis
to run both the svn export and a echo command to create the REVISIONS
file like this:

command "svn checkout -q  -r20 https://svn.mysite.com/repos/trunk/ /
home/site/releases/20080824041856 && (echo 20 > /home/site/releases/
20080824041856/REVISION)"

This will NOT work even if capistrano is appending sudo in front of
"svn checkout" because everything after && will be executed as the
normal user, causing the command to fail. (Just try running "sudo
whoami && whoami").

Additionally, this could be a security issue with users running their
sites on mod_rails (Passenger). I believe mod_passenger will run spawn
rails processes as whatever user owns "environment.rb" (which in this
case would be root). I bet (hope) there are checks in mod_rails to
prevent this, but in any case the rails processes probably won't be
run as the correct user.

Capistrano seems to work fine with "set :use_sudo, false". To fix
this, I deleted everything (files/directories) created by capistrano
and then "set :use_sudo, false" in deploy.rb and re-ran "cap
deploy:setup" and "cap deploy:cold".

Hope that helps someone. Probably should add this to the documentation
because I bet many users will have the same problem.

-Andrew Fiedler

On Aug 19, 11:58 am, JDS <[EMAIL PROTECTED]> wrote:
> This is my first run through with Capistrano (v2.4.3) , so I've
> followed the instructions (in "Deploying Rails Applications") and It
> Doesn't Work (tm).
>
> What's killing me is that "cap deploy:setup" creates the basic
> directory structure using sudo, but then when I "cap deploy" it
> doesn't bother with sudo and hence errors out saying "can't create the
> directory". I get the same problem whether I use the default /u/apps/
> #{application} or /home/#{user}/someplace-else.
>
> There's an earlier thread mentioning the same problem, and the given
> solution is to add "set use_sudo, :false"  to deploy.rb
>
> Which is fine if it works, but if you can never get anything to work
> without this setting why is use_sudo defaulting to :true?
>
> Either things have evolved since the instructions in "Deploying Rails
> Applications" was printed or I'm missing something extremely obvious.
>
> My setup is;-
>
> Client server, used for development, and hosting svn. SSH to local
> network staging server with a different username and password. If I
> manually SSH to the staging server then I can svn export the bits I
> need perfectly OK.
>
> So I know the only problem is the permissions set up on the root
> directories created by "cap deploy:setup". Should I edit the
> permissions? If I have to edit them then why are they set up the way
> they are? Why can't I just do "cap deploy:setup" followed by "cap
> deploy"?
>
> All comments appreciated
>
> John Small

--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to