Redmine es una aplicación de gestión de proyectos y seguimiento de problemas gratuita y de código abierto. Es multiplataforma y multibase de datos y está construido sobre el marco Ruby on Rails.

Redmine incluye soporte para múltiples proyectos, wikis, sistema de seguimiento de problemas, foros, calendarios, notificaciones por correo electrónico y mucho más.

Este tutorial explica cómo instalar y configurar la última versión de Redmine en CentOS 8. Usaremos MariaDB como back-end de base de datos y Passenger + Apache como servidor de aplicaciones Ruby.

requisitos previos

Asegúrese de haber cumplido con los siguientes requisitos previos:

  • Nombre de dominio que apunta a la IP pública de su servidor.
  • Ha iniciado sesión como root o usuario con privilegios sudo .

Creación de una base de datos MySQL

Redmine es compatible con MySQL/MariaDB, Microsoft SQL Server, SQLite 3 y PostgreSQL . Usaremos MariaDB como back-end de la base de datos.

Si no tiene instalado MariaDB o MySQL en su servidor CentOS, puede instalarlo siguiendo estas instrucciones .

Inicie sesión en el shell de MySQL usando el siguiente comando:

sudo mysql

Desde el shell de MySQL, ejecute las siguientes instrucciones SQL para crear una nueva base de datos , un nuevo usuario y otorgar acceso al usuario a la base de datos :

CREATE DATABASE redmine CHARACTER SET utf8;GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Asegúrese de cambiar change-with-strong-passwordcon una contraseña segura.

Una vez hecho esto, salga del shell de MySQL:

EXIT;

Instalación de Passenger, Apache y Ruby

Passenger es un servidor de aplicaciones web rápido y liviano para Ruby, Node.js y Python que se puede integrar con Apache y Nginx. Instalaremos Passenger como un módulo de Apache.

Habilite el repositorio EPEL :

sudo dnf install epel-releasesudo dnf config-manager --enable epel

Una vez que el repositorio esté habilitado, actualice la lista de paquetes e instale Ruby, Apache y Passenger:

sudo dnf install httpd mod_passenger passenger passenger-devel ruby

Inicie el servicio Apache y habilítelo para que se inicie en el arranque:

sudo systemctl enable httpd --now

Creación de un nuevo usuario del sistema

Cree un nuevo usuario y grupo, con el directorio de inicio /opt/redmineque ejecutará la instancia de Redmine:

sudo useradd -m -U -r -d /opt/redmine redmine

Agregue el apache usuario al redminegrupo y cambie los /opt/redmine permisos del directorio para que Apache pueda acceder a él:

sudo usermod -a -G redmine apachesudo chmod 750 /opt/redmine

Instalación de Redmine

Al momento de escribir, la última versión estable de Redmine es la versión 4.1.0.

Antes de continuar con los siguientes pasos, visite la página de descarga de Redmine para ver si hay una versión más nueva disponible.

Instale el compilador GCC y las bibliotecas necesarias para compilar Redmine:

sudo dnf group install "Development Tools"sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel

Asegúrese de estar ejecutando los siguientes pasos como redmineusuario:

sudo su - redmine

1. Descargando Redmine

Descarga el archivo de Redmine con curl :

curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz

Una vez que se complete la descarga, extraiga el archivo:

tar -xvf redmine.tar.gz

2. Configuración de la base de datos de Redmine

Copie el archivo de configuración de la base de datos de ejemplo de Redmine:

cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml

Abra el archivo con su editor de texto:

nano /opt/redmine/redmine-4.1.0/config/database.yml

Busque la productionsección e ingrese la base de datos MySQL y la información del usuario que creamos anteriormente:

/opt/redmine/redmine-4.1.0/config/database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8mb4

Una vez hecho esto, guarde el archivo y salga del editor.

3. Instalar dependencias de Ruby

Cambie al redmine-4.1.0directorio e instale las dependencias de Ruby:

cd ~/redmine-4.1.0gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite --path vendor/bundle

4. Generar claves y migrar la base de datos

Ejecute el siguiente comando para generar claves y migrar la base de datos:

bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

Configuración de apache

Vuelva a su usuario sudo y cree el siguiente archivo vhost de Apache :

exitsudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/ejemplo.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /opt/redmine/redmine-4.1.0/public

    <Directory /opt/redmine/redmine-4.1.0/public>
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
        AllowOverride all
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
No olvides reemplazar example.com con tu dominio de Redmine.

Reinicie el servicio de Apache escribiendo:

sudo systemctl restart httpd

Configurar Apache con SSL

Si no tiene un certificado SSL de confianza para su dominio, puede generar un certificado SSL gratuito de Let's Encrypt siguiendo estas instrucciones .

Una vez generado el certificado, edite la configuración de Apache de la siguiente manera:

sudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/ejemplo.com.conf
<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com

  Protocols h2 http/1.1

  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent / https://example.com/
  </If>

  DocumentRoot /opt/redmine/redmine-4.1.0/public
  ErrorLog /var/log/httpd/example.com-error.log
  CustomLog /var/log/httpd/example.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

  <Directory /opt/redmine/redmine-4.1.0/public>
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
    AllowOverride all
  </Directory>

</VirtualHost>
No olvides reemplazar example.com con tu dominio de Redmine y establecer la ruta correcta a los archivos del certificado SSL. Todas las solicitudes HTTP se redirigirán a HTTPS .

Acceso a Redmine

Abra su navegador , escriba su dominio y, suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:

Las credenciales de inicio de sesión predeterminadas para Redmine son:

  • Nombre de usuario: administrador
  • Contraseña: administrador

Cuando inicie sesión por primera vez, se le pedirá que cambie la contraseña, como se muestra a continuación:

Una vez que cambie la contraseña, será redirigido a la página de la cuenta de usuario.

Si no puede acceder a la página, probablemente su firewall esté bloqueando los puertos Apache.

Use los siguientes comands para abrir el puerto necesario:

sudo firewall-cmd --permanent --zone=public --add-port=443/tcpsudo firewall-cmd --permanent --zone=public --add-port=80/tcpsudo firewall-cmd --reload

Conclusión

Ha instalado correctamente Redmine en su sistema CentOS. Ahora debe consultar la documentación de Redmine y obtener más información sobre cómo configurar y usar Redmine.

Si encuentra un problema o tiene comentarios, deje un comentario a continuación.