I want to make apache2 run ruby scripts. I managed to do this by using CGI, but now I want to go one step further and do it with mod_ruby. I installed mod_ruby through apt-get so it’s supposed to be enabled, but when I visit http://localhost/test.rb my browser downloads the file instead of displaying it’s output.
If I open /etc/apache2/mods-enabled/ruby.load there is a line containing the path do this mod.
I also added the following lined to my apache2.conf:
<IfModule mod_ruby.c>
<Directory /var/www/>
Options +ExecCGI
</Directory>
RubyRequire apache/ruby-run
#RubySafeLevel 0
<Files *.rb>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
</IfModule>
Can you please help me?
PS. Please don’t suggest using ROR. I’m familiar with that. Now I just want to use ruby for educational reasons. Also please keep things simple I’m a total newbie to apache.
See this article – it has some instructions. Basically you need to tell Apache to pass your Ruby files through the handler.
Also, consider trying Sinatra – it’s a micro web framework that’s as simple as plain ruby files. And it runs with Passenger which is the well-documented Ruby module for Apache.