Intentando configurar un entorno multistage en dreamhost para un proyecto personal y tras haber logrado el despliegue para mi configuración de staging, al comprobar la aplicación descubro que Passenger me da un error. Dado que según él no es un error de aplicación, me recomienda comprobar los logs del servidor web, para ver la traza del mismo.
Por si os sirve de ayuda, en dreamhost los logs del servidor, se encuentran en:
/home/username/logs/yourdomain.com/http.#####/access.log
/home/username/logs/yourdomain.com/http.#####/error.log
Los tenía localizados, pero no lograba ver nada en error.log, y en access.log sólo veía mis peticiones, lo normal.
Hace tiempo que no actualizo el servidor, y pensaba continuamente en los posibles errores que podría haber con respecto a versiones de gemas utilizadas, por lo que después de redesplegar varias veces intentando reajustar, seguía sin lograr ver la traza del error.
Tras comparar con mi instalación en local, decido buscar a fondo en el servidor, compruebo versiones de gemas, configuración, tenía cambios importantes con respecto a una versión anterior, a parte de estar utilizando una versión mucho más reciente de Rails, pero seguía sin funcionar y sin ver nada en las trazas. Cierto es que tenía algunas cosillas que no estaban del todo bien, y que gracias a esto he ido corrigiendo, pero nada que apuntase en la dirección del erro. Así que ejecuto un simple:
rake -T
si todo funciona bien con los plugins y las gemas, me dará el listado de tareas, simple; y he aquí que localizo la fuente del error! La versión de RubyGems es demasiado antigua para esta versión de Rails, la verdad es que las trazas inexistentes no han sido de gran ayuda para ver este error
. Mi versión era la 1.2.0 y se requería mínimo la 1.3.
Decidido a solucionarlo, intento actualizar, un simple:
gem update –system
… no soluciona nada, dado que responde con un:
Nothing to Update
Así que probamos la siguiente opción:
gem install rubygems-update
update_rubygems
El problema es que ya de partida la instalación de rubygems-update, versión 1.3.5, arroja unos errores, aparentemente no preocupantes al terminar de instalarse, sin embargo al intentar ejecutar el segundo comando, nos da un error, siento no haber anotado la traza.
Navegando en internet, descubro que dicha versión tiene ese problema, que está anotado en los foros, pero que no ha sido resuelto, y la recomendación es: instalación manual; ante esto me han entrado las dudas y la simple pereza. Si actualizaba, ¿existirían problemas con mis gemas instaladas en mi directorio personal? Tendría que reinstalarlo todo, en principio suponía que no, pero no estaba del todo seguro, cuando sin embargo me he acordado de algo.
En las últimas versiones de RubyGems, si no antepones sudo, al comando de instalación, la copia se hace en la home del usuario que instala y todo funciona sin problemas, para él. Así que me he decidido por quitar todas las configuraciones que existían en mis ficheros acerca del mi propia instalación de RubyGems y he logrado comprobar que los chicos de dreamhost ya habían actualizado a la última versión. Así que ni corto ni perezoso he pasado de actualizar manualmente mi copia, y eso sí, continuaré utilizando mi instalación de gemas en mi cuenta de usuario, así podré controlar que gemas instalo y que versiones, dado que no siempre he encontrado las gemas que necesitaba instaladas, es por esto por lo que empezó todo (…y por no poder ejecutar sudo
).

Desde ayer estoy disfrutando de lo que se está viendo en la conferencia rails; por tercer año consecutivo se está celebrando en Madrid y por primera vez para mi puedo asistir.
Últimos comentarios