GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar y configurar Redmine en CentOS 7

Redmine es una herramienta web de código abierto y de uso gratuito para la gestión de proyectos y el seguimiento de problemas. Construido sobre el marco Ruby on Rails, ofrece una solución multiplataforma y multibase de datos compatible con varios proyectos, wikis, foros, calendarios, notificaciones por correo electrónico y mucho más.

Aquí hay una guía detallada sobre cómo instalar y configurar Redmine en el servidor CentOS 7.

Requisitos

En primer lugar, necesita un nombre de dominio que apunte a la IP de su servidor público. Para este tutorial, nos referiremos a example.com. Además, deberá iniciar sesión como usuario con privilegios sudo.

Aparte de esto, también necesitará un backend de base de datos. En nuestro caso, usaremos MariaDB. Sin embargo, también puede usar Microsoft SQL Server, SQLite 3 y PostgreSQL, ya que Redmine los admite todos.

Finalmente, necesitará un servidor de aplicaciones Ruby para el cual usaremos Passenger con Nginx. En caso de que no tenga ninguno de estos instalados en su sistema, no hay necesidad de preocuparse. También le mostraremos cómo instalarlos y configurarlos.

Preparar su sistema antes de instalar Redmine

Como comentamos, hay varias cosas que necesita en su sistema CentOS antes de poder instalar y ejecutar Redmine. En caso de que no los tenga instalados, aquí hay un tutorial paso a paso que le muestra cómo configurar las cosas.

Nota:No hace falta decir que si ya tiene instalado un servidor de base de datos o un servidor de aplicaciones Ruby, puede omitir esos pasos y pasar al siguiente.

Paso 1:Instalación de los paquetes necesarios

Antes de instalar Redmine, debe preparar su sistema instalando los paquetes Redmine y Ruby necesarios desde la fuente.

Para ello, escribe los siguientes comandos en tu terminal:

$ sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool 
$ sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel
$ sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Una vez hecho esto, es hora de crear una base de datos MySQL.

Paso 2:Instale MariaDB en CentOS 7

Usted es libre de usar cualquier backend de base de datos que desee. Sin embargo, para este tutorial, ya que usaremos MariaDB/MySQL, aquí hay un tutorial rápido que le muestra cómo instalarlo en su sistema.

Dado que la versión 5.5 de MariaDB se proporciona con el repositorio de CentOS, la instalaremos únicamente por conveniencia. No es la última versión, pero es excepcionalmente estable y no debería tener ningún problema.

Escriba el siguiente comando en su terminal para instalar los paquetes de MariaDB:

$ sudo yum install mariadb-server

Una vez que complete la instalación, escriba el siguiente comando para permitir que se inicie durante el arranque del sistema.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Luego, verifique si la instalación fue exitosa o no ingresando el siguiente comando:

$ sudo systemctl status mariadb

El resultado debería indicarle que el servicio está activo y ejecutándose. Una vez que se solucione, ejecute el siguiente script para realizar varias tareas relacionadas con la seguridad para asegurarse de que todo funcione correctamente y según lo previsto.

$ sudo mysql_secure_installation

Esto hará que aparezcan las siguientes indicaciones:

Do you want to set up the root user password?
Do you want to remove anonymous user accounts?
Do you want to restrict root user access to the local machine?
Do you want to remove the test database?

Responda con Y (sí) a todas estas preguntas.

Y listo, ha instalado con éxito MariaDB en su sistema CentOS. Ahora es el momento de pasar al siguiente paso.

Paso 3:Crear una base de datos MySQL

Con MariaDB instalado en su sistema CentOS, siga estos pasos para crear una base de datos MySQL. Primero, deberá iniciar sesión en su shell MySQL. Para hacer esto, ingrese el siguiente comando en la terminal:

$ sudo mysql

A continuación, deberá crear una nueva base de datos. Para hacer esto, ingrese el siguiente comando desde el interior de su shell MySQL:

mysql> CREATE DATABASE redmine CHARACTER SET utf8;

Una vez hecho esto, deberá crear una cuenta de usuario de MySQL y proporcionarle acceso a la base de datos recién creada. Esto se hace usando el siguiente comando:

mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'EnterPasswordHere';

Reemplace EnterPasswordHere con una contraseña segura de su elección.

Ha creado con éxito una base de datos MySQL. Ahora salga del shell usando el siguiente comando y avance al siguiente paso:

mysql> EXIT;

Paso 4:Instalar Passenger y Nginx

Passenger es un servidor de aplicaciones web diseñado para Ruby, Node.js y Python. Es súper rápido, liviano y se puede integrar con Apache y Nginx. Para este tutorial, instalaremos el módulo Passenger para Nginx.

Para hacer esto, primero necesitaremos instalar algunos paquetes necesarios, incluido el repositorio EPEL. Para hacer esto, ingrese el siguiente comando en su terminal:

$ sudo yum install epel-release yum-utils pygpgme
$ sudo yum-config-manager --enable epel

A continuación, deberá habilitar el repositorio de Phusionpassenger. Esto se puede hacer usando este comando:

$ sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

Finalmente, actualice la lista de paquetes e instale Nginx y Passenger usando este comando:

$ sudo yum install nginx passenger passenger-devel

Paso 5:Cree un nuevo usuario del sistema

Casi hemos terminado de configurar todo para instalar Redmine. Lo siguiente que debemos hacer es crear un nuevo usuario y grupo del sistema que ejecutará la instancia de Redmine. Primero creamos un nuevo usuario ingresando el siguiente comando en la terminal:

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

En aras de la simplicidad, hemos mantenido el nombre de usuario como redmine; sin embargo, puede usar cualquier nombre de usuario que desee.

Luego, agregue el usuario ngnix al nuevo grupo de usuarios usando este comando:

$ sudo usermod -a -G redmine nginx

Y finalmente, cambie los permisos del directorio /opt/redmine para que Nginx pueda acceder a él. Para hacer esto, ingrese este comando:

$ sudo chmod 750 /opt/redmine

Paso 6:Instalar Rubí

Y ahora, para el paso final para tener todo listo, necesitaremos instalar Ruby en nuestro sistema CentOS.

Ahora, la parte complicada es que la versión de Ruby que viene con el repositorio de CentOS está desactualizada y no es compatible con Redmine. Es por eso que necesitaremos instalarlo usando RVM.

Primero, cambie al usuario de Redmine escribiendo el siguiente comando:

$ sudo su - redmine

Deberá importar la clave GPG usando este comando:

$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Una vez hecho esto, instale RVM con este comando:

$ curl -sSL https://get.rvm.io | bash -s stable

Ahora, para usar RVM, deberá obtener el archivo RVM con este comando:

$ source /opt/redmine/.rvm/scripts/rvm

Finalmente, es hora de instalar Ruby en nuestro sistema. Para hacer esto, ingrese el siguiente comando en su terminal.

$ rvm install 2.7
$ rvm --default use 2.7

Nota:Aquí, 2.7 se refiere a la versión 2.7 de Ruby, que es la última versión de Ruby en el momento de escribir este artículo. Si hay una versión actualizada de Ruby cuando está leyendo esto, descárguela. Siempre puede usar la versión 2.7 siempre que Redmine lo admita.

¡Y eso es! Ha configurado correctamente su sistema CentOS y ahora está listo para instalar Redmine.

Instalar Redmine en CentOS 7

Al instalar Redmine, siempre debe consultar la página de descarga de Redmine para ver la última versión y descargarla. Por el bien de este tutorial, instalaremos la versión 4.1.1 de Redmine, ya que es la versión estable actual en el momento de escribir este artículo.

Ahora, con eso fuera del camino, aquí hay una guía paso a paso sobre cómo instalar Redmine 4.1.1 en CentOS 7.

Paso 1:Descarga Redmine

Antes de comenzar, asegúrese de ejecutar todos los comandos iniciando sesión como usuario de Redmine.

Una vez que haya hecho eso, descargue el archivo de Redmine en su sistema. Puedes hacerlo usando el siguiente comando curl:

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

Después de descargar el archivo, extráigalo usando el siguiente comando:

$ tar -xvf redmine.tar.gz

Paso 2:configurar la base de datos de Redmine

A continuación, deberá configurar la base de datos de Redmine. Comience copiando el archivo de configuración de la base de datos de ejemplo de Redmine usando el siguiente comando:

$ cp /opt/redmine/redmine-4.1.1/config/database.yml.example /opt/redmine/redmine-4.1.1/config/database.yml

A continuación, abra el archivo con el editor de texto de su elección. Usaremos el editor nano.

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

Ahora, busque en la sección de producción e ingrese la información de la base de datos MySQL creada anteriormente, incluido el nombre de usuario y la contraseña, como se muestra a continuación.

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "EnterPasswordHere"
encoding: utf8

Reemplace EnterPasswordHere con una contraseña segura de su elección.

Una vez hecho esto, guarde y salga del archivo para pasar al siguiente paso.

Paso 3:Instale las dependencias de Ruby

A continuación, deberá instalar todas las dependencias y el paquete de Ruby.

Para hacer esto, dirígete al directorio redmine-4.1.1, abre la terminal e ingresa los siguientes comandos:

$ cd ~/redmine-4.1.1
$ gem install bundler --no-rdoc --no-ri
$ bundle install --without development test postgresql sqlite

Paso 4:Generación de claves y migración de la base de datos

Ingrese los siguientes comandos en su terminal para generar claves y migrar la base de datos:

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

Paso 5:configurar Nginx

Ahora, antes de que podamos acceder a Redmine, deberá configurar Nginx. Para hacer esto, primero vuelva a su usuario sudo ingresando el siguiente comando:

$ exit

Ahora, abra el editor de texto y cree el archivo de bloque del servidor Nginx. Para hacer esto, ingrese el siguiente comando:

$ sudo nano /etc/nginx/conf.d/example.com.conf

A continuación, copie y pegue el siguiente contenido dentro del archivo:

Nota:recuerda cambiar example.com por tu dominio de Redmine.

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

server {
listen 80;
server_name example.com www.example.com;

root /opt/redmine/redmine-4.1.1/public;

# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

passenger_enabled on;
passenger_min_instances 1;

client_max_body_size 10m;
}

Una vez hecho esto, ejecute una prueba para asegurarse de que no haya errores del sistema ingresando el siguiente comando:

$ sudo nginx -t

Una salida limpia sin errores debería verse así:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Una vez que obtenga la luz verde, puede reiniciar el servidor Nginx ingresando este comando:

sudo systemctl restart nginx

Paso 6:cifrar Nginx con SSL

Deberá configurar Nginx con una certificación SSL. En caso de que su dominio aún no esté protegido por un certificado SSL de confianza, puede generar uno gratuito con Let's Encrypt.

Una vez que tenga el certificado en la mano, deberá editar nuevamente el archivo de configuración de Nginx. Para hacer esto, primero debe abrirlo en su editor de texto usando el siguiente comando:

$ sudo nano /etc/nginx/conf.d/example.com.conf

Ahora edite el archivo, como se muestra a continuación:

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;

include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;

return 301 https://example.com$request_uri;
}

server {
listen 443 ssl http2;
server_name example.com;

root /opt/redmine/redmine-4.1.1/public;

# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;

# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

passenger_enabled on;
passenger_min_instances 1;
client_max_body_size 10m;
}

Nota:recuerda cambiar example.com por tu dominio de Redmine.

¡Y eso es! Ahora está listo para acceder a Redmine.

Acceso a Redmine

Ahora ha instalado y configurado correctamente Redmine en CentOS. Finalmente es hora de acceder y ver si todo funciona correctamente.

Para acceder a Redmine, primero debe abrir su navegador y escribir su dominio. Si la instalación fue exitosa, debería ver la siguiente pantalla que le solicita su nombre de usuario y contraseña.

De forma predeterminada, las credenciales de inicio de sesión son las siguientes:

Username: admin
Password: admin

Después de iniciar sesión por primera vez, el sistema le pedirá que cambie su contraseña por una más segura.

Después de cambiar su contraseña, será redirigido a la página principal de su cuenta de usuario desde donde podrá comenzar a usar Redmine.


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar y configurar Redis en CentOS 7

  3. Cómo instalar y configurar GitLab en CentOS 7

  4. Cómo instalar y configurar Redmine en CentOS 7

  5. Cómo instalar y configurar Redis en CentOS 8

Instalar y configurar phpLDAPAdmin en CentOS 7 / Ubuntu 16.04

Cómo instalar y configurar ownCloud en CentOS 7

Instalar y configurar Check_MK Server en CentOS 7

Cómo instalar y configurar Samba en CentOS 8

Cómo instalar y configurar Fail2ban en CentOS 8

Cómo instalar y configurar MariaDB en CentOS/RHEL 7