Hi, I just started out learning Ruby on Rails this week. I''m using Michael Hartl''s book, but I''m working on a remote server rather than my local computer. As such, I''m using Apache + Passenger to deploy the example programs rather than Mongrel. Also, I''m using MySQL for my database instead of SQLite. My issue is that I don''t understand how to deploy a program on a remote server using Apache + Passenger in a way that makes the contents of the views directory accessible. For instance, if I create a sample program ''demo_app'' and create a ''users'' resource with the command: $ script/generate scaffold User name:string email:string and then migrate with the command: $ rake db:migrate I can''t see the ''users'' folder or anything in it when I point my browser to the remote server. I can see the standard ''Welcome aboard!'' page at http://<server_addr>/demo_app, but http://<server_addr>/demo_app/users gives me a 404 Not Found. In my apache2.conf file, I have the following VirtualHost specification: <VirtualHost *:80> ServerName <server_addr> DocumentRoot /projects/demo_app/public RailsBaseURI /demo_app </VirtualHost> In my web root directory, ''demo_app'' is a symbolic link to the application''s public directory. I realize that there''s nothing in my web root directory or the above VirtualHost specification that points to the ''users'' resource, but when I build this app locally and view it with Mongrel, I can see http://0.0.0.0:3000/users just fine. All of the documentation I''ve read indicates that the above specification and symbolic link are all I need to create to deploy an app on a remote server with Apache + Passenger. Do I need to do something else to access http://<server_addr>/demo_app/users? Have I missed an obvious or elementary step? Am I misunderstanding something? Am I on another planet? Any help would be greatly appreciated. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi Frank, On Fri, May 21, 2010 at 8:45 PM, FrankMurphy <sabir.a.ibrahim-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:> I can see the standard ''Welcome aboard!'' > page at http://<server_addr>/demo_app, >Just a swag here, but did you delete public/index.html on the remote server? Best regards, Bill -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On May 22, 2:45 am, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> In my web root directory, ''demo_app'' is a symbolic link to the > application''s public directory. I realize that there''s nothing in my > web root directory or the above VirtualHost specification that points > to the ''users'' resource, but when I build this app locally and view it > with Mongrel, I can seehttp://0.0.0.0:3000/usersjust fine. All of > the documentation I''ve read indicates that the above specification and > symbolic link are all I need to create to deploy an app on a remote > server with Apache + Passenger. Do I need to do something else to > access http://<server_addr>/demo_app/users? Have I missed an obvious > or elementary step? Am I misunderstanding something? Am I on another > planet?Deploying an app to a sub uri (rather than to the root of your domain) is not the simplest case - you might want to try that first to reassure yourself that everything is basically working. What you''ve done doesn''t seem to quite match the instructions at http://www.modrails.com/documentation/Users%20guide%20Apache.html#deploying_rails_to_sub_uri Fred> > Any help would be greatly appreciated. > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi Fred, On Fri, May 21, 2010 at 9:47 PM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > On May 22, 2:45 am, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> Deploying an app to a sub uri (rather than to the root of your domain) > > I missed that. Excellent catch, as always.Best regards, Bill -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Fri, May 21, 2010 at 06:45:11PM -0700, FrankMurphy wrote:> For instance, if I create a sample program ''demo_app'' and create a ''users'' > resource with the command: > > $ script/generate scaffold User name:string email:string > > and then migrate with the command: > > $ rake db:migrate > > I can see the standard ''Welcome aboard!'' page at > http://<server_addr>/demo_app,That''s a good sign.> but http://<server_addr>/demo_app/users gives me a 404 Not Found.Did you generate the new scaffold after your app was already running under Passenger? If so, and it''s environment is set to production, did you modify the tmp/restart.txt file in your app to signal Passenger to restart the application?> but when I build this app locally and view it with Mongrel, I can see > http://0.0.0.0:3000/users just fine.That''s probably also a good sign. I bet you just need to have Passenger reload the app as mentioned above. Details can be found at: http://www.modrails.com/documentation/Users%20guide.html#_redeploying_restarting_the_ruby_on_rails_application -- Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX What''s the definition of a legacy system? One that works! Errare humanum est, ignoscere caninum. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks everyone for your replies. Okay, so this is interesting. When I try deploying the app to the domain root, I can''t see the "Welcome aboard!" page; instead, I see the index.html page that''s in Apache''s web root directory. Also, when I try http://<server_addr>/users, I see a directory listing of the (.erb) files that are in the demo_app/app/views/users. Does this mean that Passenger is not set up correctly? I don''t know if it matters, but the server I''m using doesn''t have a domain name; I''m accessing it using its IP address. On May 21, 7:47 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On May 22, 2:45 am, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > In my web root directory, ''demo_app'' is a symbolic link to the > > application''s public directory. I realize that there''s nothing in my > > web root directory or the above VirtualHost specification that points > > to the ''users'' resource, but when I build this app locally and view it > > with Mongrel, I can seehttp://0.0.0.0:3000/usersjustfine. All of > > the documentation I''ve read indicates that the above specification and > > symbolic link are all I need to create to deploy an app on a remote > > server with Apache + Passenger. Do I need to do something else to > > access http://<server_addr>/demo_app/users? Have I missed an obvious > > or elementary step? Am I misunderstanding something? Am I on another > > planet? > > Deploying an app to a sub uri (rather than to the root of your domain) > is not the simplest case - you might want to try that first to > reassure yourself that everything is basically working. What you''ve > done doesn''t seem to quite match the instructions athttp://www.modrails.com/documentation/Users%20guide%20Apache.html#dep... > > Fred > > > > > Any help would be greatly appreciated. > > > -- > > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
FrankMurphy wrote:> Thanks everyone for your replies. > > Okay, so this is interesting. When I try deploying the app to the > domain root, I can''t see the "Welcome aboard!" page; instead, I see > the index.html page that''s in Apache''s web root directory. Also, when > I try http://<server_addr>/users, I see a directory listing of the > (.erb) files that are in the demo_app/app/views/users. Does this mean > that Passenger is not set up correctly? >Yes. For your own sanity, set up Rails on your local box and don''t worry about the remote server yet.> I don''t know if it matters, but the server I''m using doesn''t have a > domain name; I''m accessing it using its IP address.Shouldn''t matter.> > > On May 21, 7:47�pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Okay, I got it to work on the domain root by editing /etc/apache2/ sites-available/default to point to the app''s public directory. Is that the right way to go about it, or is that just a hack? If that''s what I''m supposed to do, it seems odd that this step isn''t mentioned in the mod_rails user guide. I still can''t get it to work on a sub-uri using an analogous technique (i.e., creating a virtual host file for the URI in /etc/apache2/sites-available)... On May 21, 9:23 pm, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Thanks everyone for your replies. > > Okay, so this is interesting. When I try deploying the app to the > domain root, I can''t see the "Welcome aboard!" page; instead, I see > the index.html page that''s in Apache''s web root directory. Also, when > I try http://<server_addr>/users, I see a directory listing of the > (.erb) files that are in the demo_app/app/views/users. Does this mean > that Passenger is not set up correctly? > > I don''t know if it matters, but the server I''m using doesn''t have a > domain name; I''m accessing it using its IP address. > > On May 21, 7:47 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: > > > > > On May 22, 2:45 am, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > In my web root directory, ''demo_app'' is a symbolic link to the > > > application''s public directory. I realize that there''s nothing in my > > > web root directory or the above VirtualHost specification that points > > > to the ''users'' resource, but when I build this app locally and view it > > > with Mongrel, I can seehttp://0.0.0.0:3000/usersjustfine. All of > > > the documentation I''ve read indicates that the above specification and > > > symbolic link are all I need to create to deploy an app on a remote > > > server with Apache + Passenger. Do I need to do something else to > > > access http://<server_addr>/demo_app/users? Have I missed an obvious > > > or elementary step? Am I misunderstanding something? Am I on another > > > planet? > > > Deploying an app to a sub uri (rather than to the root of your domain) > > is not the simplest case - you might want to try that first to > > reassure yourself that everything is basically working. What you''ve > > done doesn''t seem to quite match the instructions athttp://www.modrails.com/documentation/Users%20guide%20Apache.html#dep... > > > Fred > > > > Any help would be greatly appreciated. > > > > -- > > > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh4Ykp1iOSErHA@public.gmane.orgm. > > > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Sat, May 22, 2010 at 8:35 PM, FrankMurphy <sabir.a.ibrahim-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Okay, I got it to work on the domain root by editing /etc/apache2/ > sites-available/default to point to the app''s public directory. Is > that the right way to go about it, or is that just a hack? If that''s > what I''m supposed to do, it seems odd that this step isn''t mentioned > in the mod_rails user guide. I still can''t get it to work on a sub-uri > using an analogous technique (i.e., creating a virtual host file for > the URI in /etc/apache2/sites-available)... > > > On May 21, 9:23 pm, FrankMurphy <sabir.a.ibra...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> Thanks everyone for your replies. >> >> Okay, so this is interesting. When I try deploying the app to the >> domain root, I can''t see the "Welcome aboard!" page; instead, I see >> the index.html page that''s in Apache''s web root directory. Also, when >> I try http://<server_addr>/users, I see a directory listing of the >> (.erb) files that are in the demo_app/app/views/users. Does this mean >> that Passenger is not set up correctly? >> >> I don''t know if it matters, but the server I''m using doesn''t have a >> domain name; I''m accessing it using its IP address.Yes I think that matters, in the example you gave in the first post you had <VirtualHost *:80> ServerName <server_addr> DocumentRoot /projects/demo_app/public RailsBaseURI /demo_app </VirtualHost> This is what Apache calls a name-based virtual host http://httpd.apache.org/docs/2.2/vhosts/name-based.html If you use an ip address like 192.168.1.123 as the value for the ServerName directive, apache will do a reverse dns search to try to find a NAME. http://httpd.apache.org/docs/2.2/mod/core.html#servername If the server actually has a unique ip address for the app, then you might look at setting up an ip address based virtual host after reading the caveats in the first section of the first url I cited. But the simpler thing would probably be to use a name based vhost and configure the client''s dns to resolve the name to the ip address so you can use it in the browser urls. Just putting a line in /etc/hosts (or the equivalent if the client is a doze machine) should be enough. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Github: http://github.com/rubyredrick Twitter: @RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.