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

Cómo instalar y configurar Redmine en CentOS 7

Redmine es una de las herramientas de software de gestión de proyectos y seguimiento de problemas de código abierto más populares. 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.

En este tutorial cubriremos los pasos necesarios para instalar y configurar la última versión de Redmine en un servidor CentOS 7 utilizando MariaDB como back-end de base de datos y Passenger + Nginx como servidor de aplicaciones Ruby.

Requisitos previos #

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Nombre de dominio que apunta a la IP pública de su servidor. En este tutorial usaremos example.com .
  • Iniciar sesión como usuario con privilegios sudo.

Instale los paquetes necesarios para compilar Redmine y Ruby desde la fuente:

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-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Creando base de datos MySQL #

Redmine es compatible con MySQL/MariaDB, Microsoft SQL Server, SQLite 3 y PostgreSQL. En este tutorial usaremos MariaDB como back-end de 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 escribiendo el siguiente comando:

sudo mysql

Desde el shell de MySQL, ejecute la siguiente instrucción SQL para crear una nueva base de datos:

CREATE DATABASE redmine CHARACTER SET utf8;

A continuación, cree una cuenta de usuario de MySQL y otorgue acceso a la base de datos:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Asegúrate de cambiar change-with-strong-password con una contraseña segura.

Una vez completado, salga del shell mysql escribiendo:

EXIT;

Instalando Pasajero y Nginx #

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 Nginx.

Instale el repositorio EPEL y los paquetes requeridos:

sudo yum install epel-release yum-utils pygpgmesudo yum-config-manager --enable epel

Habilite el depósito de pasajeros de Phusion:

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

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

sudo yum install nginx passenger passenger-devel

Creando Nuevo Usuario del Sistema #

Cree un nuevo usuario y grupo, que ejecutará la instancia de Redmine, por simplicidad llamaremos al usuario redmine :

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

Agregue el nginx usuario al nuevo grupo de usuarios y cambie el /opt/redmine permisos de directorio para que Nginx pueda acceder a él:

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

Instalando Ruby #

La versión de Ruby en los repositorios de CentOS está bastante desactualizada y no es compatible con Redmine. Instalaremos Ruby usando RVM.

Cambiar al usuario redmine escribiendo:

sudo su - redmine

Importe las claves GPG e instale RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable

Para comenzar a usar la fuente RVM, el rvm archivo:

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

Ahora podemos instalar Ruby ejecutando:

rvm install 2.5rvm --default use 2.5
Si desea instalar Ruby a través de Rbenv, consulte esta guía.

Instalando Redmine en CentOS #

Al momento de escribir este artículo, la última versión estable de Redmine es la versión 4.0.1.

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

Asegúrate de ejecutar los siguientes pasos como redmine usuario.

1. Descargando Redmine #

Descarga el archivo de Redmine con el siguiente comando curl:

curl -L http://www.redmine.org/releases/redmine-4.0.1.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.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Abra el archivo con su editor de texto:

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

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

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

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

3. Instalación de dependencias de Ruby #

Navega a redmine-4.0.1 directorio e instale el paquete y otras dependencias de Ruby:

cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

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 Nginx #

Vuelve a tu usuario sudo:

exit

Abra su editor de texto y cree el siguiente archivo de bloque del servidor Nginx:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com.conf
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.0.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;
}
No olvides reemplazar example.com con tu dominio de Redmine.

Antes de reiniciar el servicio Nginx, haga una prueba para asegurarse de que no haya errores de sintaxis:

sudo nginx -t

Si no hay errores, la salida 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

Finalmente, reinicie el servicio Nginx escribiendo:

sudo systemctl restart nginx

Configurar Nginx 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 que se genera el certificado, edite la configuración del dominio Nginx de la siguiente manera:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com
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.0.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;
}
No olvide reemplazar example.com con su dominio de Redmine y establezca la ruta correcta a los archivos del certificado SSL. Todas las solicitudes HTTP se redirigirán a HTTPS.

Accediendo 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.


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 Redis en CentOS 8

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

Cómo instalar y configurar ownCloud en CentOS 7

Cómo instalar y configurar Samba en CentOS 8

Cómo instalar y configurar Fail2ban en CentOS 8

Cómo instalar Redmine en CentOS 8

Cómo instalar y configurar HAproxy en CentOS 6

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8