Instalando Mod_Ruby
Posted: April 22nd, 2009 | Author: FreedomCoder | Filed under: Open Source, Programming, how-to | Tags: how-to, linux, mod_ruby, Open Source, Programming | No Comments »“
Bueno dada la escasa y fea documentación que mod_ruby tiene me decidí a escribir un pequeño tutorial de instalación del mismo en debian, que paso a detallar:
Primero instalamos el modulo de apache para ruby (mod_ruby)
apt-get install libapache2-mod-ruby
Luego debemos crear el siguiente archivo:
vi /etc/apache2/mods-available/ruby.conf
y ponemos lo siguiente:
<IfModule mod_ruby.c> RubyRequire apache/ruby-run <Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> </IfModule>
Entre otras cosas le decimos que debe tratar los archivos .rbx como
archivos de ruby.
Luego de esto ya tenemos los dos archivos necesarios para habilitar el módulo en apache:
ruby.load (que secopia al instalar el módulo) y ruby.conf generado por nosotros. Ahora cómo mod_ruby ejecuta los scrips de ruby como CGI necesitamos poner la directiva Options +ExecCGI en el folder dónde vamos a poner nuestros scripts, en mi caso particular necesito que todos los usuarios del sistema puedan ejecutar sus scripts desde su ~/public_html entonces para lograr esto tenemos que editar la configuración del módulo user_dir, editamos el archivo
vi /etc/apache2/mods-available/userdir.confy agregamos lo siguiente:<IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # Para poder ejecutar scripts en ruby agregamos la linea de abajo Options +ExecCGI <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> </IfModule>
No sé si esto muy seguro o tiene alguna consecuencia no deseada, si es así comenten!
Bueno ahora sólo necesitamos habilitar el móludo para esto ejecutamos el siguiente comando:
a2enmod ruby
y hacemos un reload del apache
/etc/init.d apache2 reload
despues de esto para probarlo ponemos un archivo en nuestro home
vi /home/gaston/test-ruby.rb
con un simple:
puts 'hello world'
vamos al navegador a la siguiente url:
http://aca-va-la-url-de-tuserver/~gaston/test-ruby.rb
y vamos a ver un hermoso ‘hello world’ si todo salió bien.
Bueno, con mod_ruby solo para escribir una página web dinámica vamos a tener que hacer algo cómo esto:
puts ‘<h1>Mi Título</h1>’
lo cual es muy molesto, para hacer las cosas un póco más lindas y más fácil debemos usar eruby que nos permite ejecutar código ruby dentro de archivos de text (como por ejémplo un arhivo html)
Entonces comencemos por instalar eruby:
apt-get install eruby
y luego tenemos que modificar nuevamente el archivo /etc/apache2/mods-available/ruby.conf de esta manera:
<IfModule mod_ruby.c> RubyRequire apache/ruby-run RubyRequire apache/eruby-run <Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> <Files *.rhtml> SetHandler ruby-object RubyHandler Apache::ERubyRun.instance </Files> </IfModule>
Y luego debemos agregar la siguiente directiva al archivo de configuración de apache /etc/apache2/apache2.conf
AddType text/html .rhtml
Con esto recargamos el apache y ya podemos escribir nuestros .rhtml
y poner código ruby entre los tags <%= %>
Links útiles:
http://en.wikipedia.org/wiki/ERuby
http://wiki.modruby.net/ja/?InstallGuide
http://modruby.net/
http://ubuntuforums.org/archive/index.php/t-356350.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html
“
(Via Gastón Ramos – Ruby, Rails….) Original Link: Instalando Mod_Ruby

Leave a Reply