Androide

Cómo instalar y configurar redmine en centos 7

How to install #Redmine with Apache on CentOS 7 #linux

How to install #Redmine with Apache on CentOS 7 #linux

Tabla de contenido:

Anonim

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 base de datos cruzada y está construido sobre 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.

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

Prerrequisitos

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 Ingresé como usuario con privilegios de sudo.

Instale los paquetes necesarios para construir 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-devel sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Crear una 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 la base de datos.

Si no tiene MariaDB o MySQL instalado 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 MySQL y otorgue acceso a la base de datos:

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

Una vez completado, salga del shell mysql escribiendo:

EXIT;

Instalando Passenger 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 pygpgme sudo yum-config-manager --enable epel

Habilite el repositorio de Phusionpassenger:

sudo yum-config-manager --add-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

Crear nuevo usuario del sistema

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

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

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

sudo usermod -a -G redmine nginx sudo 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.

Cambie al usuario redmine escribiendo:

sudo su - redmine

Importe las claves GPG e instale RVM:

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

Para comenzar a usar la fuente RVM el archivo rvm :

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

Ahora podemos instalar Ruby ejecutando:

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

Instalar 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 estar ejecutando los siguientes pasos como usuario de redmine .

1. Descargando Redmine

Descargue el archivo 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 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 sección de 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. Instalar dependencias de Ruby

Navegue al directorio redmine-4.0.1 e instale el paquete y otras dependencias de Ruby:

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri bundle 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_token RAILS_ENV=production bundle exec rake db:migrate

Configurando Nginx

Vuelva a su usuario de sudo:

exit

Abra su editor de texto y cree el siguiente archivo de bloqueo 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 olvide reemplazar example.com con su dominio de Redmine.

Antes de reiniciar el servicio Nginx, realice 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

Una vez que se genera el certificado, edite la configuración de Nginx del dominio 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 establecer la ruta correcta a los archivos de certificado SSL. Todas las solicitudes HTTP serán redirigidas a

Accediendo a Redmine

Abra su navegador, escriba su dominio y suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:

Una vez que cambie la contraseña, será redirigido a la página de la cuenta de usuario.

Conclusión

Ha instalado correctamente Redmine en su sistema CentOS. Ahora debe consultar la documentación de Redmine y obtener más información sobre cómo configurar y usar Redmine.

centos redmine ruby ​​mysql mariadb nginx