Cómo instalar Redmine en Rocky Linux

Redmine es un programa gratuito y de código abierto de gestión de proyectos y seguimiento de incidencias. Es un software de aplicación basado en web escrito principalmente en Ruby on Rails. Es multiplataforma y admite múltiples bases de datos e idiomas.

Redmine es flexible y puede utilizarse para distintos tipos de organizaciones y proyectos, desde pequeñas a medianas y grandes organizaciones. Con Redmine, puedes crear y gestionar múltiples proyectos, cada uno con su propia wiki, foros, seguimiento de incidencias, etc. También puedes crear roles personalizados adaptados a las necesidades de tu organización y mucho más.

Redmine se publica bajo licencia GNU GPL v2 y puede instalarse en cualquier sistema operativo, como Linux, Windows o macOS. Es compatible con distintas bases de datos, como PostgreSQL, MySQL y SQLite (estándar).

A continuación, las principales características de Redmine:

  • Soporte multiproyecto
  • Wiki y foros por proyecto
  • Gestión de documentos y archivos
  • Noticias y feeds y notificaciones por correo electrónico
  • Seguimiento del tiempo
  • Soporta múltiples SCM (SVN, Git, CVS, Mercurial, Bazaar)
  • Soporta alrededor de 49 idiomas
  • Admite autenticación LDAP
  • etc

Requisitos previos

En esta guía, aprenderás a desplegar la herramienta de gestión de proyectos y seguimiento de incidencias Redmine en el sistema Linux Rocky con la base de datos PostgreSQL y el servidor web Apache/httpd.

A continuación se muestra el entorno para este ejemplo:

  • Sistema operativo: Rocky Linux 8.4 (Obisidiana Verde)
  • Dirección IP: 192.168.1.10
  • Privilegios de root
  • Nombre de dominio: redmine.ejemplo.com

El objetivo que aprenderás en esta guía:

  • Instalar Ruby con RVM (Gestor de versiones de Ruby)
  • Configurar la base de datos PostgreSQL
  • Instalar Passenger
  • Configurar el host virtual Apache/httpd para Redmine (con o sin SSL)
  • Instalación y configuración de Redmine

Antes de empezar a utilizar esta guía, es recomendable que completes la instalación de PostgreSQL en el sistema Rocky Linux.

Cómo instalar PostgreSQL en Rocky Linux

Instalar dependencias

En primer lugar, debes instalar las siguientes dependencias. Todos los paquetes a continuación son necesarios para la instalación de Redmine, y asegúrate de ejecutar todos los comandos a continuación utilizando los privilegios sudo o root.

1. Añade el repositorio EPEL (Extra Packages for Enterprise Linux) a tu sistema.

sudo dnf install epel-release -y

2. Una vez completada la instalación de EPEL, instala los paquetes utilizando el comando DNF que aparece a continuación.

sudo dnf install curl gpg gnupg2 gcc gcc-c++ make patch autoconf automake bison ImageMagick libffi-devel libtool patch redhat-rpm-config readline-devel postgresql-devel zlib-devel openssl-devel -y

3. A continuación, instala el servidor web apache/httpd en tu sistema Rocky Linux ejecutando el comando DNF como se indica a continuación.

sudo dnf install libcurl-devel httpd-devel httpd apr-devel apr-util-devel -y

Si se completa la instalación de los paquetes httpd, inicia y habilita el servicio httpd.

sudo systemctl enable --now httpd

Ahora verifica el httpd y asegúrate de que está activo y funcionando.

sudo systemctl status httpd

Iniciar y habilitar httpd

Los paquetes básicos para la instalación de Redmine están instalados, pasa al siguiente paso para instalar RVM y Ruby.

Instalación de RVM y Ruby

La última versión de Redmine requiere la versión 2.7 de Ruby para su instalación. En este paso, instalarás la versión 2.7 de Ruby en el sistema Rocky Linux utilizando el RVM o Gestor de Versiones de Ruby.

Por lo tanto, instalarás el RVM y luego instalarás Ruby.

1. En primer lugar, importa las claves GPG del desarrollador rvm a tu sistema.

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

2. Ahora instala la versión estable de rvm y carga el entorno rvm utilizando los siguientes comandos.

curl -L get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh

Instalación del gestor de versiones de Ruby RVM

Después, vuelve a cargar el código fuente de rvm e instala todos los requisitos del sistema para el rvm.

rvm reload
rvm requirements run

Instalar las dependencias de RVM

Si se completan todos los procesos, estás listo para instalar Ruby.

3. Ejecuta el siguiente comando rvm para instalar Ruby versión 2.7 en el sistema Rocky Linux.

rvm install 2.7

Espera a que se complete la instalación.

Instalar Ruby con RVM en Rocky Linux

Ahora comprueba la versión de Ruby disponible en tu sistema y comprueba la versión de Ruby actual en tu sistema.

rvm list
ruby --version

Y verás una salida similar a la siguiente.

Verificar la instalación de RVM y Ruby

Sólo hay una versión de Ruby instalada en tu sistema, la ruby 2.7.2. Y es la que se utiliza actualmente en tu sistema.

Ahora pasa a la siguiente etapa para configurar la base de datos PostgreSQL para la instalación de Redmine.

Configurar la base de datos PostgreSQL

Antes de continuar, asegúrate de haber completado la instalación de PostgreSQL como se indica a continuación.

Cómo instalar PostgreSQL en Rocky Linux

Después, crearás una nueva base de datos PostgreSQL y un usuario para Redmine.

1. Accede al shell de PostgreSQL utilizando el siguiente comando.

sudo -u postgres psql

2. Crea un nuevo usuario PostgreSQL‘redmine‘ y la base de datos‘redminedb‘ utilizando la siguiente consulta. Y asegúrate de cambiar la contraseña por tu contraseña segura.

CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'StrongPasswordRedmine' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redminedb WITH ENCODING='UTF8' OWNER=redmine;

3. Escribe‘\q‘ y pulsa‘Enter‘ para salir del intérprete de comandos PostgreSQL.

Crear base de datos PostgreSQL para Redmine

Ahora estás listo para instalar Redmine en tu sistema.

Instalación y configuración de Redmine

Para este paso, instalarás la versión 4.2.3 de Redmine, que es la última versión en este momento. La instalación de Redmine estará disponible en el directorio ‘/var/www/redmine’.

1. Cambia el directorio de trabajo actual a ‘/var/www‘ y descarga el código fuente de Redmine 4.2.3.

cd /var/www/
wget https://www.redmine.org/releases/redmine-4.2.3.tar.gz

Ahora extrae el código fuente de Redmine y renombra el directorio a ‘redmine’.

tar -xzvf redmine-4.2.3.tar.gz
mv redmine-*/ redmine

2. A continuación, crearás una nueva configuración de la base de datos de Redmine.

Cambia tu directorio de trabajo al directorio‘/var/www/redmine ‘.

export REDMINE=/var/www/redmine
cd $REDMINE

Crea una nueva configuración de base de datos ‘config/database.yml ‘ utilizando el editor nano.

nano config/database.yml

Copia y pega en ella la siguiente configuración. Y asegúrate de cambiar el nombre de la base de datos, el usuario y la contraseña con tu información.

production:
  adapter: postgresql
  database: redminedb
  host: localhost
  username: redmine
  password: "StrongPasswordRedmine"
  encoding: utf8

Guarda la configuración y sal.

3. Después de configurar la base de datos para Redmine, instalarás algunas dependencias de ruby. Debes ejecutar los siguientes comandos en el directorio de instalación de Redmine‘/var/www/redmine‘.

En primer lugar, instala un bundler utilizando el comando ruby gem que aparece a continuación.

gem install bundler

Ahora ejecuta el comando ‘bundle’ de abajo para configurar tu instalación de Redmine.

bundle config set --local path 'vendor/bundle'
bundle config set --local without 'development test'

Configurar la instalación de Redmine

Ahora instala las dependencias de los paquetes ruby para Redmine utilizando el comando bundle de abajo.

bundle install

Dependiendo de tu conexión a Internet y de tu máquina/sistema, el comando tardará algún tiempo. si no te da ningún error, pasa al siguiente paso.

4. Una vez completada la instalación de todas las dependencias de ruby, genera el token secreto y migra la base de datos utilizando el siguiente comando.

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

Generar token secreto y migrar base de datos

5. Después, cambia la propiedad del directorio de instalación de Redmine al usuario‘apache‘.

sudo chown -R apache:apache $REDMINE

6. Una vez completada la instalación y configuración de Redmine, pasa al siguiente paso para configurar passenger y el servidor web httpd.

Instalación y configuración de Passenger

Passenger o Phusion Passenger es un servidor de aplicaciones web escrito en Ruby. En el entorno de producción, suele utilizarse como front-end de tus aplicaciones Rails. Y para esta guía, tu Redmine se ejecutará detrás del servidor web passenger y httpd.

Passenger puede instalarse a través del repositorio RubyGem. Y también puede integrarse con el servidor web Apache/httpd y Nginx para manejar aplicaciones Ruby, incluyendo Rails.

1. Para instalar passenger en todo el sistema, ejecuta el siguiente comando gem

gem install passenger

Instalar Passenger Rocky Linux

2. Una vez finalizada la instalación de passenger, ejecuta el siguiente comando para instalar el módulo passenger de Apache.

passenger-install-apache2-module

El instalador te describirá todo lo que vas a hacer, y pulsa‘Enter‘ cuando leas todos los puntos sobre la instalación.

Instalar el módulo de Apache Phusion Passenger

Selecciona‘Ruby‘ como aplicación y pulsa ‘Enter‘ para continuar.

Configurar Passenger para aplicaciones Ruby

Ahora el instalador te dirá que añadas alguna configuración al Apache/httpd como puedes ver en la captura de pantalla de abajo.

Añadir configuración de Apache para phusion passenger

Abre un nuevo intérprete de comandos de terminal, conéctate a tu servidor y crea una nueva configuración httpd‘/etc/httpd/conf.d/passenger.conf‘ utilizando el editor nano.

nano /etc/httpd/conf.d/passenger.conf

Pega la configuración que aparece en tu pantalla. A continuación se muestra la configuración de la captura de pantalla en la parte superior.

   LoadModule passenger_module /usr/local/rvm/gems/ruby-2.7.2/gems/passenger-6.0.12/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/local/rvm/gems/ruby-2.7.2/gems/passenger-6.0.12
     PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.7.2/wrappers/ruby
   </IfModule>

Guarda la configuración y sal.

A continuación, reinicia el servicio httpd para aplicar la nueva configuración.

sudo systemctl restart httpd

Configurar apache para phusion passenger

A continuación, vuelve al intérprete de comandos anterior y pulsa«Intro» para continuar.

Después, el instalador comprobará la instalación del módulo apache y se asegurará de que no obtienes ningún error.

Si no obtienes ningún error, verás una salida similar a la siguiente.

Éxito de la instalación de Phusion Passenger

La instalación de Passenger y su módulo Apache 2 se ha completado. Y ya estás listo para configurar el host virtual httpd para Redmine.

Configurar httpd para Redmine

En este paso, crearás una nueva configuración de host virtual httpd para tu instalación de Redmine.

1. Crea una nueva configuración de host virtual‘/etc/httpd/conf.d/redmine.conf‘ utilizando el editor nano.

nano /etc/httpd/conf.d/redmine.conf

Copia y pega la siguiente configuración, y asegúrate de cambiar el nombre de dominio por tu dominio.

PassengerRuby /usr/local/rvm/gems/ruby-2.7.2/wrappers/ruby

<VirtualHost *:80>
ServerName redmine.example.io
DocumentRoot «/var/www/redmine/public»

ErrorLog logs/redmine_error_log
LogLevel warn

<Directory «/var/www/redmine/public»>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>

Guarda la configuración y sal.

Para la configuración HTTPS de Redmine, copia y pega la siguiente configuración. Y asegúrate de cambiar el nombre de dominio y la ruta SSL con tus datos. Además, no olvides habilitar el módulo mod_ssl de Apache para que el HTTPS funcione en tu sistema.

PassengerRuby /usr/local/rvm/gems/ruby-2.7.2/wrappers/ruby

<VirtualHost *:80>

ServerName redmine.example.io
Redirect permanent / https://redmine.example.io/

</VirtualHost>

<VirtualHost *:443>
ServerName redmine.example.io

Protocols h2 http/1.1

<If «%{HTTP_HOST} == ‘www.redmine.example.io'»>
Redirect permanent / https://redmine.example.io/
</If>

DocumentRoot «/var/www/redmine/public»

ErrorLog /var/log/httpd/redmine.example.io-error.log
CustomLog /var/log/httpd/redmine.example.io-access.log combined

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

<Directory /var/www/redmine/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>

</VirtualHost>

2. A continuación, verifica la configuración de httpd y asegúrate de que no hay ningún error. A continuación, reinicia el servicio httpd para aplicar una nueva configuración de host virtual.

apachectl configtest
sudo systemctl restart httpd

Ahora estás listo para acceder a tu instalación de Redmine.

Configurar el host virtual de Apache para Redmine

Verificar la instalación de Redmine

Abre tu navegador web y escribe el nombre de dominio de tu instalación de Redmine con la ruta ‘/login‘ en la barra de direcciones.

https://redmine.example.io/login

1. En la página de inicio de sesión de Redmine, escribe por defecto el usuario‘admin‘ y la contraseña‘admin’, y haz clic en el botón‘Iniciar sesión‘.

Inicio de sesión en Redmine admin

2. Ahora debes restablecer la contraseña predeterminada de admin.

Escribe la antigua contraseñaadmin’, y escribe la nueva contraseña fuerte, luego haz clic en ‘Aplicar‘.

Cambiar contraseña por defecto

3. Verás los datos de tu cuenta.

Configurar los datos de la cuenta de administrador

Edita toda la información con tus datos, o simplemente déjala como viene por defecto, luego haz clic en el botón ‘Guardar‘.

4. Y verás la página de administración de Redmine como se muestra a continuación.

Panel de administración de Redmine

En la primera instalación, debes cargar el idioma predeterminado para tu instalación de Redmine.

Elige tu idioma y haz clic en el botón ‘Cargarla configuración por defecto’.

5. En el menú de la izquierda, haz clic en el menú‘Usuarios‘ para ver todos los usuarios registrados en tu Redmine.

Lista de usuarios de Redmine

6. Ahora ve al menú ‘Información‘ para ver todos los detalles de tu instalación de Redmine.

A continuación se muestra la salida similar que obtendrás.

Detalles de Redmine Instalación

Como puedes ver, la instalación de Redmine se ha completado. Acabas de instalar Redmine versión 4.2.3 estable con Ruby 2.7 y la base de datos PostgreSQL en el entorno de producción.

Conclusión

¡Enhorabuena! Has aprendido a instalar Redmine con la base de datos PostgreSQL y el servidor web Apache/httpd en el sistema Linux Rocky. Además, has aprendido a instalar Phusion Passenger y su integración con el servidor web Apache.

Para el siguiente paso, puedes añadir plugins adicionales a tu instalación de Redmine y añadir un servidor SMTP, etc.

También te podría gustar...