Cómo instalar y configurar Redmine en Ubuntu 18.04 LTS

1 mar 2021 5 min di lettura
Cómo instalar y configurar Redmine en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

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 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 describe cómo instalar y configurar la última versión de Redmine en un servidor Ubuntu 18.04 usando MySQL como el backend de la base de datos y Passenger + Nginx como el servidor de aplicaciones Ruby.

Prerrequisitos

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

  • Tiene un nombre de dominio que apunta a la IP pública de su servidor. En este tutorial usaremos example.com.
  • Ha iniciado sesión como usuario con privilegios de sudo.
  • Ha instalado Nginx siguiendo estas instrucciones.
  • Tiene un certificado SSL instalado para su dominio. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo estas instrucciones.

Si desea instalar Redmine en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Crea una base de datos MySQL

Redmine es compatible con MySQL /MariaDB, Microsoft SQL Server, SQLite 3 y PostgreSQL. En este tutorial usaremos MySQL como el backend de la base de datos.

Si aún no ha instalado MySQL en su servidor Ubuntu, puede instalarlo siguiendo estas instrucciones.

Inicie sesión en el shell de MySQL escribiendo el siguiente comando:

sudo mysql

O si ha establecido una contraseña para el usuario root, use el siguiente comando para iniciar sesión en MySQL shel:

sudo mysql -u root -p

Desde dentro del shell de MySQL, ejecute la siguiente declaración SQL para crear una nueva base de datos:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

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úrese de cambiar change-with-strong-password por una contraseña segura.

Una vez hecho esto, salga de la consola mysql escribiendo:

EXIT;

Instalar Ruby

La forma más sencilla de instalar Ruby en su sistema Ubuntu es a través del administrador de paquetes apt En el momento de escribir estas líneas, la versión en los repositorios de Ubuntu es 2.5.1, que es la última versión estable de Ruby.

Instale Ruby escribiendo:

sudo apt install ruby-full

Instalar Passenger y Nginx

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 módulo Nginx.

Asegúrese de haber seguido los requisitos previos e instalado Nginx antes de continuar con los siguientes pasos.

Empiece por instalar los paquetes necesarios:

sudo apt install dirmngr gnupg apt-transport-https ca-certificates

Importe la clave GPG del repositorio y habilite el repositorio Phusionpassenger:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main'

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

sudo apt update
sudo apt install libnginx-mod-http-passenger

Instalar Redmine en Ubuntu

Comenzaremos instalando las dependencias necesarias para construir Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev

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 el siguiente paso, debe consultar la página de descarga de Redmine para ver si hay una versión más nueva disponible.

Descarga de Redmine

Descarga el archivo de Redmine con el siguiente comando curl:

sudo curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o /tmp/redmine.tar.gz

Una vez que se complete la descarga, extraiga el archivo y muévalo al directorio /opt

cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.1.0 /opt/redmine

Configurar la base de datos de Redmine

Comience copiando el archivo de configuración de muestra de Redmine:

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Abra el archivo con su editor de texto:

sudo nano /opt/redmine/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: utf8

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

Instalar dependencias de Ruby

Vaya al directorio redmine e instale el paquete y otras dependencias de Ruby:

cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite

Generar claves y migrar la base de datos

Ejecute el siguiente comando para generar claves y migrar la base de datos:

cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate

Establecer los permisos correctos

Nginx funciona como usuario y grupo de www-data Establezca los permisos correctos emitiendo el siguiente comando chown:

sudo chown -R www-data: /opt/redmine/

Configurar Nginx

A estas alturas, ya debería tener Nginx con certificado SSL instalado en su sistema; de lo contrario, verifique los requisitos previos para este tutorial.

Ahora necesita configurar Nginx para que sirva a Redmine, preste atención para agregar correctamente los siguientes parámetros passenger_enabled on; y passenger_min_instances 1;.

Abra su editor de texto y cree /edite el siguiente archivo de bloqueo del servidor Nginx así:

sudo nano /etc/nginx/sites-available/example.com
server {

 root /opt/redmine/public;

 index index.html;

 server_name example.com www.example.com;

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


 listen [::]:443 ssl ipv6only=on; # managed by Certbot
 listen 443 ssl; # managed by Certbot
 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 include /etc/letsencrypt/options-ssl-nginx.conf;
 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;


 passenger_enabled on;
 passenger_min_instances 1;
 client_max_body_size 10m;


 }
 server {
 if ($host = www.example.com) {
 return 301 https://$host$request_uri;
 } # managed by Certbot


 if ($host = example.com) {
 return 301 https://$host$request_uri;
 } # managed by Certbot


 listen 80;
 listen [::]:80;

 server_name example.com www.example.com;
 return 404; # managed by Certbot


 }

No olvide reemplazar example.com con su dominio de Redmine y establecer la ruta correcta para los archivos del certificado SSL. Todas las solicitudes HTTP serán redirigidas a HTTPS.

Habilite el bloqueo del servidor creando un enlace simbólico al directorio sites-enabled

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

Iniciar sesión en Redmine

Abra su navegador, escriba su dominio y, suponiendo que la instalación se haya realizado correctamente, aparecerá una pantalla de inicio de sesión.

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.

Conclusión

Redmine se ha instalado con éxito en el sistema Ubuntu. Ahora debería consultar la documentación de Redmine y obtener más información sobre cómo configurar y utilizar Redmine.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.