Instalação Ruby · 2 min read · Nov 20, 2025

Como Instalar mod_ruby Em Várias Distribuições Linux Para Uso Com ISPConfig (2.2.20 E Acima)

Como Instalar mod_ruby Em Várias Distribuições Linux Para Uso Com ISPConfig (2.2.20 E Acima)

Versão 1.0
Autor: Falko Timme

A partir da versão 2.2.20, o ISPConfig tem suporte embutido para Ruby. Em vez de usar CGI/FastCGI, o ISPConfig depende do mod_ruby estar disponível no Apache do servidor. Este artigo explica como instalar o mod_ruby em várias distribuições suportadas pelo ISPConfig.

Não dou nenhuma garantia de que isso funcionará para você!

1 Debian Etch / Ubuntu 7.10

No Debian Etch e Ubuntu 7.10, tudo o que precisamos fazer é executar (como root):

apt-get install libapache2-mod-ruby

Nenhuma configuração é necessária.

2 Fedora 8 / CentOS 5.1

Para Fedora 8 e CentOS 5.1, não há pacote mod_ruby disponível, então devemos compilá-lo nós mesmos. Primeiro, instalamos algumas dependências:

yum install httpd-devel ruby ruby-devel

Em seguida, baixamos e instalamos o mod_ruby da seguinte forma:

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, devemos adicionar o módulo mod_ruby à configuração do Apache, então criamos o arquivo /etc/httpd/conf.d/ruby.conf…

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

| LoadModule ruby_module modules/mod_ruby.so |

… e reiniciamos o Apache:

/etc/init.d/httpd restart

3 Mandriva 2008.0

Mandriva 2008.0 tem um pacote mod_ruby que podemos instalar da seguinte forma:

urpmi apache-mod_ruby

Esse pacote vem com uma configuração do mod_ruby que habilita o mod_ruby globalmente para todos os sites. Portanto, precisamos desativá-lo agora para que possa ser habilitado no ISPConfig em uma base por site:

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

Comente ou delete tudo nesse arquivo, exceto as seguintes linhas:

| LoadModule ruby_module extramodules/mod_ruby.so |

Então reinicie o Apache:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3 não tem um pacote mod_ruby, portanto, devemos compilá-lo manualmente. Primeiro, instalamos as dependências:

yast -i apache2-devel ruby ruby-devel

Depois, construímos o mod_ruby da seguinte forma:

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 o mod_ruby, abrimos /etc/sysconfig/apache2 e adicionamos ruby à linha APACHE_MODULES, por exemplo, assim:

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

Depois, executamos

SuSEconfig

e reiniciamos o Apache:

/etc/init.d/apache2 restart

5 Usando mod_ruby

Agora vamos supor que você tenha criado um site no ISPConfig com o diretório raiz do documento /var/www/web1/web. Se você habilitar Ruby para esse site, o ISPConfig adiciona algo como isto à configuração do vhost do Apache do site:

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

(Se você não usar o ISPConfig, então, é claro, você pode adicionar isso manualmente à sua configuração de vhost, mas não se esqueça de ajustar os caminhos e reiniciar o Apache depois.)

Para ver se o mod_ruby está funcionando, criamos o arquivo Ruby /var/www/web1/web/hello_world.rb:

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

| # A classe Greeter class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # Cria um novo objeto g = Greeter.new("world") # Saída "Hello World!" g.salute |

O arquivo deve ser executável, então executamos:

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

Agora você pode chamar o arquivo em um navegador; se tudo correr bem, deve exibir uma mensagem Hello World!

6 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.