Hi,
I'm trying to configure Apache so I can create multiple rails projects without modifying httpd.conf everytime. Right now, I have one project setup and a apache virtualhost that points to it. Here is how I have it configured.
<VirtualHost *:80>
ServerName rails.example.com
DocumentRoot /var/www/rails_project/public
RailsEnv development
</VirtualHost>
I would like to be able to set my documentRoot to /var/www and access my projects by appending the project directory name to the url (e.g. rails.example.com/rails_project).
For instance, when I set it up like that it I can access a project that is located in /var/www/rails_project, by going to rails.example.com/rails_project/public.
But I have routing problems after that. Here is what I get when clicking on "About your applications environment"
Not Found
The requested URL /rails_project/public/rails/info/properties was not found on this server.
I'm stuck here, so any help is really appreciated.
Excerpts from Joe's message of Tue Aug 11 14:31:53 -0400 2009:
Hi,
I'm trying to configure Apache so I can create multiple rails projects without
modifying httpd.conf everytime. Right now, I have one project setup and a
apache virtualhost that points to it. Here is how I have it configured.
<VirtualHost *:80>
ServerName rails.example.com
DocumentRoot /var/www/rails_project/public
RailsEnv development
</VirtualHost>
Hi Joe,
AFAIK, that's not possible with passenger. I believe that a new vhost is
needed for every rails application on your machine (someone please
correct me if I'm wrong).
If you have an existing vhost with something else on it, you can specify
that your rails application is in a subdirectory of that document root
like this:
The way I'm doing this is to have a single directory I symlink all of my
app's 'public' directory to. I set this as my DocumentRoot and then have a
single VHOST file for all of my apps. It isn't pretty, but it's fairly easy
to parse with Ruby. So, my VHOST file looks something like this:
I have had *zero* luck using multiple VHOST files. This may be due to my own
lack of knowledge in using Apache though.
You may wish to redirect your query to the Passenger mailing list though.
They'll likely be of more help. Keep me posted though. I'd love to hear what
your resolution is.
Excerpts from Joe's message of Tue Aug 11 14:31:53 -0400 2009:
> Hi,
> I'm trying to configure Apache so I can create multiple rails projects
without
> modifying httpd.conf everytime. Right now, I have one project setup and a
> apache virtualhost that points to it. Here is how I have it configured.
>
> <VirtualHost *:80>
> ServerName rails.example.com
> DocumentRoot /var/www/rails_project/public
> RailsEnv development
> </VirtualHost>
Hi Joe,
AFAIK, that's not possible with passenger. I believe that a new vhost is
needed for every rails application on your machine (someone please
correct me if I'm wrong).
If you have an existing vhost with something else on it, you can specify
that your rails application is in a subdirectory of that document root
like this:
The <IfModule> is optional - just protects against idiots like me - and then a sample foo.conf would look like ...
<VirtualHost *:80>
ServerName foo.local
DocumentRoot "/u/rail_sites/foo/public"
RailsEnv development
<directory "/u/rail_sites/foo/public">
Order allow,deny
Allow from all
</directory>
</VirtualHost>
Thanks for the reply. I ended up doing pretty much the same thing. I create the project, link to the public folder and then in an .htaccess file, I add RailsBaseURI /railsProject.
The only problem I have, is that it requires a trailing slash after the project name when accessing it via the web.
···
----- Original Message ----
From: James Herdman <james.herdman@gmail.com>
To: ruby-talk ML <ruby-talk@ruby-lang.org>
Sent: Wednesday, August 12, 2009 8:04:46 AM
Subject: Re: multiple projects - Apache
Hi friends.
The way I'm doing this is to have a single directory I symlink all of my
app's 'public' directory to. I set this as my DocumentRoot and then have a
single VHOST file for all of my apps. It isn't pretty, but it's fairly easy
to parse with Ruby. So, my VHOST file looks something like this:
I have had *zero* luck using multiple VHOST files. This may be due to my own
lack of knowledge in using Apache though.
You may wish to redirect your query to the Passenger mailing list though.
They'll likely be of more help. Keep me posted though. I'd love to hear what
your resolution is.
Excerpts from Joe's message of Tue Aug 11 14:31:53 -0400 2009:
> Hi,
> I'm trying to configure Apache so I can create multiple rails projects
without
> modifying httpd.conf everytime. Right now, I have one project setup and a
> apache virtualhost that points to it. Here is how I have it configured.
>
> <VirtualHost *:80>
> ServerName rails.example.com
> DocumentRoot /var/www/rails_project/public
> RailsEnv development
> </VirtualHost>
Hi Joe,
AFAIK, that's not possible with passenger. I believe that a new vhost is
needed for every rails application on your machine (someone please
correct me if I'm wrong).
If you have an existing vhost with something else on it, you can specify
that your rails application is in a subdirectory of that document root
like this: