Cómo instalar Redmine en Debian 9 Stretch

Cómo instalar Redmine en Debian 9 Stretch

En este artículo veremos cómo instalar Redmine en Debian 9 Stretch paso a paso, un aclamado administrador de proyectos que al final de este tutorial tendrás  funcionando sobre tu servidor o VPS Debian.

Antes de instalar Redmine en Debian 9 Stretch

Si quieres seguir esta guía de instalación de Redmine en Debian 9 Stretch deberías satisfacer al menos los siguientes requisitos mínimos:

  • Una máquina Debian 9 Stretch actualizada.
  • Servidor web Apache.
  • Un servicio de bases de datos (MariaDB/MySQL, PostgreSQL, etc.)
  • Acceso a línea de comandos con un usuario con permisos de sudo o el mismo root.
  • Conexión a Internet.

En este tutorial asumimos Apache como servidor web y MariaDB/MySQL como servicio de bases de datos. Si aún no dispones de este entorno puedes echar un vistazo rápido a la guía de instalación del servidor web Apache en Debian 9 Stretch y a la guía de instalación y configuración de MariaDB en Debian 9, o a la guía de instalación de MySQL Server en Debian 9.

Con respecto a la versión de MariaDB 10.1 de los repositorios de Debian 9 no sirve. Al menos actualiza a MariaDB 10.2 (mejor a 10.4) de mariadb.org. Hemos probado MySQL 5.7 y también funciona.

Cómo instalar Redmine en Debian 9 Stretch

Vamos a descargar Redmine para Debian 9 Stretch desde su sitio web oficial. La razón es que, existiendo paquetes en los repositorios de Debian 9, la versión disponible es la 3.3.1, mientras que el último lanzamiento de Redmine 3 a la hora de redactar esta guía es la versión 3.4.12. No podemos optar a Redmine 4 puesto que se basa en Ruby 2.4, y en Debian 9 está disponible Ruby 2.3.

Acudiendo a la zona de descargas encontraremos las últimas versiones de cada rama:

como descargar redmine para debian 9 stretch

Puedes descargar el paquete directamente desde el navegador, pero en este tutorial copiaremos el enlace del paquete .tar.gz y lo descargaremos desde consola con el comando wget:

~$ wget https://www.redmine.org/releases/redmine-3.4.12.tar.gz

Requisitos previos

Para poder instalar Redmine en Debian 9 Strech necesitaremos satisfacer un buen número de dependencias entre herramientas de desarrollo y librerías, así que lo mejor es empezar actualizando las listas de paquetes de la distribución:

~$ sudo apt update

Y a continuación instalamos los paquetes necesarios:

~$ sudo apt install -y gcc make patch pkgconf libapache2-mod-passenger libmagickwand-dev ruby-bundler ruby-dev

Si usas MariaDB como servicio de bases de datos, habrá que instalar también su librería de desarrollo:

~$ sudo apt install -y libmariadbclient-dev-compat

En el caso de usar cualquier versión de MySQL Server sería esta la librería a instalar:

~$ sudo apt install -y libmysqlclient-dev

Y si se trata de MySQL 8, además de la anterior también habrá que instalar la siguiente librería de desarrollo:

~$ sudo apt install -y libssl-dev

Base de datos para Redmine

Tenemos que preparar la base de datos que utilizará Redmine en Debian 9.

Conectaremos con MariaDB/MySQL con el cliente de consola mysql y el usuario que usemos habitualmente para administrar:

~$ mysql -u root -p

Creamos la base de datos para Redmine:

> create database redmine;

En el caso de usar MariaDB o MySQL 5.x, creamos el usuario como de costumbre:

> create user redmine@localhost identified by 'XXXXXXXX';

Pero si el servidor es MySQL 8.x entonces nos aseguramos de crear el usuario con el plugin adecuado:

> create user redmine@localhost identified with mysql_native_password by 'XXXXXXXX';

A continuación concedemos los permisos al usuario sobre la base de datos:

> grant all privileges on redmine.* to redmine@localhost;

Ya podemos cerrar el cliente:

> exit

Archivos de Redmine

Empezamos con la instalación de Redmine, creando un directorio donde alojar la aplicación:

~$ sudo mkdir /opt/redmine

Descomprimimos el paquete de Redmine que descargamos anteriormente en su ubicación definitiva:

~$ sudo tar xzf redmine-3.4.12.tar.gz -C /opt/redmine/

Configuramos la conexión a la base de datos para Redmine, creando el archivo database.yml:

~$ sudo nano /opt/redmine/redmine-3.4.12/config/database.yml

Y creamos la configuración, en este caso con los datos de conexión a MariaDB/MySQL:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: XXXXXXXX

Guardamos los cambios y cerramos el archivo.

Ahora cambiaremos el directorio de trabajo al directorio de Redmine:

~$ cd /opt/redmine/redmine-3.4.12/

Comenzamos con la instalación de Redmine y sus componentes:

$ bundle install

Generamos el token con el que se cifrarán las cookies:

$ bundle exec rake generate_secret_token

Creamos la estructura de la base de datos de Redmine:

$ RAILS_ENV=production bundle exec rake db:migrate

Y cargamos los datos iniciales:

$ RAILS_ENV=production bundle exec rake redmine:load_default_data

Se nos preguntará el idioma que preferimos (por defecto es el inglés):

...
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]

En este ejemplo elegiremos es. para español. Existe también la versión es-PA referida al español de Panamá.

Probar la instalación de Redmine

En este punto la instalación de la aplicación ha terminado. Antes de pasar a la configuración del servidor web podemos ver si todo funciona como debería, lanzando un servidor de prueba desde consola.

Este servidor de prueba espera peticiones en el puerto 3000 TCP. Si vas a probar el servicio desde la red y tienes activado el firewall UFW en Debian 9, añade una regla:

$ sudo ufw allow 3000/tcp

Lanzamos la prueba desde consola:

$ bundle exec ruby /usr/local/bin/rails server -b 0.0.0.0 webrick -e production

Y probamos Redmine desde un navegador, indicando la dirección IP o dominio del servidor Debian 9, añadiendo el puerto 3000. En este ejemplo, usamos http://debian9.local:3000 como URL:

como instalar redmine en debian 9 stretch

La prueba es exitosa y la aplicación es completamente funcional.

Pulsando Control+C se cierra el servidor de prueba y recuperamos la consola para seguir trabajando.

Configurar Apache

Cambiamos el propietario de los archivos de Redmine al usuario con el que corre el servidor web en Debian 9 (www-data para Apache):

$ sudo chown -R www-data:www-data /opt/redmine/redmine-3.4.12/

Igualmente cambiamos los permisos necesarios:

$ sudo chmod -R 755 files/ log/ tmp/ public/plugin_assets/

Ahora conectaremos el directorio de archivos del sitio web por defecto de Debian 9 con la aplicación Redmine mediante un enlace simbólico:

$ sudo ln -s /opt/redmine/redmine-3.4.12/public/ /var/www/html/redmine

Reconfiguramos el servidor virtual por defecto para tener en cuenta la configuración de la ruta de Redmine:

$ sudo nano /etc/apache2/sites-available/000-default.conf

Añadiremos el siguiente bloque Location para Redmine dentro del bloque VirtualHost:

...
        <Location /redmine>
                RailsEnv production
                RackBaseURI /redmine
                Options -MultiViews
        </Location>
...

Y guardamos los cambios.

Por otro lado editamos la configuración del módulo Passenger para Apache:

$ sudo nano /etc/apache2/mods-available/passenger.conf

Y añadimos la directiva PassengerUser dentro del bloque IfModule:

<IfModule mod_passenger.c>
...
        PassengerUser www-data
...
</IfModule>

Finalmente recargamos la configuración del servidor web:

$ sudo systemctl reload apache2

Acceder a Redmine en Debian 9

Terminada la instalación y configuración de Redmine y el servicio web, accederemos a la aplicación utilizando la URL que corresponda según la configuración que hemos establecido.

En este caso la URL se construye añadiendo la ruta /redmine a la dirección IP, nombre de máquina o dominio del servidor Debian 9. Por ejemplo, en la máquina de este tutorial http://debian9.local/redmine sería la URL a utilizar:

instalar redmine en debian 9 stretch

¡Funciona!

Puedes iniciar sesión con el administrador, siendo el usuario admin y la contraseña inicial también admin. El sistema obliga a cambiar la contraseña incial por una nueva:

instalacion de redmine en debian 9 stretch

Una vez cambiada la contraseña, accedemos directamente al perfil de la cuenta del administrador:

redmine en debian 9 stretch

Una vez guardados los cambios, ya podemos empezar a gestionar proyectos y usuarios, aunque eso ya excede del alcance de esta guía.

Conclusión

Ya sabes cómo instalar Redmine en Debian 9 Stretch, un proceso que puede ser confuso debido a las dependencias requeridas, las versiones del software soportado, el proceso en sí de instalación de Redmine, etc. Pero en esta guía hemos hecho el esfuerzo de que partas de la configuración que partas consiguas llegar a buen puerto.

En caso de dudas, preguntas, sugerencias, etc. o si en algún punto de la instalación no has conseguido continuar, puedes dejar un comentario.

Si te ha resultado útil esta guía de instalación de Redmine en Debian 9 Stretch, ¡puedes invitarme a un café si te apetece!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies