Ubicación: Inicio > Programación > Ruby > Rails sobre Passenger > Instalar una aplicación

Instalar una aplicación Rails sobre Passenger

A continuación explicamos los pasos habituales necesarios para instalar cualquier aplicación Rails y que esta se ejecute usando Passenger.

Procedimiento

1 - Crear la aplicación Rails

Sube o crea tu aplicación Rails (por ejemplo “miapp”) en el directorio principal de tu cuenta de alojamiento, de forma que su ubicación sea /home/<usuario>/miapp .

Nota: No es necesario ubicar la aplicación en el directorio raíz de tu cuenta de alojamiento, otro buen sitio podría ser /home/<usuario>/ruby/miapp .

2 - Crear la dirección Rails

El segundo paso es lo que denominamos crear una dirección Rails que, básicamente, consiste en comunicar a Passenger la existencía de una aplicación Rails en una dirección determinada.

Para hacerlo, accedemos al panel de hosting de nuestra cuenta de alojamiento y luego a la sección Ruby on Rails. Una vez dentro, creamos la dirección Rails tal y como se ve en la imagen:

Crear dirección Rails

Debemos seleccionar el dominio y la ubicación relativa a este dominio donde queremos alojar nuestra aplicación. En el ejemplo de la imagen, habremos creado la dirección Rails http://tudominio.com/, es decir, la aplicación Rails se verá en la raíz de tu dominio.

Pero puedes crear la dirección que prefieras, por ejemplo, podrías crear la dirección Rails http://tudominio.com/blog, tal y como se ve en la imagen:

Crear dirección Rails

Aplicaciones en dominios adicionales

Si tu aplicación Rails va a estar alojada en un dominio adicional, debes tener en cuenta que este dominio no aparecerá en el menu desplegable de hosts. Tendrás que seleccionar como host el subdominio asociado al dominio adicional. Puedes conocer fácilmente cual es ese subdominio desde la sección Dominios adicionales del panel de control.

3 - Hacer la aplicación accesible vía web

Suponiendo que tu aplicación Rails esta ubicada en /home/<usuario>/miapp, el directorio público de la misma será /home/<usuario>/miapp/public. Lo que tenemos que conseguir es que este directorio public sea accesible vía web en la dirección Rails que hemos creado para la aplicación.

Dado que una dirección Rails puede ser de 4 tipos diferentes y en los cuatro casos, este paso se debe hacer de forma diferente, vamos a separar el pasos en cuatro:

Hacer la aplicación accesible en un directorio

Supongamos que la dirección Rails es http://tudominio.com/blog y que tudominio.com es el dominio principal de tu cuenta de alojamiento.

Por tanto, tenemos que asociar el directorio public_html/blog con el directorio public de la aplicación, para ello accedemos vía SSH a la cuenta de alojamiento y ejecutamos:

cd public_html
ln -s /home/<usuario>/miapp/public blog

Suponiendo que tu aplicación usa Rails 2.3 o superior y es accesible vía http://tudominio.com/blog, debes añadir la siguiente línea al archivo config/environment.rb:

config.action_controller.relative_url_root = "/blog"

Hacer la aplicación accesible en el dominio principal

Supongamos que la dirección Rails es http://tudominio.com/ y que tudominio.com es el dominio principal de tu cuenta de alojamiento.

Por tanto, tenemos que asociar el directorio public_html con el directorio public de la aplicación, para ello accedemos vía SSH a la cuenta de alojamiento y ejecutamos:

mv public_html public_html.bak
ln -s /home/<usuario>/miapp/public public_html

Si hasta este momento tenías algo en public_html tendrás que copiarlo a la ubicación correcta:

cp -a public_html.bak/* public_html/

En cambio, si no tenía nada, puedes borrar la copia de seguridad que hemos creado:

rm -fr public_html.bak

Hacer la aplicación accesible en un subdominio

Supongamos que la dirección Rails es http://blog.tudominio.com/ y que el directorio raíz que definiste al crear el subdominio blog.tudominio.com es public_html/blog.

Por tanto, tenemos que asociar el directorio public_html/blog con el directorio public de la aplicación, para ello accedemos vía SSH a la cuenta de alojamiento y ejecutamos:

cd public_html
mv blog blog.bak
ln -s /home/<usuario>/miapp/public blog

Si hasta este momento tenías algo en este subdominio tendrás que copiarlo a la ubicación correcta:

cd public_html
cp -a blog.bak/* blog/

En cambio, si no tenías nada, puedes borrar la copia de seguridad que hemos creado:

cd public_html
rm -fr blog.bak

Hacer la aplicación accesible en un dominio adicional

Esta opción es similar a la anterior. Supongamos que la dirección Rails es http://tuotrodominio.com/ y que el directorio raíz que definiste al añadir el dominio adicional tuotrodominio.com es public_html/tuotrodominio.com.

Por tanto, tenemos que asociar el directorio public_html/tuotrodominio.com con el directorio public de la aplicación, para ello accedemos vía SSH a la cuenta de alojamiento y ejecutamos:

cd public_html
mv tuotrodominio.com tuotrodominio.com.bak
ln -s /home/<usuario>/miapp/public tuotrodominio.com

Si hasta este momento tenías algo el este dominio adicional tendrás que copiarlo a la ubicación correcta:

cd public_html
cp -a tuotrodominio.com.bak/* tuotrodominio.com/

En cambio, si no tenías nada, puedes borrar la copia de seguridad que hemos creado:

cd public_html
rm -fr tuotrodominio.com.bak

4 - Definir la raíz de la aplicación

Por último, suponiendo que el directorio raíz de tu aplicación es /home/<usuario>/miapp y que el directorio public es /home/<usuario>/miapp/public, debes añadir en el siguiente archivo:

/home/<usuario>/miapp/public/.htaccess

La siguiente línea:

PassengerAppRoot /home/<usuario>/miapp

Una vez funcione...

Cuando hayas conseguido que la aplicación Rails funcione correctamente te recomendamos que hagas un freeze de las gemas que usa, esta sencillo como ejecutar:

rake rails:freeze:gems

Con esto se guardarás las gemas de rails y sus dependencias en el directorio vendor/rails de la aplicación, forzando a la aplicación que siempre use las gemas congeladas. De esta forma, evitas problemas derivados de actualizaciones o migraciones.


instalar-una-aplicacion-rails-sobre-passenger.txt · Última modificación: 2009/09/21 13:55 por aitor

© Ekostat Informatica, S.L.  -  Aviso legal  -  Creditos  -  Mapa  -  ( XHTML y CSS correctos )