Andrew, Thanks for you reply. I followed your instructions. The ** [out :: delugeventures.com] <the_user_you_are_logged_in_as from whoami> part shows the user on the set_user line correctly. I then ssh connected to my server and did "mkdir <folder_that_cap_is_trying_to_create>" and permissions failed. I did "sudo mkdir <folder_that_cap_is_trying_to_create>" and entered my passwrd and the folder got created.
Now how do I effect this in my deploy.rb? This is my deploy.rb now. ****************************************** set :application, "ahref.in" set :user, "<server_username>" set :repository, "[email protected]:<gitusername>/ahref.in.git" set :branch, "master" set :port, <port_number> default_run_options[:pty] = true set :scm_verbose, true ssh_options[:username] = user ssh_options[:verbose] = :debug set :use_sudo, true set :deploy_to, "/home/#{user}/public_html/#{application}" set :scm, :git set :deploy_via, :remote_cache set :runner, user role :app, application role :web, application role :db, application, :primary => true task :before_update_code, :roles => :app do run "whoami" end ****************************************** I assumed "set :use_sudo, true" will use sudo on all commands on the server and ask me for the server password. But it still fails. FYI ************** cap deploy o/p ** [ahref.in :: out] fatal: could not create work tree dir '/home/ <username>/public_html/ahref.in/shared/cached-copy'. ************** cap deploy:check o/p The following dependencies failed. Please check them and try again: --> You do not have permissions to write to `/home/<username>/ public_html/ahref.in'. (<server_name>) --> You do not have permissions to write to `/home/<username>/ public_html/ahref.in/releases'. (<server_name>) --> `/home/<username>/public_html/ahref.in/shared' is not writable (<server_name>) ************** On 12 Feb, 20:35, Andrew Fiedler <[email protected]> wrote: > Ram, > > Are you trying to set up SSH with public/private keys so you don't > need to type a password? I'm not really sure how to get that working > but I have capistrano working fine with basic password authentication. > To help you debug, try adding to your deploy.rb in the > "namespace :deploy do" section this: > > task :before_update_code, :roles => :app do > run "whoami" > end > > When you run cap deploy, you should get something like: > * executing "whoami" > servers: ["yourserver.com"] > Password: <you type password here> > [yourserver.com] executing command > ** [out :: delugeventures.com] <the_user_you_are_logged_in_as from > whoami> > > which should be the user on your "set :user" line. Then I'd manually > ssh to your server as that user and try to create the directories > manually that are failing on your mkdir lines below to debug the > permissions issues. > > Hope that helps, > Andrew > > On Feb 12, 5:27 am, Ram <[email protected]> wrote: > > > OK, ive been making progress with diagnosing this. Posting my updates. > > Hope someone knows the fix. > > First off, im using 2 DIFFERENT ssh public keys for my Slicehost > > server and for the github server. > > And on the Slicehost server, although it does not ask for my password > > when I ssh connect, it DOES require my password for creating > > directories/files. > > > My deploy.rb looks like this right now. > > set :application, "ahref.in" > > set :user, "<slicehost_server_username_with_write_permissions>" > > set :repository, "[email protected]:<gitusername>/ahref.in.git" > > set :branch, "master" > > set :port, <port_number> > > default_run_options[:pty] = true > > set :scm_verbose, true > > ssh_options[:username] = user > > ssh_options[:verbose] = :debug > > #set :run_method, :run > > #set :ssh_options, { :forward_agent => true } > > set :use_sudo, false > > set :deploy_to, "/home/#{user}/public_html/#{application}" > > > set :scm, :git > > set :deploy_via, :remote_cache > > > #The user that starts the Mongrel(?) instances > > set :runner, user > > role :app, application > > role :web, application > > role :db, application, :primary => true > > > This thread too discusses this problemhttp://ahref.in/33870andI > > realised I had set :use_sudo true when I did cap deploy:setup. I thus > > deleted the files/dirs created by Cap on the server, set :use_sudo > > false and ran cap deploy:setup again but I still get permission denied > > errors. > > > ** [out :: ahref.in] mkdir: cannot create directory `/home/<user>/ > > public_html/ahref.in/releases': Permission denied > > ** [out :: ahref.in] mkdir: cannot create directory `/home/<user>/ > > public_html/ahref.in/shared': Permission denied > > ** [out :: ahref.in] mkdir: cannot create directory `/home/<user>/ > > public_html/ahref.in/shared': Permission denied > > ** [out :: ahref.in] mkdir: cannot create directory `/home/<user>/ > > public_html/ahref.in/shared': Permission denied > > ** [out :: ahref.in] mkdir: cannot create directory `/home/<user>/ > > public_html/ahref.in/shared': Permission denied > > > Now if I set use_sudo to true for deploy:setup, the setup goes fine > > but cap deploy does not work. Permission denied errors. The final > > dependency o/p for cap deploy:check is this > > > The following dependencies failed. Please check them and try again: > > --> You do not have permissions to write to `/home/<user>/public_html/ > > ahref.in'. (<server_name>) > > --> You do not have permissions to write to `/home/<user>/public_html/ > > ahref.in/releases'. (<server_name>) > > --> `/home/<user>/public_html/ahref.in/shared' is not writable > > (<server_name>) > > > In the SSH Debug o/p, I can see that Cap is using the public key for > > authentication and the authentication goes through but mkdir seems to > > fail. Like I mentioned at first, the slicehost server still requirs me > > to provide the pwd to create dirs/files and I think thats where this > > is failing. Thats my best guess at this problem. Although I dont have > > a solution. > > > I even tried SSH Agents and set :ssh_options, { :forward_agent => > > true } according to this posthttp://ahref.in/1f632butthat dint work > > either. > > > This too is a thread that discusses almost the same > > problemhttp://ahref.in/3b4af. > > The Original poster talks about how Cap seems to try to connect to the > > server using the first HostName specified in the ~/.ssh/config file. > > Thats something to note I guess. But I even gave that a wild shot and > > that dint work. > > > How can I make Cap ssh to my server using the username i provide > > instead of the public key? ssh_options[:username] = user doesnt seem > > to work. > > Is there at least a quick fix for this problem right now that any of > > you can suggest? > > Thanks a bunch for reading this through even if you cant help! :) > > Cheers! > > > On Feb 12, 11:17 am, Ram <[email protected]> wrote: > > > > @ MAthias Meyer, > > > > Oh and yes, I DID do deploy:setup first and I can see the shared and > > > releases directories on my server > > > > On Feb 12, 11:11 am, Ram <[email protected]> wrote: > > > > > @Mathias Meyer, > > > > > Regarding the other question, I realised i had not installed Git on > > > > the server and I did that. This post shows the error I got AFTER > > > > installing Git on the server. > > > > About write permissions, well im really not sure how the deploy.rb > > > > works but her it is if it helps, > > > > > set :application, "ahref.in" > > > > set :user, "<username>" #this is the username for my slicehost server > > > > that has write permissions on the server > > > > set :repository, "[email protected]:vinaysesh/ahref.in.git" > > > > set :port, 4001 > > > > default_run_options[:pty] = true > > > > #set :use_sudo, true # Not sure what this should be set to. TRUE and > > > > FALSE dont work anyway. I get the same error. > > > > set :deploy_to, "/home/<username>/public_html/#{application}" > > > > > # If you aren't using Subversion to manage your source code, specify > > > > # your SCM below: > > > > set :scm, :git > > > > set :deploy_via, :remote_cache > > > > > #The user that starts the Mongrel(?) instances > > > > set :runner, user > > > > role :app, application > > > > role :web, application > > > > role :db, application, :primary => true > > > > > If you could point me to any documentation on what each of the options > > > > mean or some documentation on Git, Cap deployment to Slicehost, it > > > > will really help. > > > > I myself have been following these > > > > articleshttp://matharvard.ca/posts/2-deploying-with-capistrano-git-and-sliceh...... > > > > > @Brent, Dint know that about deploy:cold. Thanks for that. Anyway, > > > > deploy dint work either. same error. Thanks for the link Brent, will > > > > try following it. > > > > > Hope someone can find what im doing wrong. Thanks for the replies! > > > > > On Feb 11, 10:45 pm, "S. Brent Faulkner" <[email protected]> wrote: > > > > > > I believe Jamis no longer recommends using deploy:cold (as > > > > > perhttp://capify.org/getting-started/from-the-beginning) > > > > > > I highly recommend following the instructions at that location. They > > > > > worked beautifully for me (on slicehost, running ubuntu, and deploying > > > > > from OS X). > > > > > > Cheers. > > > > > > --Brent --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
