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-rubyNo 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-develA 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 installFinalmente, 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 restart3 Mandriva 2008.0
Mandriva 2008.0 tiene un paquete mod_ruby que podemos instalar de la siguiente manera:
urpmi apache-mod_rubyEse 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.confComenta o elimina todo en ese archivo excepto las siguientes líneas:
| |
Luego reinicia Apache:
/etc/init.d/httpd restart4 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-develDespué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 installPara 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
SuSEconfigy reiniciamos Apache:
/etc/init.d/apache2 restart5 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:
| |
(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.rbAhora puedes llamar al archivo en un navegador; si todo va bien, debería mostrar un mensaje de Hola Mundo.
6 Enlaces
- mod_ruby: http://www.modruby.net
- Ruby: http://www.ruby-lang.org
- ISPConfig: http://www.ispconfig.org
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.