How to set up Apache for multiple hosts (assuming no SSL) is pretty
easy, and well-documented in many, many places. Search for “apache
virtual host configuration” or similar. How to do it with SSL is even
easier, but burns one real IP address per host.
Mongrel is a nice piece of software, but you should really have a look
at
Phusion Passenger. It effectively makes deployment of Rails
applications
as simple as deploying PHP code.
The only issue I have with Passenger is the same one I have for any
apache-module based application: Break into one, and you break into
them all.
That is, they all run as user www group www (on my box, those can
vary.) Therefore if applications cross administrative boundaries,
they must run on different Apache instances. Otherwise, one can read
another application’s database.yml and the game is over.
That said, I’m the owner of my personal server, and therefore I am a
single boundry. I’ve started the conversion over to Passenger. One
down, 5 more to go. Looks trivial, and just works so far. The only
“site” I have it up on is my soon-to-be personal media database, http://media.flame.org/ and no, it’s not even close to done yet.
The only issue I have with Passenger is the same one I have for any
apache-module based application: Break into one, and you break into
them all.
That is, they all run as user www group www (on my box, those can
vary.) Therefore if applications cross administrative boundaries,
they must run on different Apache instances. Otherwise, one can read
another application’s database.yml and the game is over.