eRuby: Guía de Configuración de Ruby para Apache

9 08 2007

Aparte del método de instalación, descrito en el artículo Ruby on Rails: Configuración y Primeros Pasos, he investigado más a profundidad otros métodos. Me ha sorprendido que existe bastantes formas para lograr el soporte de Ruby sobre Apache. En lo particular, yo recomendaría este método al anterior descrito. No pretendo quitarle mérito a mi anterior artículo, solamente me refiero a que este era el que realmente estaba buscando y sobre todo, me permite combinar más tecnologías soportadas dentro del Servidor. En un artículo posterior, describiré más a detalle el por que desear tener más de un lenguaje de scripting disponible dentro del servidor. Bueno, despues de esta introducción, iniciemos con este tutorial.

Para iniciar con este manual, baldrá tener instalado el intérprete de Ruby. Los pasos de configuración están descritos en el artículo Ruby on Rails: Bienvenido a Bordo. En sintésis, debemos instalar Ruby y Ruby on Rails (si queremos trabajar con este framework).

Leyendo el manual incluido dentro de la distribución de Ruby para Windows, me tope con la noticia de que existe otra tecnología para configurar Ruby dentro de Apache. Dicho proyecto se llama eRuby y existe para muchos sistemas, incluyendo Windows. Este, es un binario que al igual que el intérprete de PHP, se agrega a la configuración de Apache.

Paso 1. Descargamos el archivo compilado de eRuby 1.0.5, y extraemos el contenido del archivo dentro del directorio de instalación de Ruby. Los directorios que debemos extraer están dentro de usr/local.

Paso 2. Abrimos nuestro archivo de configuración de Apache (httpd.conf) y agregamos las siguientes líneas:

# Revisar que la directiva AllowOverride este en All
# (solo para un servidor de pruebas)

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

AddType application/x-httpd-eruby .rhtml
AddType application/x-httpd-cgi .rhtml

# Indicamos la ruta de acceso de eRuby
Action application/x-httpd-eruby "C:/apache/ruby/bin/eruby.exe"

Paso 3. Definimos un archivo de configuración .htaccess para nuestro servidor, o a un directorio en específico y agregamos las siguientes directivas. Posteriormente, creamos un archivo de registro (ej. eruby.reg). Este archivo nos permitirá registrar el binario eruby.exe para que no sea necesario definirlo en cada archivo que creemos (una ventaja muy importante en materio de portabilidad). Para poder configurar más de un tipo de extensión para los archivos eRuby, debemos indicarlo para el archivo de registro en el segundo directorio ([HKEY_CLASSES_ROOT]\.extension\Shell\ExecCGI\Command).

# Dentro del .htaccess

Options +ExecCGI
ScriptInterpreterSource registry

# El archivo (.reg)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.rhtml\Shell\ExecCGI\Command]
@="C:\\apache\\ruby\\bin\\eruby.exe"

Paso 4. Reiniciemos nuestro servidor, creemos un nuevo archivo .rhtml y ejecutemoslo desde nuestro navegador.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
<html xmlns = "http://www.w3.org/1999/xhtml"&gt;
    <head>
        <title>Environment Variables</title>
    </head>
    <body>

        <h1>Environment Variables</h1>

        <table>
            <% ENV.keys.sort.each do |key| %>
                <tr>
                    <td style = "font-weight:bold;"><%= key %></td>
                    <td><%= ENV[key] %></td>
                </tr>
            <% end %>
        </table>

    </body>
</html>

Deberemos de ver la página con la lista de variables de entorno. Esta lista es muy parecida a la generada por PHP.

Paso 5. . Ahora, procederemos a configurar la conexión a MySQL. Realmente, no se que SGBD, es la preferida para trabajar con Ruby, pero por el momento con configurar MySQL para Ruby, bastará. Para instalar MySQL procedemos a descargarnos el paquete con el módulo desde el stio de VandomBurg.net; el autor del artículo del que me base para describir este paso. Una vez abajo, extraemos el archivo mysql.so y lo copiamos a la carpeta:

%RUBYARCHDIR%\lib\ruby\site_ruby\1.8\i386-msvcrt\mysql.so

Para terminar, copiamos la libreria DLL de MySQL (libmySQL.dll), de la carpeta bin del directorio de instalación de MySQL al directorio bin de Ruby (en mi caso: c:\apache\ruby\bin). Y con esto hemos terminado la instalación del soporte para MySQL dentro de Ruby.

<%
require 'mysql'
puts Mysql::VERSION
%>

Para corroborar que todo está funcionando correctamente, podemos crear otro archivo, y pegamos el anterior código. Si todo está funcionando correctamente, la salida debera ser: 20703 ú otro número en su defecto.

Artículos Relacionados

Anuncios




Ruby on Rails: Configuración y Primeros Pasos

24 07 2007

Como bien dijimos en el artículo anterior, Ruby es un lenguaje multipropósito. Ruby on Rails es el framework dedicado a brindar un mejor modelo de programación orientado al Web. Por ende, si está orientado al web, debería poder configurarse dentro de un servidor. Lo más común, será instalarlo en un servidor Apache. Para ello, deberemos de realizar una serie de cambio en nuestro archivo de configuración antes de iniciar.

Agregando la Aplicación en el Servidor

Antes que nada, y para ahorrarnos tiempo y esfuerzo, podriamos hacer una serie de cambios en nuestro entorno de trabajo. Algunas de las siguientes instrucciones, han sido extraídas del documento: Four Days on Rails por John McCreesh, proporcionado por un buen amigo:

C:\> subst w: c:\www\webroot
C:\> w:
W:\> rails ToDo
W:\> cd ToDo
W:\ToDo>

Las primeras modificaciones consistirán en crear una unidad de subsistema o unidad de disco virtual, para ello, hacemos uso del comando subst. Con la instruccion rails, le indicamos a la aplicación que cree la estructura base para nuestra aplicación. Luego, nos dirigimos a la carpeta del sistema de Windows y hacemos unos cambios en el archivo hosts

# La ubicación del archivo
C:\windows\system32\drivers\etc\hosts

# Agregamos esta línea
127.0.0.1 todo

# Agregamos el módulo FCGI
LoadModule fastcgi_module modules/mod_fastcgi.dll

# Y cambiamos el valor de la directiva DocumentRoot
DocumentRoot "W:/ToDo/public"

# En el archivo .htaccess de nuestra aplicación, modificamos
# dispatch.cgi por dispatch.fcgi.
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

En el computador en el que he probado estas configuraciones, el configurar así el servidor me funciona, aunque de una manera muy lenta. Posiblemente he obviado configurar alguna cosa extra. Por ello, si no contamos con un PC potente, valdría más utilizar el servidor incluido con Ruby llamado Webrick.

Ahora, que ya hemos configurado Ruby en Apache, deberíamos proceder a instalar el soporte para la base de datos. Podemos utilizar varios tipos de bases de datos con Ruby on Rails. En este caso, instalaremos la base de datos MySQL para Ruby. Si contamos con conexión a Internet todo se resume en:

gem install mysql

Al estar lista la instalación, no pedirá que elijamos el tipo de gema a intalar. Por experiencia propia, deberían de elegir la opción 3. Sino contamos con conexión a Internet, deberemos descargarnos el archivo que contiene la gema que nos permita contactarnos a MySQL desde http://gems.rubyforge.org. Mi recomendación es que se elija el archivo mysql-2.6.gem o mysql-2.7.gem. He probado con los otros y me ha dado error de conexión.

Después de este paso, podremos comenzar a desarrollar nuestras aplicaciones. En futuros artículos, describiré más a detalle, el modelo de programación que propone Ruby on Rails, para el desarrollo de aplicaciones.

Artículos Relacionados





Top 10: mis sitios favoritos de junio

23 07 2007

Deberan perdonar el retraso de esta lista, pero he estado bastante ocupado en la publicación de otros artículos. Sin embargo aquí les dejo el listado de los sitios que he encontrado en la red, este pasado mes de junio.

Artículos Relacionados





Ruby on Rails: Bienvenido a Bordo

10 07 2007

Para aquellos que son novatos en cuanto a la diversidad de tecnologías disponibles para el Web, podría decirles que Ruby es un otro lenguaje para la creación de sitios dinámicos. Pero, Ruby tiene muchas diferencias con el resto de lenguajes. Principalmente, la idea de Ruby y su estructura inicial no a sido concebida solamente para el web. De hecho, Ruby realmente es un lenguaje de propósito general. Ahora bien, Ruby on Rails si es un framework de desarrollo orientado al Web.

Pues bien, este artículo no es realmente una guía de aprendizaje para Ruby. Este tema, lo trataremos en posteriores artículos, dado que yo mismo estoy actualmente incursionando en este nuevo lenguaje (para mí). Este artículo es una guía para la instalación de Ruby sobre Apache en Windows. En este, describiré el proceso de configuración para Ruby y Ruby on Rails, en una máquina de desarrollo:

Primero, deberemos conocer que existen varios métodos para instalar Ruby en Windows. Esta el más sencillo de ellos que consiste en descargarse el paqueta Instant Rails, que con solo descomprimirse, ya tendremos listo nuestro servidor.

La otra manera, consistiría en empezar a configurar manualmente Ruby. Para esto, tambien contamos con varios métodos. Lo principal, sería descargarnos el paquete de instalación de Ruby: One Click Ruby Installer for Windows. Lo instalamos en cualquier ubicación deseada, aunque en lo particular, yo recomiendo instalarlo dentro de la carpeta de apache: c:\apache\ruby. Hasta este punto, realmente no importará que tengamos o no instalado Apache. Luego que tengamos instalado el interprete de Ruby, viene la instalación de Ruby on Rails. Si disponemos de una conexión a Internet, todo será mucho más sencillo, pues solamente bastará ingresar a una ventana del Administrador de Secuencias de Comandos (MS-DOS) y escribir:

gem install rails –include-dependencies

Si al igual que yo, no disponemos de una conexión a Internet, pues nos descargamos los paquetes independientes y lo instalamos en el siguiente orden:

Debo indicar en este punto que los archivos a descargar deben ser .gem. Luego de descargados, procederemos a instalar uno por uno los paquetes con el comando gem install.

gem install c:\activesupport-1.4.2.gem
gem install c:\actionpack-1.13.3.gem
gem install c:\actionmailer-1.3.3.gem
gem install c:\activerecord-1.15.3.gem
gem install c:\actionwebservice-1.2.3.gem
gem install c:\rake-0.7.3.gem

gem install c:\rails-1.2.3.gem

Ruby on Rails debe ser instalado, luego de tener instaladas las dependencias antes indicadas. Al ejecutar cada uno de los comandos, aparecerá información de la instalación de cada una de las “Gemas”. Al terminar, ya tendremos disponible Ruby on Rails para su uso. La dinámica de su funcionamiento, es un tanto especial. Debemos de crear un directorio de trabajo para cada proyecto. Para ello ingresamos la instrucción:

rails c:\rails\path # Rails Path es el directorio de trabajo

On Rails nos indicará que se están creando las carpetas necesarias para la aplicación. Ruby on Rails creará varias carpetas que posteriormente iremos describiendo. Por el momento, basta saber que en la carpeta PUBLIC tendremos los archivos de nuestra aplicación. Y con eso, ya tenemos instalado Ruby on Rails y podemos comenzar a programar nuestra aplicación. Por último, mediante el MS-DOS, nos dirigimos a la carpeta de trabajo e ingresamos:

ruby script/server
=> Booting WEBrick…
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with –help for options
[2007-07-09 19:42:06] INFO WEBrick 1.3.1
[2007-07-09 19:42:06] INFO ruby 1.8.6 (2007-03-13) [i386-mswin32]
[2007-07-09 19:42:06] INFO WEBrick::HTTPServer#start: pid=3536 port=3000

Vamos a nuestro explorador y tecleamos http://localhost:3000 y deberá aparecer la página de bienvenida de Ruby on Rails: Welcome on Board. Damos click en la frase: About your application’s enviroment y deberemos ver la información del proyecto On Rails

About your application's environment

Ruby on Rails nos indica que todo esta funcionando correctamente.

En caso contrario, la imagen con el cuadro amarillo, que vemos arriba, sería reemplazada por una con fondo rojo que nos mostrará un mensaje de error: Rails application failed to start properly.

Artículos Relacionados





Top 10: mis sitios favoritos de mayo

2 07 2007

Como si nada, hemos terminado el mes de Mayo. En muchos países de América L átina, el mes de mayo representa el mes de celebración para nuestras madres. Y aquí, en Dot Press, el mes de mayo termina con un nuevo listado de los mejores sitios de Internet:

Artículos Relacionados





Top 10: mis sitios favoritos de abril

7 05 2007

Al igual que la lista pasada, donde comenté acerca de los mejores sitios que había encontrado en la red, en el mes de marzo, nuevamente realizo esta lista, ahora con mis stios favoritos de abril. En este artículo, nuevamente incluyo vínculos de diversas áreas:

Artículos Relacionados





Top 10: mis sitios favoritos de marzo

30 03 2007

La primera vez hago un listado como estos para Dot Press. Muchos sitios son parte de mi listado de bookmarks en del.icio.us y otros que he encontrado en mi busqueda de mejores sitios. A continuación les listo las últimas entradas en mi listado, sin ánimo de hacer favoritos.

Artículos Relacionados