Redmine-LogoRedmine es un gestor de proyectos libre, no tengo datos para asegurarlo pero probablemente sea uno de los más usados, y mucho antes de llegar los servicios de GitHubque es gratuito pero no libre.

Una de las muchas ventajas es la gran comunidad de desarrolladores, habiendo plugins para casi cualquier cosa.

En este tutorial voy a dar los pasos básicos para instalar redmine en Debian Jessie (8.0)

Eligiendo versión

La versión 3.0 aun no tiene soporte para muchos plugins y después de instalarla y no poder activar muchos, me decidí a instalar una anterior: 2.6.2.

Pasos para la instalación básica

  1. Crear un usuario que ejecutará redmine (necesitamos que pueda ejecutar sudo):
    $ sudo adduser redmine
    $ sudo adduser redmine sudo
  2. Ya como ese usuario, descargamos redmine, lo descomprimimos y renombramos su carpeta como example.com:
    $ su redmine
    $ cd ~/
    $ wget http://www.redmine.org/releases/redmine-2.6.2.tar.gz
    $ tar -zxf redmine-2.6.2.tar.gz
    $ mv redmine-2.6.2 example.com
  3. Instalar dependencias (las que acaban en dev se pueden desinstalar más tarde para mantener el servidor un poco más limpio):
    $ sudo apt-get install ruby bundler build-essential bison openssl libcurl4-openssl-dev libssl-dev libmysqlclient-dev libxml2-dev libmagickwand-dev zlib1g-dev
  4. En nuestro servidor MySQL creamos una base de datos (por ejemplo: redmine) y un usuario con privilegios en ella, luego configuramos el acceso en redmine:
    $ mv config/database.yml.example config/database.yml
    $ nano config/database.yml
  5. Instalamos las gemas (dependencias de redmine) puede que nos pida la contraseña de sudo y generamos la base de datos:
    $ bundle install --without development test rmagick
    $ rake generate_secret_token
    $ RAILS_ENV=production rake db:migrate
    $ RAILS_ENV=production REDMINE_LANG=es rake redmine:load_default_data
  6. Probamos que funciona:
     $ ruby script/rails server webrick -e production -b 0.0.0.0
  7. Ahora con nuestro navegador deberíamos poder cargar http://example.com:3000 (el 0.0.0.0 es necesario si no estamos en la máquina local)
  8. Para ponerlo en producción se pueden usar varios métodos:
    • el mismo servidor integrado que lleva (webrick), no recomendado por su pobre rendimiento
    • mongrel
    • thin
    • Apache mod passenger
  9. Una vez que tengamos el gestor de su parada y arranque podemos hacer un proxy inverso con nginx o apache proxypass, por ejemplo para apache y sobre SSL esta es mi configuración:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    
    ProxyRequests Off
    <Proxy *>
     Order deny,allow
     Allow from all
    </Proxy>
    
    RequestHeader set X_FORWARDED_PROTO 'https'
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
  10. Se sobreentiende que redmine se ejecuta sólo en localhost sobre el puerto 3000

Después de la instalación podemos configurar los ajustes de correo en el archivo config/configuration.yml y procederemos a instalar algunos plugins.

Plugins

El proceso de instalación es parecido para todos:

$ git clone https://github.com/xxxxxxx/zzzzzzz.git plugins/zzzzzz
$ rake redmine:plugins:migrate RAILS_ENV=production

Es muy importante el nombre de la carpeta plugins/zzzzzz y después del proceso hay que reiniciar vuestro redmine (webrick, mongrel, thin, apache…)

Esta es mi lista de plugins:

Ya para terminar como extra, también se puede instalar temas, después de probar varios el que más me ha gustado es pixel-cookers, la instalación es muy sencilla:

$ git clone git://github.com/pixel-cookers/redmine-theme.git public/themes/pixel-cookers

Luego lo podemos seleccionar en Administración -> Configuración o en nuestro perfil personal gracias al plugin redmine_theme_changer

Para mejorar el gestor de proyectos necesitamos un buen gestor de versiones, hace tiempo descubrí gitbucket, que se despliega en un contenedor de tomcat o se puede ejecutar standalone (ya que incluye el servidor de aplicaciones jetty). Se puede ejecutar con el mismo usuario que el redmine y así podremos configurarlo para que se puedan cerrar tareas con los mensajes de commit (al estilo github) necesita JAVA (openjdk-7-jre-headless por ejemplo)

$ java -jar gitbucket.war --gitbucket.home=/home/redmine/.gitbucket --port=9090 --host=127.0.0.1

Se puede hacer otro proxypass de apache para que sea accesible a través de un subdominio igual que redmine.

Instalación de Redmine en Debian 8.0 (jessie)
Etiquetado en: