Instalar y migrar Redmine 2.6.1 en Debian Jessie

Cómo migrar Redmine a otro servidor.
Comparte con tus amigos










Enviar

Redmine es una herramienta web de gestión de proyectos que integra un sistema de seguimiento, permitiendo cubrir todo el proceso de creación, desarrollo y cierre de un proyecto. Además, incluye otras herramientas por defecto como un calendario, diagramas de Gantt, wikis, foros, visor de repositorios de control de versiones y un largo etcétera que puede ampliarse aún más a través de plugins.

Está escrito con el framework Ruby on Rails, es open source y su primera versión se lanzó en junio de 2006. A día de hoy cuenta con la versión 3.3.2, lanzada en enero de 2017.




El motivo de instalar una versión antigua de Redmine (2.6.1 vs 3.4.3) en un sistema relativamente nuevo es debido a que se trata de una migración desde otro servidor y la actualización de Redmine será posterior.

Existen múltiples formas de instalar esta herramienta de gestión de proyectos, que en ocasiones se utiliza como gestor de tickets dentro de una empresa. En este caso lo haré siguiendo la documentación oficial HowTo Install Redmine on Debian 8 with Apache2-Passenger que como bien dice se realiza mediante Passenger, un módulo de conexión entre Ruby y Apache2 que es compatible con servidores web nginx.

El entorno final será una máquina Debian Jessie (Debian 8) con Apache2, montando Redmine con el módulo Passenger y su base de datos con el motor de base de datos MySQL. Igualmente, veremos como instalar los dos plugins procedentes de la antigua instalación y el theme personalizado, así como exportar los ficheros adjuntos.

Ejecuta todos los comandos como usuario normal. Si requiere privilegios de root necesitas utilizar sudo. Consulta cómo añadir un usuario a “sudoers”, para darle permisos de administrador.

Instalación de Redmine 2.6.1 en Debian Jessie 8.7

Instalación de los paquetes en Debian

Comenzamos con la instalación de los paquetes necesarios para la ejecución de Redmine en Debian Jessie. Recuerda que debes hacerlo como usuario sin privilegios, anteponiéndole sudo.

Este comando instalará Apache, MySQL y Passengers así como diversas librerías.
sudo apt install mysql-server mysql-client libmysqlclient-dev gcc build-essential zlib1g zlib1g-dev zlibc ruby-zip libssl-dev libyaml-dev libcurl4-openssl-dev ruby gem libapache2-mod-passenger apache2-mpm-prefork apache2-dev libapr1-dev libxslt1-dev checkinstall libxml2-dev ruby-dev vim libmagickwand-dev imagemagick

Descargar, configurar e instalar Redmine

Descargar Redmine 2.6.1

Creamos el directorio donde se ubicará Redmine y establecemos al usuario sin privilegios como propietario. Luego descargamos con wget el paquete comprimido de la versión que deseamos.

Las distintas versiones de Redmine podemos encontrarlas en su página oficial: http://www.redmine.org/releases/

Configuración de la base de datos MySQL

Accedemos al sistema gestor de base de datos MySQL con la ejecución de mysql -u root -p

En él creamos una base de datos de nombre redminebd y un usuario llamado redmineuser con todos los privilegios sobre esa base de datos.

Seguidamente nos ubicamos en el directorio descomprimido y copiamos el fichero de configuración de ejemplo. Para ello ejecutamos cp config/database.yml.example config/database.yml

Editamos el fichero /opt/redmine/redmine-2.6.1/config/database.yml y modificamos los parámetros de conexión con la base de datos de producción, quedando así en nuestro caso:

Instalación del paquete

Ubicados en el directorio /opt/redmine/redmine-2.6.1 ejecutamos la instalación del gestor de gemas de Ruby llamado bundler.

Ejecutamos sudo gem install bundler para instalar la gema y luego bundle install --without development test para ejecutar la instalación del bundle.

Finalizará advirtiendo que, según nuestra versión de Ruby, deberemos de instalar unas dependencias o no. En nuestro caso no es necesario instalar ninguna gema adicional.

Instalación de Redmine en Debian Jessie.

Instalación de gemas para Redmine.

Esto instalará solo el escenario de producción, no instalando el de desarrollo ni el de testeo. Generamos una clave secreta con bundle exec rake generate_secret_token.

Por último ejecutamos la preparación de la base de datos y la instalación de todas las tablas RAILS_ENV=production bundle exec rake db:migrate

Si ejecutamos RAILS_ENV=production bundle exec rake redmine:load_default_data cargará datos de prueba en nuestra instalación de Redmine.

Configuración de Apache

El servicio de Apache corre con el usuario www-data, por ello este usuario necesita acceso a algunos directorios. Ejecutamos en nuestra terminal la siguiente batería de comandos:

Creamos un enlace simbólico hacia el directorio de la instalación, de manera que el servidor web pueda servirlo a través de HTTP: sudo ln -s /opt/redmine/redmine-2.6.1/public/ /var/www/html/redmine

Editamos el fichero /etc/apache2/sites-available/000-default.conf, que es el VirtualHost generado por defecto.

En nuestro caso, al ser un servidor recién instalado, este sería nuestro VirtualHost sin comentarios:

Editamos el fichero /etc/apache2/mods-available/passenger.conf, quedando así:

Recargamos el servidor web para que reciba los cambios realizados en la configuración: sudo /etc/init.d/apache2 reload

Migración del Redmine 2.6.1 en producción

El siguiente paso es copiar los datos del gestor de proyectos que ya se encuentra en uso en nuestro servidor con Debian 6.0. Para ello es necesario, principalmente, dos elementos: la base de datos y los ficheros adjuntos. Comenzaremos con la copia de ficheros adjuntos, que puede llevarnos más tiempo y mientras tanto podemos realizar el volcado de la base de datos.

La copia la realizo mediante el comando scp, pero también puede ser útil realizar una carpeta compartida entre ambos servidores.

En la mayoría de los siguientes pasos hay que recargar el servidor web para que los cambios surtan efectos.

Copiado de ficheros adjuntos de Redmine

Los ficheros adjuntados a las tareas de los proyectos se ubican en el directorio files de nuestra instalación de Redmine. Estos están organizados por años y luego por meses.

Para hacer más fácil el volcado podemos comprimir y empaquetar el directorio con el comando: tar -czvf filesredmine.tar.gz /var/lib/redmine/files/ El directorio de instalación no tiene porque ser el mismo que muestro en el comando, pero en este caso es ese. Si necesitamos cerrar la terminal porque estemos a final de nuestra jornada de trabajo o cualquier otro motivo, podemos hacerlo con nohup tar -czvf /opt/backup-wikis/filesredmine.tar.gz /var/lib/redmine/files/ & que continuará con la ejecución aunque cerremos la sesión activa.

Una vez comprimido podemos copiarlo a través de scp filesredmine.tar.gz root@194.140.2.146:/migracionEGZ que igualmente podemos transferirlo con nohup scp filesredmine.tar.gz root@194.140.2.146:/migracionEGZ &

Volcado de la base de datos de producción

Mientras tanto, podemos realizar el volcado de la base de datos, que por norma general llevará muchísimo menor tiempo. Antes debemos de realizar una exportación con mysqldump -u root -p redmine > redmineproduccion.sql

Tras transferirlo al nuevo servidor de la misma manera que los archivos adjuntos, realizamos la importación de la base de datos con mysqldump -u root -p redminebd < redmine_oet.sql

Instalar un nuevo theme en Redmine

El theme instalado en el Redmine en producción es el Circle Theme 2.0.2. Aún así, he encontrado la versión 2.1.1 en su página oficial Circle Theme for Redmine – 100% responsive flat design from RedmineUP que funciona sin problemas.

Para descargar deberás introducir tu email, donde recibirás un link de descarga. Luego descomprimir el archivo descargado con unzip circle_theme-2_1_1.zip y ubicar la carpeta resultante en /opt/redmine/redmine-2.6.1/public/themes

Como está activado en la base de datos importada, no será necesario activarlo. Aún así, si la apariencia de Redmine no cambia, accede Administración>Configuración>Mostrar para comprobar que Circle aparece en el listado de temas.

Instalar nuevos plugins en Redmine

Igualmente, comprobé para actualizar los plugins de Redmine a la última versión compatible con la instalación realizada. Estos plugins son Redmine Agile y Scrum.

Redmine Agile está instalado en su versión 1.3.11 y Scrum en la versión 0.9.1.

Actualizaré Redmine Agile a la versión 1.4.3 descargándolo de su página oficial. También actualizaré Scrum a la versión 0.10.0, aunque ya está disponible la versión 0.16.2, esta que instalo es la última compatible con Redmine 2.x.

Ambos archivos comprimidos los ubicamos y descomprimimos en /opt/redmine/redmine-2.6.1/plugins para luego ejecutar su instalación con bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Los nombres de los directorios no deben contener espacios o caracteres extraños. De lo contrario, no se ejecutará la instalación y nos dará un error 500 al acceder a la sección de plugins.

Configurar las notificaciones por correo electrónico

Por último, podemos configurar que se realicen notificaciones a través de correo electrónico a los usuarios de Redmine. Esto notificará, según la configuración del usuario, nuevas tareas asignadas, cambios en el estado de la tareas, nuevos comentarios…

Para ello accedemos al apartado Administracion>Configuración>Notificaciones por correo donde aparece el mensaje “Las notificaciones están desactivadas porque el servidor de correo no está configurado. Configure el servidor de SMTP en config/configuration.yml y reinicie la aplicación para activar los cambios.”

Las configuraciones del envío de correos electrónicos se realizan en el fichero ubicado /opt/redmine/redmine-2.6.1/config/configuration.yml Antes debemos copiar el ejemplo.

Al final del archivo, añadimos la configuración de nuestro servidor de SMTP, que en este caso está instalado en otro servidor.

Compartir es agradecer. Si te ha gustado... ¡compartélo!
Comparte con tus amigos










Enviar

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *