Switch to full style
Si has creado algún documento interesante, este es su sitio
Publicar una respuesta

instalación de Redmine en CentOS

Vie Mar 02, 2012 2:27 pm

Escribo este post como un recordatorio de instalación de Redmine en CentOS. Existe una guía base, pero he actualizado algún punto y hecho la configuración en base a compilados y no paquetes. El orden de ciertos apartados los he cambiado para dividir la instalación en grupos.

Primero de todo algunos conceptos básicos de Ruby, que al menos yo no conocía:

Ruby: intérprete
RubyGems: nombre del proyecto que desarrolló el sistema de empaquetado y el comando gem.
Gem: comando para instalar apps/librerías de Ruby empaquetadas.
Bundler: maneja dependencias de apps.
Gemfile: fichero donde se indican las dependencias.

(no soy experto en ruby ni de lejos. Si hay algún error indicármelo)


Es importante partir de un entorno limpio sin paquetes de Ruby, RubyGems y passenger. Si tenemos instalados tanto los binarios de los paquetes como el resultado de compilar fuentes, Redmine puede acabar utilizando aquellos que no deseemos y tener problemas adicionales (me ha pasado).

Como se dice en el HowTo, partir de un sistema con esos paquetes devel instalados y Apache y MySQL funcionando.

1) INSTALACIÓN RUBY - PASSENGER - BUNDLER - REDMINE

Compilo Ruby desde los fuentes para tener la última versión (a día de hoy ruby-1.9.3-p125.tar.bz2)

IMPORTANTE: Ruby 1.9.2 incluye RubyGems, por lo tanto no es necesario instalarlo a parte.

Ahora comprobamos que todo está instalado correctament viendo las versiones:

# ruby -v
# gem -v


Passenger lo instalo mediante estos dos comandos (no con el paquete de RPM y yum):

# gem install passenger
# passenger-install-apache2-module


Este último comando nos indicará cómo configurar Apache, pero eso lo haremos luego junto con el VirtualHost. Si queremos tener en un fichero la información que nos da el comando de instalación de Passenger, poner esto:

# passenger-install-apache2-module 2>&1 > passenger_install.log


Bajamos el tar.gz de Redmine y lo desempaquetamos en un subdirectorio de /var/www/


Ahora toca instalar bundler, crear Gemfile como indica en el texto e instalar las dependencias con bundle. Con

# gem list


veremos que tenemos las dependencias indicadas en Gemfile, a parte de passenger y bundler instalados previamente.


2) CONFIGURAR BBDD

Seguir los pasos que indica en el texto para crear la BBDD, crear las tablas y cargar datos. También toquetear database.yml para que Redmine tenga acceso a la misma.


3) CONFIGURACIÓN APACHE


En /etc/httpd/conf/httpd.conf o en un fichero a parte en /etc/httpd/conf.d/ poner:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11
PassengerRuby /usr/local/bin/ruby


Y si se quiere configurar un VirtualHost, activar NameVirtualHost en httpd.conf y adaptar los datos:

<VirtualHost *:80>
ServerName http://www.miredmine.com
DocumentRoot /var/www/html/redmine/public

<Directory /var/www/html/redmine/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>



No está de más un ErroLog, CustomLog, un Directory con opciones más específicas y toda la pesca. Pero cada uno ya sabe lo que necesita :)


Para configurar Redmine en un subdirectorio y que no dé errores con css, imágenes, js, etc

ALias /redmine /var/www/html/redmine/public
<Location "/redmine">
PassengerEnabled on
#SetHandler none
PassengerAppRoot /var/www/html/redmine/
RailsBaseURI /redmine
</Location>



La directiva PassengerEnabled sólo haría falta si en httpd.conf hubiéramos empleado la misma directiva para desactivarlo. Es decir, que en este caso sólo activaríamos Passenger cuando lo fuéramos a utilizar. Para gustos colores.

Otra forma de configurar Redmine como directorio por si la anterior no os funcionara es ésta


IMPORTANTE: SELinux puede hacer que la ruta del DocumentRoot de un VirtualHost se indique como inexistente cuando no es así. Desactivar SELinux temporalmente para ver si el problema viene de ahí:

setenforce 0


es lo mismo que hacer:

echo 0 > /selinux/enforce


Si vemos que SELinux es el que causa problemas y lo queremos desactivar de forma permanente modificar el fichero /etc/sysconfig/selinux a disabled y reiniciar.


4) ÚLTIMOS PASOS

Seguir los últimos pasos del HowTo para renombrar algunos ficheros de redmine/public y cambiar permisos y propietario.


5) PROBLEMAS ADICIONALES

Si al conectar a Redmine nos encontramos con el error

cannot load such file -- activities_helper


modificar la directiva config.cache_classes tal y como se indica en este enlace

Si diera problemas con yaml, instalar como se indica aquí

SELinux también me ha dado problemas si no se desactiva para encontrar Ruby en la ruta del script public/dispatch.cgi. Si lo desactivo me lo detecta sin problemas.



ENLACES DE INTERÉS

http://www.redmine.org/projects/redmine ... n_CentOS_5
http://www.redmine.org/projects/redmine ... un_Redmine

https://wiki.apache.org/httpd/DistrosDe ... OS.2C_RHEL:



Espero que os sirva la guía, ojalá la hubiera tenido yo a mano cuando lo tenía que configurar. Entre que no conocía nada de Ruby, SELinux y alguna cosa más, he vivido mi pequeño calvario particular :)

Saludos
Publicar una respuesta