Mongrel, apache2 y sarge en minutos en 20 minutos
Introducción
El otro día me hizo falta hacer una instalación de mongrel sobre sarge y la verdad tenía algunos problemas que tenía que resolver
- La versión de ruby que necesita era ruby 1.8.4 mientras que en sarge tenemos 1.8.2
- No hay paquetes para sarge de rails
- Y por supuesto mongrel tampoco lo tenemos
Fase I - Versión de ruby
Tenía que actualizar paquetes para ruby y no me hace nada de gracia mezclar paquetes de dos ramas de debian, pero estaba obligado a actualizar ruby y quería hacerlo con paquetes deb, la solución es fácil compilar paquetes de sarge para ruby, lo hice con la versión de ruby 1.8.5, básicamente añadí una fuente de paquetes para bajarme el código fuente y luego compilarlo para crear paquetes para sarge aquí está el resumen. Tengo que advertir que tarda algo en compilar, osea que en este punto te puedes a tocar un café o lo que quieras.
apt-get update
cd /usr/src
apt-get install dpkg-dev
apt-get source ruby1.8
apt-get build-dep ruby1.8
apt-get install devscripts
cd ruby1.8-1.8.4/
debuild
cd ..
rm *elisp*
dpkg -i *.deb
Fase II - Instalación de rails y mongrel
Para esto me baje una versión actualizada de gem para luego instalar rails y mongrel, sólo tuve que usar gem para esto. Lo único que tuve que hacer es elegir la versión de mongrel y elegí la última.
tar zxf rubygems-0.8.11.tgz
cd rubygems-0.8.11
ruby setup.rb
gem install rails -include-dependencies
gem install mongrel -include-dependencies
Fase III - configurar apache2 para con el proxy para mongrel
Esto lo hice con apache2 para esto a parte del apache debes tener el paquete
Order deny,allow
Allow from all
</Proxy>
Ahora sólo nos quedaría configurar el archivo de apache que contenga el virtual hosts en dónde queremos redirigir a la aplicación que correo bajo mongrel (supongo que la ejecutamos en localhost y por el puerto 3000), las barras finales son muy importantes, si no las pones no funciona.
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:300/
Ahora sólo te quedaría arrancar tu aplicación en rails con mongrel y reiniciar apache y todo irá como la seda ![]()