Cómo instalar Redmine con Apache y Let’s Encrypt SSL en Debian 12

Redmine es una herramienta gratuita y de código abierto de gestión de proyectos y seguimiento de incidencias. Está basada en web y escrita principalmente en Ruby on Rails. Es multiplataforma y admite varias bases de datos y varios idiomas.

Redmine es flexible y puede utilizarse para distintos tipos de organizaciones y proyectos, desde pequeñas, medianas o grandes organizaciones. Te permite crear y gestionar múltiples proyectos, y cada proyecto tiene su propia Wiki, Foros, seguimiento de incidencias, etc. Además, te permite crear roles personalizados en función de las necesidades de tu organización, y muchas cosas más.

Redmine se publica bajo licencia GNU GPL v2 y puede instalarse en cualquier sistema operativo, como Linux, Windows o macOS. Admite distintos tipos de bases de datos, como PostgreSQL, MySQL y SQLite (por defecto).

Sigue esta guía paso a paso para instalar la herramienta de gestión de proyectos y seguimiento de incidencias Redmine en Debian 12 Server. Siguiéndola, instalarás Redmine con MariaDB como servidor de base de datos y Apache2 como servidor web.

Requisitos previos

Para comenzar el proceso, asegúrate de que tienes

  • Un Servidor Debian 12.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de dependencias

Redmine es un gestor de proyectos basado en web y escrito en Ruby on Rails. Para instalar Redmine, primero debes instalar los siguientes paquetes:

  • Servidor webApache: se utilizará como servidor web para Redmine.
  • Servidor MariaDB: Redmine puede funcionar con bases de datos como MySQL/MariaDB y PostgreSQL. En esta guía se utilizará el servidor MariaDB.
  • Ruby: en el momento de escribir esto, la versión estable 5.0.6 de Redmine puede instalarse con Ruby 3.1.
  • Paquetes adicionales: Certbot para generar certificados SSL/TLS, build-essential para compilar código Ruby, y Subversion como sistema de control de versiones.

Antes de instalar las dependencias, actualiza y refresca tu repositorio Debian utilizando el siguiente comando.

sudo apt update

actualizar repo

Ahora ejecuta el siguiente comando apt install para instalar las dependencias para Redmine, que incluyen Apache2, MariaDB, Ruby, ImageMagick, Certbot y Subversion.

sudo apt install apache2 libapache2-mod-passenger mariadb-server certbot python3-certbot-apache ruby ruby-dev build-essential default-mysql-server default-libmysqlclient-dev libxml2-dev libxslt1-dev zlib1g-dev imagemagick libmagickwand-dev subversion

Escribe y para proceder con la instalación.

instalar deps

Una vez instaladas las dependencias, verifica cada una de ellas ejecutando el siguiente comando.

Verifica el servicio apache2 para asegurarte de que se está ejecutando y está habilitado.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

La salida que se muestra a continuación confirma que apache2 está habilitado y en ejecución.

comprobar apache2

Comprueba ahora el servicio mariadb ejecutando el siguiente comando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

La salida debería ser similar a la del servicio apache2, lo que confirma que el servicio se está ejecutando y está habilitado.

comprobar mariadb

A continuación, verifica la versión de Ruby en tu sistema mediante el siguiente comando. Deberías ver que Ruby 3.1.2 está instalado en tu máquina Debian.

ruby --version

comprobar rubí

Por último, verifica Subversion utilizando el siguiente comando. Así te asegurarás de que Subversion está instalado.

svn --version

El resultado debería ser similar a éste:

comprobar subversion

Configurar el servidor MariaDB

Tras instalar las dependencias, configurarás la instalación de tu servidor MariaDB mediante la utilidad mariadb-secure-installation y crearás una nueva base de datos y un nuevo usuario que utilizará Redmine.

Ejecuta el siguiente comando para asegurar tu instalación de MariaDB Server.

sudo mariadb-secure-installation

Durante el proceso, escribe Y para confirmar y aplicar los cambios o n para No rechazarlo. A continuación se indican algunas de las configuraciones del Servidor MariaDB que se te pedirán:

  • ¿Cambiar a autenticación unix_socket? Introduce n y pulsa ENTER. El usuario raíz por defecto de MariaDB ya está protegido. opcionalmente, también puedes habilitarlo escribiendo y para sí.
  • ¿Cambiar la contraseña de root? Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
  • ¿Eliminar usuario anónimo? Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión de root de forma remota? Introduce y para confirmar. Sólo se permitirá la conexión local si utilizas el usuario raíz de MariaDB.
  • ¿Quitar la base de datos de prueba y el acceso a ella? Introduce y para confirmar y eliminar la base de datos por defecto «test».
  • Por último, introduce y de nuevo para recargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.

Después de configurar el Servidor mariaDB, inicia sesión en el Servidor MariaDB mediante el siguiente comando de cliente mariadb. Escribe tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos redmine, un nuevo usuario redmine, con la contraseña secretPassword. Los siguientes detalles de la base de datos serán utilizados por Redmine, y asegúrate de cambiar la contraseña.

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'secretPassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;

crear usuario de base de datos

A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario redmine.

SHOW GRANTS FOR redmine@localhost;

Se mostrará la siguiente salida, que confirma que el usuario redmine puede acceder a la base de datos redmine.

comprobar privilegios de usuario

Escribe quit para salir del Servidor MariaDB.

Descarga e instalación de Redmine

En la siguiente sección, descargarás e instalarás Redmine en tu máquina Debian. Descargarás el código fuente de Redmine a través de subversion, configurarás Redmine con el servidor de base de datos MariaDB y, a continuación, instalarás las dependencias de Ruby a través de bundler.

Antes de empezar, instala un bundler en tu sistema ejecutando el siguiente comando.

gem install bundler

instalar bundler

Desplázate al directorio /var/www y descarga el código fuente de Redmine mediante el siguiente comando svn. En este ejemplo, descargarás Redmine estable 5.0 en el directorio redmine-5.0, por lo que tu directorio de instalación de Redmine debe ser /var/www/redmine-5.0.

cd /var/www
svn co https://svn.redmine.org/redmine/branches/5.0-stable redmine-5.0

descargar redmine

Ve al directorio /var/www/redmine-5.0 y copia la configuración por defecto de la base de datos en config/database.yml.

cd /var/www/redmine-5.0
cp config/database.yml.example config/database.yml

Abre la configuración de la base de datos de Redmine config/database. yml utilizando el siguiente comando del editor nano.

nano config/database.yml

En la sección de producción, comprueba la configuración de la base de datos con lo siguiente. Asegúrate de cambiar el nombre de la base de datos, el usuario y la contraseña.

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "secretPassword" 
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando bundle para desactivar desarrollo y prueba, y luego instala las dependencias de Ruby para Redmine.

bundle config set --local without 'development test' 
bundle install

Durante el proceso, la salida mostrada debería ser similar a ésta:

instalar dependencias de ruby

Ahora genera el token secreto y migra la base de datos ejecutando el siguiente comando.

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate

Durante la migración de la base de datos, se mostrará la salida siguiente.

migrar base de datos

Por último, ejecuta el siguiente comando para cargar los datos por defecto en tu instalación de Redmine.

RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data

Si tiene éxito, deberías obtener la salida «Datos deconfiguración por defecto cargados».

cargar datos por defecto

Configuración del host virtual Apache2

Después de haber descargado e instalado Redmine, el siguiente paso es crear un nuevo host virtual Apache2 que se utilizará para ejecutar Redmine y generar certificados SSL/TLS a través de Certbot y Letsencrypt. Así que antes de seguir adelante, asegúrate de que tienes un nombre de dominio apuntando a la dirección IP del servidor.

Crea una nueva configuración de host virtual /etc/apache2/sites-available/redmine. conf utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/redmine.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio en la línea ServerName.

<VirtualHost *:80>

ServerName redmine.hwdomain.io
RailsEnv production
DocumentRoot /var/www/redmine-5.0/public

ErrorLog ${APACHE_LOG_DIR}/redmine.hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/redmine.hwdomain.io.access.log combined

<Directory «/var/www/redmine-5.0/public»>
Allow from all
Require all granted
</Directory>

</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar el módulo de reescritura en el servidor web Apache2, y luego activa el archivo de host virtual redmine.conf.

sudo a2enmod rewrite
sudo a2ensite redmine.conf

Después, verifica la sintaxis de Apache2 ejecutando el siguiente comando. Si la sintaxis es correcta, aparecerá el mensaje«Sintaxis correcta«.

sudo apachectl configtest

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y aplicar los cambios.

sudo systemctl restart apache2

configuración vhost

Por último, genera nuevos certificados SSL/TLS para tu instalación de Redmine utilizando el siguiente comando certbot. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tus datos.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email [email protected] -d redmine.hwdomain.io

Una vez finalizado el proceso, tus certificados SSL/TLS se generarán en el directorio /etc/letsencrypt/live/redmine.hwdomain.io/. Además, tu archivo de host virtual redmine.conf se configurará automáticamente con HTTPS a través del plugin de Apache Certbot.

Acceder a la instalación de Redmine

Inicia tu navegador web y visita tu nombre de dominio de Redmine, como https://redmine.hwdomain.io. Si la instalación se ha realizado correctamente, aparecerá la siguiente página de inicio de Redmine.

redmine inicio

Ahora haz clic en el enlace Iniciar sesión de la parte superior derecha para acceder a la página de inicio de sesión de Redmine. A continuación, introduce el usuario por defecto admin con la contraseña admin, y haz clic en Iniciar sesión.

login redmine

En primer lugar, se te pedirá que cambies la contraseña admin por defecto. Introduce la antigua contraseña admin, luego introduce tu nueva contraseña y repite, después haz clic en Aplicar para confirmar los cambios.

cambiar pase por defecto

Ahora serás redirigido a tu perfil de administrador, y deberías recibir el mensaje «Lacontraseña se ha actualizado correctamente«. Desde aquí, también puedes cambiar los detalles de tu usuario administrador, luego haz clic en Guardar para confirmar.

actualizar perfil

Por último, haz clic en Administración > Información para obtener información detallada sobre tu instalación de Redmine. Aparecerá la siguiente página, y desde ahí confirma que Redmine 5.0.6 estable está instalado con Ruby 3.1.2, Rails 6.1, controlador de base de datos Mysql2 y Subversion 1.14.

información sobre la instalación de redmine

Conclusión

En resumen, has instalado correctamente la herramienta de gestión de proyectos y seguimiento de incidencias Redmine en el servidor Debian 12 paso a paso. Has instalado Redmine con un servidor web Apache2 y un servidor de base de datos MariaDB y has asegurado tu instalación de Redmine con certificados SSL/TLS de Letsencrypt. Por aquí, ahora puedes añadir un servidor SMTP a Redmine e instalar extensiones y temas adicionales para tu aplicación web de gestión de proyectos Redmine.

También te podría gustar...