Instalación Ruby · 3 min read · Nov 20, 2025

Cómo instalar mod_ruby en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superiores)

Cómo instalar mod_ruby en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superiores)

Versión 1.0
Autor: Falko Timme

A partir de la versión 2.2.20, ISPConfig tiene soporte integrado para Ruby. En lugar de usar CGI/FastCGI, ISPConfig depende de que mod_ruby esté disponible en el Apache del servidor. Este artículo explica cómo instalar mod_ruby en varias distribuciones soportadas por ISPConfig.

¡No emito ninguna garantía de que esto funcione para ti!

1 Debian Etch / Ubuntu 7.10

En Debian Etch y Ubuntu 7.10, todo lo que tenemos que hacer es ejecutar (como root):

apt-get install libapache2-mod-ruby

No se necesita ninguna configuración.

2 Fedora 8 / CentOS 5.1

Para Fedora 8 y CentOS 5.1, no hay un paquete mod_ruby disponible, así que debemos compilarlo nosotros mismos. Primero instalamos algunos requisitos previos:

yum install httpd-devel ruby ruby-devel

A continuación, descargamos e instalamos mod_ruby de la siguiente manera:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Finalmente, debemos agregar el módulo mod_ruby a la configuración de Apache, así que creamos el archivo /etc/httpd/conf.d/ruby.conf…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so |

… y reiniciamos Apache:

/etc/init.d/httpd restart

3 Mandriva 2008.0

Mandriva 2008.0 tiene un paquete mod_ruby que podemos instalar de la siguiente manera:

urpmi apache-mod_ruby

Ese paquete viene con una configuración de mod_ruby que habilita mod_ruby globalmente para todos los sitios web. Por lo tanto, debemos deshabilitarlo ahora para que pueda habilitarse en ISPConfig de manera individual por sitio web:

vi /etc/httpd/modules.d/20_mod_ruby.conf

Comenta o elimina todo en ese archivo excepto las siguientes líneas:

| LoadModule ruby_module extramodules/mod_ruby.so |

Luego reinicia Apache:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3 no tiene un paquete mod_ruby, por lo tanto, debemos compilarlo manualmente. Primero instalamos los requisitos previos:

yast -i apache2-devel ruby ruby-devel

Después construimos mod_ruby de la siguiente manera:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Para habilitar mod_ruby, abrimos /etc/sysconfig/apache2 y agregamos ruby a la línea APACHE_MODULES, por ejemplo, así:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite ruby" [...] |

Después ejecutamos

SuSEconfig

y reiniciamos Apache:

/etc/init.d/apache2 restart

5 Usando mod_ruby

Ahora supongamos que has creado un sitio web en ISPConfig con la raíz del documento /var/www/web1/web. Si habilitas Ruby para ese sitio web, ISPConfig agrega algo como esto a la configuración del vhost de Apache del sitio web:

| Options +ExecCGI RubyRequire apache/ruby-run #RubySafeLevel 0 SetHandler ruby-object RubyHandler Apache::RubyRun.instance SetHandler ruby-object RubyHandler Apache::RubyRun.instance |

(Si no usas ISPConfig, entonces, por supuesto, puedes agregar esto manualmente a tu configuración de vhost, pero no olvides ajustar las rutas y reiniciar Apache después.)

Para ver si mod_ruby está funcionando, creamos el archivo Ruby /var/www/web1/web/hello_world.rb:

vi /var/www/web1/web/hello_world.rb

| # La clase Greeter class Greeter def initialize(name) @name = name.capitalize end def salute puts "¡Hola #{@name}!" end end # Crear un nuevo objeto g = Greeter.new("world") # Salida "¡Hola Mundo!" g.salute |

El archivo debe ser ejecutable, así que ejecutamos:

chmod 755 /var/www/web1/web/hello_world.rb

Ahora puedes llamar al archivo en un navegador; si todo va bien, debería mostrar un mensaje de Hola Mundo.

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.