Introducción
Redmine es una aplicación gratuita y de código abierto para la gestión de proyectos y el seguimiento de problemas. Es multiplataforma y de base de datos cruzada y se basa en el marco de 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 el backend de la base de datos y Passenger + Apache como el servidor de aplicaciones Ruby.
Prerrequisitos
Asegúrese de cumplir con los siguientes requisitos previos:
- Nombre de dominio que apunta a la IP pública del servidor.
- Usuario root o usuario con privilegios sudo.
Crea una base de datos MySQL
Redmine es compatible con MySQL /MariaDB, Microsoft SQL Server, SQLite 3 y PostgreSQL. Usaremos MariaDB como backend de la base de datos.
Si no tiene MariaDB o MySQL instalados en su servidor CentOS, puede instalarlo siguiendo estas instrucciones.
Inicie sesión en el shell de MySQL escribiendo el siguiente comando:
sudo mysql
O si siguió nuestra guía y estableció una contraseña para el usuario root, use el siguiente comando:
sudo mysql -u root -p
Desde dentro del shell MySQL, ejecute las siguientes declaraciones SQL para crear una nueva base de datos, un nuevo usuario y otorgarle 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-password
por una contraseña segura.
Una vez hecho esto, salga del shell MySQL:
EXIT;
Instale Passenger, Apache y Ruby
Passenger es un servidor de aplicaciones web rápido y ligero 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 de EPEL:
sudo dnf install epel-release
sudo 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 al inicio:
sudo systemctl enable httpd --now
Crear un nuevo usuario del sistema
Cree un nuevo usuario y grupo, con el directorio de inicio /opt/redmine
que ejecutará la instancia de Redmine:
sudo useradd -m -U -r -d /opt/redmine redmine
Agregue el usuario redmine
apache
y cambie los permisos del /opt/redmine
para que Apache pueda acceder a él:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Instalar Redmine
En el momento de escribir estas líneas, 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 install make automake curl-devel glibc-devel git bzip2 nano wget tar gettext-devel openssl-devel zlib-devel gcc autoconf mariadb-devel redhat-rpm-config ruby-devel
Asegúrese de realizar los siguientes pasos como usuario de redmine
sudo su - redmine
Descarga de 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
Configuración de la base de datos de Redmine
Copie el archivo de configuración de la base de datos de muestra 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 production
e ingrese la base de datos MySQL y la información del usuario que creamos anteriormente:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8mb4
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Instalar dependencias de Ruby
Vaya al directorio redmine-4.1.0
e instale las dependencias de Ruby:
cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle
Genere las claves y migre la base de datos
Ejecute el siguiente comando para generar claves y migrar la base de datos:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Configurar Apache
Vuelva a su usuario sudo y cree el siguiente archivo vhost de Apache:
exit
sudo nano /etc/httpd/conf.d/example.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>
example.com
Reinicie el servicio Apache escribiendo:
sudo systemctl restart httpd
Configurar Apache con SSL
Si no tiene un certificado SSL confiable para su dominio, puede generar un certificado SSL Let's Encrypt gratuito. Siguiendo estas instrucciones, puede instalar y configurar automáticamente un certificado SSL Let's Encrypt gratuito.
Una vez que se generó el certificado, el archivo de configuración creado previamente debería haberse modificado automáticamente así:
sudo nano /etc/httpd/conf.d/example.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
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
las solicitudes HTTP serán redirigidas a HTTPS
Iniciar sesión en Redmine
Abra su navegador e ingrese su dominio https://DOMINIO/login
.
Las credenciales de inicio de sesión predeterminadas para Redmine son:
- Nombre de usuario: admin
- Contraseña: admin
Cuando inicie sesión por primera vez, se le pedirá que cambie su contraseña.
Después de cambiar su contraseña, será redirigido a la página de la cuenta de usuario.
Si no puede acceder a la página, es probable que su firewall esté bloqueando los puertos de Apache.
Utilice los siguientes comandos para abrir la puerta requerida:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload
Conclusión
Redmine se ha instalado con éxito en el sistema CentOS. Ahora debería consultar la documentación de Redmine y obtener más información sobre cómo configurar y utilizar Redmine.