En este artículo vamos a ver cómo instalar Redmine en Debian 11 Bullseye paso a paso, de tal forma que en unos instantes podrás empezar a trabajar con este magnífico gestor de proyectos sobre tu servidor o VPS Debian.
Tabla de contenidos
Antes de instalar Redmine en Debian 11 Bullseye
Si quieres seguir los pasos de esta guía de instalación de Redmine en Debian 11 Bullseye será necesario cumplir los siguientes requisitos básicos:
- Una máquina Debian 11 Bullseye actualizada.
- Servicio web Apache y servicio de bases de datos (MariaDB, MySQL o PostgreSQL).
- Un usuario con privilegios de sudo.
- Acceso a Internet.
En caso de no disponer del entorno necesario puede ser interesante consultar previamente nuestra guía de instalación de Apache en Debian 11, de instalación de MariaDB en Debian 11 o de instalación de PostgreSQL en Debian 11.
Cómo descargar Redmine para Debian 11
Vamos a descargar Redmine para Debian 11 Bullseye desde la sección de descargar del sitio oficial del proyecto, ya que la distribución no incluye paquetes para esta plataforma.
Encontraremos las últimas versiones estables de las ramas 4 y 5 de Redmine en paquetes con formatos .zip y .tar.gz. En este tutorial descargremos el paquete .tar.gz de la versión 5, bien desde el navegador, bien desde consola (si trabajamos remotamente) con alguna herramienta como wget:
~$ wget --no-check-certificate http://www.redmine.org/releases/redmine-5.0.1.tar.gz
Cómo instalar Redmine en Debian 11 Bullseye
Para instalar Redmine en Debian 11 Bullseye debemos realizar una serie de pasos en el orden adecuado que detallamos a continuación.
Dependencias
Redmine necesita una serie de complementos que obtendremos desde los repositorios de Debian 11 Bullseye, así que empezaremos actualizando la información de las listas de paquetes:
~$ sudo apt update
E instalamos las dependencias comunes:
~$ sudo apt install -y gcc make ruby-bundler ruby-dev zlib1g-dev libapache2-mod-passenger
Dependiendo del motor de bases de datos con el que trabajemos necesitaremos instalar adicionalmente alguna librería más.
En el caso de MariaDB:
~$ sudo apt install -y libmariadb-dev
Si se trata de MySQL:
~$ sudo apt install -y default-libmysqlclient-dev
Y para PostgreSQL:
~$ sudo apt install -y libpq-dev
Base de datos
Redmine puede trabajar sobre algunos de los servicios de bases de datos más usados en Debian 11 Bullseye, por lo que explicaremos cómo preparar los más utilizados.
MariaDB/MySQL
Conectamos al servicio con el cliente mysql y un usuario administrador:
~$ mysql -u root -p
Creamos la base de datos de Redmine:
> create database redmine character set utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario:
> create user redmine@localhost identified by 'XXXXXXXX';
Damos suficientes permisos al usuario para gestionar la base de datos:
> grant all privileges on redmine.* to redmine@localhost;
Y cerramos la conexión:
> exit;
PostgreSQL
Creamos el rol para Redmine con contraseña:
~$ sudo -u postgres createuser -P redmine
Y creamos la base de datos asociándola al nuevo rol:
~$ sudo -u postgres createdb redmine -O redmine
Archivos de Redmine
Vamos a instalar el paquete que descargamos en su ubicación definitiva, así que crearemos el siguiente directorio:
~$ sudo mkdir /opt/redmine
Y descomprimimos el paquete directamente en la nueva ruta:
~$ sudo tar xf redmine-5.0.1.tar.gz -C /opt/redmine/
Se habrá creado un subdirectorio que contiene el número de la versión en su nombre. Para facilitar la configuración y mantenimiento de Redmine crearemos un enlace simbólico con un nombre más simple, sin números:
~$ sudo ln -s /opt/redmine/redmine-5.0.1/ /opt/redmine/redmine
Cambiamos el directorio de trabajo a la ruta de Redmine:
~$ cd /opt/redmine/redmine
Creamos el archivo de configuración de la conexión a la base de datos:
$ nano config/database.yml
Se trata de un archivo YAML, así que hay que usar obligatoriamente espacios en blanco en lugar de tabulaciones.
Para MariaDB/MySQL podríamos usar el siguiente contenido:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: XXXXXXXX
Y para PostgreSQL podría ser esta la configuración:
production: adapter: postgresql database: redmine host: localhost username: redmine password: XXXXXXXX
Hemos especificado la base de datos, el usuario y la clave tal como los creamos en pasos anteriores.
Guardados los cambios podemos lanzar la compilación de Redmine:
$ bundle install
Algunas tareas de compilación se realizan con privilegios de sudo, así que puede que se solicite la contraseña del usuario de Debian 11 Bullseye con el que estamos trabajando.
El siguiente paso es generar la clave con la que se cifran las cookies de Redmine:
$ bundle exec rake generate_secret_token
Inicializamos la base de datos:
$ RAILS_ENV=production bundle exec rake db:migrate
Y la cargamos con los datos por defecto:
$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Este comando solicitará el idioma en el que queremos que se carguen los datos, a partir de una lista mostrada en consola. Para el español podemos indicar «es«.
Prueba de funcionamiento
Ya podemos realizar una prueba de conexión a Redmine con el servidor de consola incluido.
Si pensamos acceder desde red y estamos usando el firewall UFW habrá que añadir la correspondiente regla para el puerto 3000/TCP
$ sudo ufw allow 3000/tcp
Lanzamos el servidor de consola para realizar la prueba:
$ bundle exec ruby /usr/local/bin/rails server -u webrick -e production
Para acceder desde un navegador construiremos una URL con la dirección del servidor (IP, dominio, nombre DNS, localhost si trabajamos localmente, etc.).
Por ejemplo, la máquina Debian 11 sobre la que hemos preparado este tutorial es accesible en el subdominio debian11.local.lan, así que accederíamos a la prueba con http://debian11.local.lan:3000 como URL:
En consola se irá mostrando información relacionada con la actividad de la aplicación.
Terminaremos la prueba y liberaremos la consola con la combinación de teclas Control-C.
Ya podemos abandonar el directorio de Redmine:
$ cd
Servicio web
Editaremos el archivo del módulo Passenger del servicio web para que trabaje con el usuario adecuado:
~$ sudo nano /etc/apache2/mods-available/passenger.conf
Dentro del bloque IfModule añadiremos la directiva PassengerUser con el usuario con el que corre el servicio web:
<IfModule mod_passenger.c> ... PassengerUser www-data </IfModule>
Guardamos el archivo y cambiamos el propietario de los archivos de Redmine al mismo usuario:
~$ sudo chown -R www-data: /opt/redmine/redmine/
Ajustamos los permisos de estos archivos para el grupo y resto de usuarios con valores seguros:
~$ sudo chmod -R 755 /opt/redmine/redmine/{files,log,tmp,public/plugin_assets}
Creamos un enlace a la aplicación web de Redmine desde el directorio de archivos web del sitio por defecto:
~$ sudo ln -s /opt/redmine/redmine/public/ /var/www/html/redmine
Editamos la configuración del sitio web por defecto:
~$ sudo nano /etc/apache2/sites-available/000-default.conf
Y añadimos la configuración necesaria para que el servicio web trate de forma adecuada los archivos de Redmine como aplicación:
<VirtualHost *:80> ... <Location /redmine> RailsEnv production RackBaseURI /redmine Options -MultiViews </Location> ... </VirtualHost>
Guardamos los cambios y aplicamos todos estos ajustes recargando la configuración del servicio:
~$ sudo systemctl reload apache2
Accediendo a Redmine
Ya está todo listo para acceder a Redmine sobre Debian 11 Bullseye desde un navegador, para lo que añadiremos la ruta /redmine a la dirección del servidor.
Siguiendo con el ejemplo de este tutorial, ahora sería http://debian11.local.lan/redmine la URL de acceso.
Se mostrará la página principal de Redmine.
Podemos iniciar sesión visitando el enlace «Iniciar sesión» del menú superior:
Podemos iniciar sesión con el usuario administrador admin y su clave admin.
Inmediatamente Redmine nos obligará a cambiar la contraseña por defecto del usuario:
Introducimos la contraseña actual, la nueva contraseña y su confirmación.
La contraseña queda modificada y se nos redirige a la página de perfil del usuario con el que hemos iniciado la sesión:
Ahora ya podemos empezar a trabajar con nuestra nueva instancia de Redmine sobre Debian 11 Bullseye.
Conclusión
Ahora que ya sabes cómo instalar Redmine en Debian 11 Bullseye vas a poder trabajar con este gran gestor y administrador de proyectos tanto en ámbito de red local como desde Internet.
En caso de dudas, preguntas, sugerencias, notificación de errores, etc. puedes dejar un comentario. Los comentarios están moderados (para evitar el SPAM), pero se revisan prácticamente a diario.
Y si ya funciona esta plataforma sobre tu máquina gracias a nuestra guía y quiere agradecérnoslo, cualquier mínima aportación contribuye mucho al mantenimiento de este sitio y la creación de más artículos y tutoriales.
Puedes ayudarnos dejando una propina de tan solo 1 $ desde PayPal:
¡Gracias!