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 MariaDB, este tutorial contempla la versión 10.1 de los repositorios de Debian y las versiones hasta la 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 estable de Redmine 4 a la hora de redactar esta guía pertenece a la rama 4.3.

Debido a la versión de Ruby incluida en Debian 9 no podremos trabajar con Redmine 4.3, pero sí con la última versión de la rama 4.1.

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-4.1.3.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 libapache2-mod-passenger ruby-bundler ruby-dev

Si usas MariaDB 10.1 procedente del repositorio de Debian 9 Stretch, habrá que instalar también su librería de desarrollo:

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

Si usas MariaDB procedente de sus repositorios oficiales, entonces instalaremos esta otra librería:

~$ sudo apt install -y libmariadb-dev

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

Si usas MariaDB 10.1 procedente de los repositorios de Debian 9, es importante asegurarnos de que el motor de base de datos usa los formatos de columna adecuados. Para ello editaremos el archivo 50-server.cnf:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

En la sección server añadiremos los siguientes ajustes:

...
[server]
...
innodb_file_format = Barracuda
innodb_large_prefix = on
innodb_default_row_format = dynamic
...

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio de bases de datos:

~$ sudo systemctl restart mariadb

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

Base de datos y usuario para Redmine

Sea cual sea el motor o versión del servicio de bases de datos, 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 character set utf8mb4;

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 xf redmine-4.1.3.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-4.1.3/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-4.1.3/

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.lan: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-4.1.3/

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-4.1.3/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.lan/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:

instalacion de redmine en debian 9 stretch

El sistema obliga a cambiar la contraseña incial por una nueva:

instalando redmine en debian 9 stretch

Una vez cambiada la contraseña, accedemos directamente al perfil de la cuenta del administrador, donde podremos actualizar otros datos:

Redmine para Debian 9 Stretch

Tras guardar los cambios (si los hacemos) 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 y quieres agradecérnoslo, puedes ayudarnos dejando a partir de 1 $ de propina en PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

5/5 - (1 voto)

4 comentarios en «Cómo instalar Redmine en Debian 9 Stretch»

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.