On Tue, Jan 03, 2006 at 07:23:22PM -0800, Dan S. wrote:
} I have a colleague who got very enthusiastic about Rails a few days
} ago. Today, he called me and said he was no longer thinking Rails was
} quite as cool as he’d first thought because it was too hard to get
} working on Apache on a port other than 3000 and that this kept Rails
} applications from being quite as easy for non-technical users to use
} and maintain.
It is, indeed, harder than it should be to get working under Apache,
particularly Apache2. Despite my only vague understanding of Apache
config
files and modules and such, however, I was able to go from using WEBrick
for development to Apache2 for deployment in roughly a day with the help
of
an excellent package management system (yay, Debian!) and some very
good,
if imperfect, instructions found on the web with Google.
} I don’t know squat about Apache but what he said sounded to me like
} horse puckey, so I figured I’d ask the question here, get a
} definitive answer, and then go talk to him about what he must be
} missing.
Nope, not horse puckey. It also very much depends on one’s deployment
platform. I am confident that I would have had much more trouble with a
platform other than Debian, particularly Windows, and not just because
of
less familiarity with administering them.
} So, what’s he missing?
More to the point, what is Rails missing? I looked in the tutorials and
howto sections on the rubyonrails.org site and was unable to find
anything
about deploying on Apache. Google found a few pages that discussed
whether
to use mod_ruby, scgi, fastcgi, or fcgid, but none of them were
particularly thorough on pros and cons of each approach. Since I have
never
attempted a real deployment (what I’ve done so far is just a toy), and
I’ve
only done it on Debian and Apache2 and fcgid, I am unqualified to
produce
the documentation that is needed. I would if I could.
If there is someone (or a group of people) out there with sufficient
expertise/breadth of knowledge, please explain the following:
-
What methods exist for RoR deployment (WEBrick,
mod_ruby/scgi/fastcgi/fcgid w/ Apache/Apache2/lighttpd)
-
What makes one deployment choice better or worse than another (only
fcgid seems to work well with Apache2? scgi is recommended on
Windows?)
-
What steps must be taken to deploy with each of these methods (
software
installation, messing with apache.conf and .htaccess, etc.)
Part 1 is easy since it’s just a laundry list and I may have actually
covered it right there. Part 2 is the complicated part, and may be
somewhat
controversial. Part 3 has a platform-specific component (software
installation), but each individual deployment method howto can be
written
by a separate person. I think I could write the Apache2 and fcgid part,
with a Debian software installation process.
} Dan S.
–Greg