GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

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

Cómo instalar mod_ruby en varias distribuciones de Linux para usar con ISPConfig (2.2. 20 y más)

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 compatibles con ISPConfig.

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

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 en absoluto.

2 Fedora 8 / CentOS 5.1

Para Fedora 8 y CentOS 5.1, no hay un paquete mod_ruby disponible, por lo 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
hacer
hacer instalación

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

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

... y reinicie 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 mod_ruby que habilita mod_ruby globalmente para todos los sitios web. Por lo tanto, tenemos que deshabilitarlo ahora para que pueda habilitarse en ISPConfig por sitio web:

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

Comente o borre todo en ese archivo excepto las siguientes líneas:

LoadModule ruby_module modules/mod_ruby.so

Luego reinicie Apache:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

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

yast -i apache2-devel ruby ruby-devel

Luego 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
hacer
hacer instalación

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

vi /etc/sysconfig/apache2
<IfDefine HAVE_RUBY>
    <IfModule !mod_ruby.c>
        LoadModule ruby_module  extramodules/mod_ruby.so
    </IfModule>
</IfDefine>

Luego corremos

SuSEconfig

y reinicie Apache:

/etc/init.d/apache2 restart

5 Usando mod_ruby

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

[...]
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"
[...]

(Si no usa ISPConfig, entonces, por supuesto, puede agregar esto manualmente a su configuración de vhost, pero no olvide ajustar las rutas y reiniciar Apache después).

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

vi /var/www/web1/web/hello_world.rb
<IfModule mod_ruby.c>
  <Directory /var/www/web1/web>
    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>

El archivo debe ser ejecutable, entonces ejecutamos:

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

Ahora puede llamar al archivo en un navegador; si todo va bien, debería mostrar un Hello World! mensaje.

6 Enlaces

  • mod_ruby:http://www.modruby.net
  • Rubí:http://www.ruby-lang.org
  • ISPConfig:http://www.ispconfig.org

Panels
  1. Cómo instalar y usar Etcher en Linux para hacer Live Linux USB

  2. Cómo instalar y usar Latte Dock en Ubuntu y otras distribuciones de Linux

  3. Cómo instalar y usar Flatpak en Linux

  4. Cómo instalar y usar Traceroute en Linux

  5. Cómo instalar suPHP en varias distribuciones de Linux para usar con ISPConfig (2.2.20 y superior)

Cómo instalar y usar Nu Shell en Linux

Cómo instalar y usar Flatpak en Linux

Cómo instalar y usar Curl en distribuciones de Linux:una guía para principiantes

Cómo instalar y usar PHP Composer en distribuciones de Linux

Cómo instalar y usar GNU Emacs en distribuciones de Linux

Cómo instalar y usar Ruby en distribuciones de Linux

    # The Greeter class
    class Greeter
      def initialize(name)
        @name = name.capitalize
      end
    
      def salute
        puts "Hello #{@name}!"
      end
    end
    
    # Create a new object
    g = Greeter.new("world")
    
    # Output "Hello World!"
    g.salute