eRuby
Programando em Ruby no Estilo PHP.
Pra você que está saindo de PHP ou quer iniciar o desenvolvimento para web com Ruby, mas ainda não escolheu um dos poderosos frameworks MVC disponíveis para Ruby, você pode começar sua jornada com o eRuby.
O que é eRuby?
É uma linguagem para embutir código ruby em arquivos HTML.
Instalando o eRuby e o Apache no CentOS 5.3
# yum install eruby httpd
Ajustando o Apache para rodar código Ruby
# ln -s /usr/bin/eruby /var/www/cgi-bin/eruby
# vim /etc/httpd/conf/httpd.conf
[...]
DirectoryIndex index.rhtml index.html index.html.var
[...]
<Directory "/var/www/cgi-bin">
AllowOverride All
Options All
Order allow,deny
Allow from all
</Directory>
[...]
AddType application/x-httpd-eruby .rhtml
Action application/x-httpd-eruby /cgi-bin/eruby
[...]
<ESC>:wq
# service httpd restart
Testando algum código Ruby
# vim /var/www/html/tabela_com_hash.rhtml
<html>
<head><title>Nossa Primeira Pagina com eRuby</title></head>
<body>
<table border=1>
<tr><th>Nome</th><th>Idade</th></tr>
<% hash_nomes = {:Pedro => 25, :Maria => 23, :Fernando => 14 } %>
<% hash_nomes.each do |chave, valor| %>
<tr>
<td>
<% puts "#{chave}" %>
</td>
<td>
<% puts "#{valor}" %>
</td>
</tr>
<% end %>
<table>
</body>
</html>
<ESC>:wq
Resultado do arquivo tabela_com_hash.rhtml:

E aí está o conteúdo dinâmico gerado com o eRuby!
Usando o Lighttpd ao invés do Apache
Para configurar o eRuby no Lighttpd é muito simples, mas no CentOS você precisa adicionar o repositório do rpmforge para instalá-lo via yum. Para configurar o repositório rpmforge basta fazer o seguinte:
Se sua arquitetura for i386 baixe este pacote:
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Mas se for x86_64:
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Agora instale o pacote baixado de acordo com a sua arquitetura e você já terá acesso ao repositório rpmforge disponível para poder instalar o Lighttpd:
# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Instale o Lighttpd:
# yum install lighttpd
Altere as seguintes linhas no lighttpd.conf:
# vim /etc/lighttpd/lighttpd.conf
[...]
server.modules = (
# "mod_rewrite",
# "mod_redirect",
# "mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
# "mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
"mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
"mod_accesslog" )
[...]
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm",
"index.rhtml" )
[...]
cgi.assign = ( ".rhtml" => "/usr/bin/eruby")
[...]
<ESC>:wq
# service lighttpd restart
# vim /srv/www/lighttpd/index.rhtml
<html>
<head><title>Nossa Primeira Pagina com eRuby</title></head>
<body>
<h1>eRuby no Lighttpd!</h1>
<%
linguagem = "Ruby"
if linguagem == "Ruby"
puts "OK"
else
puts "PHP"
end
%>
</body>
</html>
<ESC>:wq
Agora você já pode executar seus códigos Ruby no leve Lighttpd!