Re: Problems with getting started, part 2

Arnold Daniels <[email protected]> Mon, 24 Mar 2008 14:27:37 +0100
Newsgroups gmane.comp.apache.mod-ruby
Message-ID <[email protected]>
Hi Michael,

Thanks for this explanation. I want to offer rails as shared hosting 
company. We've build user switching into Apache (using a customer kernel 
routine) and therefore mod_ruby looked like a nicer solution than for 
instance mongrel. However, using a different framework is not an option. 
So we'll have a look in adding user switching in mongrell instead.

Best regards,
Arnold

Michael Granger wrote:
> On Feb 18, 2008, at 1:44 PM, Arnold Daniels wrote:
>
>> After the last attempt back in November, I have installed up to date 
>> (and compatible) versions of ruby and rails. Ruby on rail now runs as 
>> CGI, but I still can't get it to run with mod_ruby. I've changed the 
>> dispatch.rb to include the full path for dispatcher. However I get 
>> "Rails application failed to start properly" as output. The apache 
>> error log gives the errors pasted below this e-mail. If I would have 
>> to guess I would say that there are still some compatibility issues. 
>> However, a simple hello world app processed with mod_ruby, works fine.
>
> There are several big roadblocks to using Rails under mod_ruby:
>
> 1. Rails is not designed to run under Ruby's $SAFE system, which 
> restricts the
> operations one can do with untrusted data. The error backtrace you pasted
> indicates that this is what is happening when you try to run your 
> application.
>
> 2. Rails is also not designed to run in tandem with other code in the 
> same
> interpreter. It monkeypatches core and standard library classes quite
> extensively, and uses the toplevel namespace for many application 
> classes.
> Since mod_ruby is a single interpreter embedded inside an Apache process,
> classes with the same name will collide if not declared inside a module.
>
> 3. It also assumes many things about the runtime environment that it's 
> started in,
> which is what the 'apache/rails-dispatcher' library in mod_ruby is 
> designed to
> address. I haven't tested it at all (since I don't really use Rails 
> anymore),
> and Shugo-san has several times said that it's not really ready for 
> production
> use.
>
> In my (albeit limited) experience, it's not worth trying to get a 
> Rails application running under mod_ruby when there are alternative 
> solutions with similar performance characteristics.
>
>> PS. I don't see that much activity around mod_ruby (mailinglist, 
>> releases), nor do I see this being used as a common solution. Is this 
>> module not really good and there for abandoned or is there some other 
>> reason? Please give me a reassuring word for choosing mod_ruby.
>
>
> It's not abandoned, or at least I've not heard as much from Shugo. I 
> use it every day at my job with a framework a few friends and I wrote 
> specifically to run under mod_ruby called Arrow 
> (http://deveiate.org/projects/Arrow/).
>
> As regards it being "not really good": mod_ruby itself is excellent as 
> a way to access the Apache API from Ruby, but if that's not what you 
> want to do, you should probably investigate something else. If you're 
> looking for alternatives to Rails, Camping 
> (http://camping.rubyforge.org/files/README.html), Iowa 
> (http://enigo.com/projects/iowa), Merb (http://merbivore.com/), and 
> Ramaze (http://ramaze.rubyforge.org/) are but a few to try out.
>
> -- 
> Michael Granger <[email protected]>
> Rubymage, Architect, Believer
> The FaerieMUD Consortium <http://www.FaerieMUD.org/>
>
>