Problema de ImageMagick (rmagick) y passenger (mod_rails)
Recientemente en uno de mis proyectos estamos utilizando el plugin para subir archivos paperclip tutorial, este plugin tiene características de re-dimension de imágenes pero dentro de nuestro servidor web no funcionaba, lo que nos parecio bastante raro, buscando por internet encontré que el problema se debía al momento de usar mod_rails, el cual no cargaba las librerías necesarias, en este caso a ImageMagick, aqui el mismo problema pero para oracle y algunas de sus librerias.
La solución es la siguiente:
Ir a la carpeta del ejecutable de rails, en mi caso es ruby-enterprise, o en una carpeta cualquiera que tengas acceso, luego se crea el archivo ruby_rmagick y dentro del cual se añade:
#!/bin/bash
export MAGICK_HOME="/usr/local/lib/ImageMagick-6.4.2" # ruta a ImageMagick
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"
export PATH=$MAGICK_HOME/bin:/usr/local/bin/:$PATH /opt/ruby-enterprise/bin/ruby $* # ruta al Interprete de ruby
El cual añade las variables necesarias y llama al interprete de ruby, lo guardamos y le asignamos permisos de ejecucion.
Ahora editamos el archivo con el que se configuro mod_rails para que cargue el nuevo archivo que acabamos de grabar:
LoadModule passenger_module /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.2
PassengerRuby /opt/ruby-enterprise/bin/ruby_rmagick # Aqui se cambia al nuevo interprete
Este archivo de configuracion es para passenger 2.0.2 para versiones 1.X.X debes de cambiar
RailsRuby /usr/local/bin/ruby_rmagick




























Edgar J. Suarez dijo
5 de Diciembre del 2008 a las 4:38 am
Hola carakan,
A mi me pasa un problema con paperclip y passenger también.
Cuando subo una imagen, el archivo se sube correctamente pero no se ve en la página… sólo se ve el nombre. Si le cambio los permisos al archivo que se subio a 644, la imagen se ve correctamente. Esto es usando passenger.
Pero si subo una imagen en una aplicacion corriendo sobre mongrel, entonces la imagen se ve perfectamente. Incluso corriendo mongrel puedo ver la imagen que subi con passenger sin necesidad de poner dichos permisos al archivo…
Esto es muy extraño, he buscado soluciones pero ninguna me funciona hasta ahora… alguna sugerencia?
Gracias!
Carlos Ramos dijo
5 de Diciembre del 2008 a las 10:37 am
Es extraño ese comportamiento, a mi parecer puede ser que los permisos de Apache no esten configurados correctamente, o a su ves no instalaste en modo administrador mod_rails/mod_rack o ImageMagick es bastante extraño.
Otro es intentar dar permisos de grupo (apache) a config/envinroment.rb asi:
sudo chown apache config/envinroment.rb
Saludos cordiales.