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
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
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
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.
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.
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.
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'
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
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
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.
Selecciona‘Ruby‘ como aplicación y pulsa ‘Enter‘ para continuar.
Ahora el instalador te dirá que añadas alguna configuración al Apache/httpd como puedes ver en la captura de pantalla de abajo.
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
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.
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.
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‘.
2. Ahora debes restablecer la contraseña predeterminada de admin.
Escribe la antigua contraseña‘admin’, y escribe la nueva contraseña fuerte, luego haz clic en ‘Aplicar‘.
3. Verás los datos de tu cuenta.
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.
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.
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.
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.