Cómo instalar Redmine en Ubuntu 20.04 LTS

En esta entrada vamos a ver cómo instalar Redmine en Ubuntu 20.04 LTS Focal Fossa paso a paso de tal manera que en pocos minutos podrás trabajar con este administrador de proyectos sobre tu servidor o VPS Ubuntu.

Antes de instalar Redmine en Ubuntu 20.04 LTS Focal Fossa

Si quieres seguir los pasos de esta guía de instalación de Redmine en Ubuntu 20.04 LTS Focal Fossa es importante partir del siguiente escenario:

  • Un sistema Ubuntu 20.04 LTS Focal Fossa actualizado.
  • Un entorno o pila tipo LAMP (servicio web con motor de bases de datos MariaDB/MySQL/PostgreSQL).
  • Acceso a línea de comandos con privilegios de sudo.
  • Conexión a Internet.

En caso de no disponer del entorno necesario puede ser útil consultar previamente nuestras guías de instalación de Apache en Ubuntu 20.04 LTS, de MariaDB Server en Ubuntu 20.04 LTS o de PostgreSQL en Ubuntu 20.04 LTS.

Si ya cumples los requisitos básicos entonces es hora de regular la altura más confortable para la mesa de trabajo, abrir un navegador web y una terminal de consola.

Cómo descargar Redmine para Ubuntu 20.04 LTS Focal Fossa

Vamos a descargar Redmine para Ubuntu 20.04 LTS Focal Fossa directamente desde la sección de descargas del sitio web del proyecto.

como descargar redmine para ubuntu 20.04 lts focal fossa

Encontraremos paquetes para descarga de las últimas versiones estables para las ramas 5 y 4 en formatos .zip y .tar.gz, siendo este último formato el recomendado. Podemos realizar la descarga directamente desde el navegador o, si trabajamos remotamente, desde consola con alguna herramienta como wget:

~$ wget https://www.redmine.org/releases/redmine-5.0.1.tar.gz

Cómo instalar Redmine en Ubuntu 20.04 LTS Focal Fossa

Para instalar Redmine en Ubuntu 20.04 LTS Focal Fossa debemos realizar una serie de preparativos que describimos de forma ordenada y con detalle a continuación.

Dependencias

Redmine necesita una serie de dependencias que podemos satisfacer con paquetes procedentes de los repositorios de Ubuntu 20.04 LTS, por lo que actualizamos la información de los mismos:

~$ sudo apt update

E instalamos las dependencias comunes:

~$ sudo apt install -y gcc make libapache2-mod-passenger rails ruby-bundler ruby-dev zlib1g-dev

También debemos instalar la librería de desarrollo para el motor de bases de datos con el que queremos trabajar.

Si se trata de MariaDB instalaremos este paquete adicional:

~$ sudo apt install -y libmariadb-dev

Para MySQL instalamos esta librería:

~$ sudo apt install -y libmysqlclient-dev

Y para PostgreSQL instalaríamos esto:

~$ sudo apt install -y libpq-dev

Base de datos

Redmine puede trabajar con algunos de los motores de bases de datos más usados en Ubuntu 20.04 LTS, así que vamos a ver cómo prepararlos.

MariaDB/MySQL

Conectamos al servicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos para Redmine:

> create database redmine character set utf8mb4;

Creamos el usuario que gestionará dicha base:

> create user redmine@localhost identified by 'XXXXXXXX';

Y le concedemos permisos suficientes para administrarla:

> grant all privileges on redmine.* to redmine@localhost;

Ya podemos cerrar la sesión:

> exit

PostgreSQL

Creamos un rol con contraseña para Redmine:

~$ sudo -u postgres createuser -P redmine

Y creamos la base de datos asociándola al rol anterior:

~$ sudo -u postgres createdb redmine -O redmine

Archivos de Redmine

Vamos a crear un directorio en el sistema de archivos de Ubuntu 20.04 LTS para la ubicación definitiva de Redmine:

~$ sudo mkdir /opt/redmine

Descomprimimos el paquete que descargamos anteriormente en la nueva carpeta:

~$ sudo tar xf redmine-5.0.1.tar.gz -C /opt/redmine/

Como el nombre del subdirectorio que se acaba de crear contiene el número de versión, para facilitar la configuración y mantenimiento de la plataforma definiremos un enlace simbólico a dicho subdirectorio sin números de versión:

~$ sudo ln -s /opt/redmine/redmine-5.0.1/ /opt/redmine/redmine

Creamos el archivo de configuración de la conexión a la base de datos:

~$ sudo nano /opt/redmine/redmine/config/database.yml

Con el siguiente contenido, para el caso de MariaDB/MySQL:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "XXXXXXXX"
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4

O si trabajamos con PostgreSQL:

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "XXXXXXXX"
  encoding: utf8

Una vez guardado el archivo, cambiamos el directorio de trabajo a la carpeta de instalación de Redmine:

~$ cd /opt/redmine/redmine

Editamos el archivo de configuración de dependencias:

$ nano Gemfile

Buscamos las siguientes líneas:

...
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
...
  gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
...

Y las desactivamos añadiendo un carácter # al inicio de línea, ya que estas gemas no son necesarias para Ubuntu 20.04 LTS:

...
#gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
...
#  gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
...

Guardamos el archivo y lanzamos la compilación de Redmine:

$ bundle install

Es posible que se solicite la contraseña del usuario con el que estamos trabajando para realizar algunos procesos de instalación a través de sudo.

Antes del siguiente paso hay que tener en cuenta que durante la instalación de dependencias de Redmine se instaló la gema Thor de Ruby desde los repositorios de la distribución, pero la versión de dicha gema no sirve, así que la elimiminaremos:

$ sudo dpkg -r --force-depends ruby-thor

Y compilaremos la última versión disponible:

$ sudo gem install thor

Ahora ya podemos generar la clave para cifrar las cookies de Redmine (proceso que requiere la citada gema):

$ bundle exec rake generate_secret_token

Inicializamos la base de datos:

$ RAILS_ENV=production bundle exec rake db:migrate

Y la cargamos con los datos por defecto:

$ RAILS_ENV=production bundle exec rake redmine:load_default_data

Se nos preguntará por el idioma, mostrándose una lista de las posibilidades, siendo ‘es‘ el que elegiremos en este tutorial para el idioma español.

En este momento ya está todo listo para realizar una prueba de Redmine lanzando un servidor desde consola.

Si queremos acceder a dicho servidor desde red y está habilitado el firewall UFW, habrá que añadir una regla para el puerto 3000/TCP:

$ sudo ufw allow 3000/tcp

Lanzamos el servidor de prueba:

$ bundle exec ruby /usr/bin/rails server -u webrick -e production

Para acceder desde un navegador indicaremos la dirección de la máquina Ubuntu 20.04 LTS (IP, nombre DNS, dominio, localhost si trabajamos localmente, etc.) añadiendo el puerto de conexión 3000.

Por ejemplo, la máquina Ubuntu 20.04 LTS que hemos usado para realizar este tutorial es accesible en el subdominio ubuntu2004.local.lan, así que podríamos conectar con http://ubuntu2004.local.lan:3000 como URL:

como instalar redmine en ubuntu 20.04 lts focal fossa

Podemos ver que la aplicación funciona correctamente, mostrándose en la consola desde la que hemos lanzado la prueba el registro de eventos a medida que interactuamos con Redmine:

...
192.168.***.*** - - [***] "GET / HTTP/1.1" 200 4983
- -> /
192.168.***.*** - - [***] "GET /stylesheets/tribute-5.1.3.css?1652739046 HTTP/1.1" 200 581
...

Finalizamos la prueba y liberamos la consola con la combinación de teclas Control-C.

Ya podemos abandonar el directorio de Redmine:

$ cd

Servicio web

Para hacer funcionar Redmine integrado en el servicio web de la máquina Ubuntu 20.04 LTS el primer paso es conceder la propiedad de los archivos de la aplicación al usuario con el que corre el servicio, ya que Redmine debe poder escribir en su directorio de instalación:

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

Ajustaremos correctamente los permisos de acceso para impedir que otros usuarios puedan modificar tales archivos:

~$ sudo chmod -R 755 /opt/redmine/redmine/{files,log,tmp,public/plugin_assets}

Crearemos un enlace simbólico a la aplicación desde el directorio principal del sitio web por defecto del servidor:

~$ sudo ln -s /opt/redmine/redmine/public/ /var/www/html/redmine

Necesitamos realizar un ajuste en el módulo Passenger de Apache, que es el que corre la aplicación dentro del servicio web:

~$ sudo nano /etc/apache2/mods-available/passenger.conf

Añadimos la directiva PassengerUser del siguiente modo:

<IfModule mod_passenger.c>
...
        PassengerUser www-data
</IfModule>

Guardamos este archivo y editamos la configuración del sitio web por defecto:

~$ sudo nano /etc/apache2/sites-available/000-default.conf

Añadimos el siguiente bloque Directory para que Redmine pueda correr como aplicación integrada:

<VirtualHost *:80>
...
        DocumentRoot /var/www/html

        <Directory /var/www/html/redmine>
                RailsEnv production
                RailsBaseURI /redmine
                PassengerResolveSymlinksInDocumentRoot on
                Options -MultiViews
        </Directory>
...
</VirtualHost>
...

Finalmente, guardamos este archivo y reiniciamos el servicio web para aplicar todas estas configuraciones:

~$ sudo systemctl restart apache2

Cómo acceder a Redmine en Ubuntu 20.04 LTS Focal Fossa

Con la aplicación ya lista para su uso, vamos a acceder a Redmine en Ubuntu 20.0 LTS desde un navegador, usando la URL definitiva que se construye añadiendo la ruta /redmine a la dirección del servidor (IP, nombre DNS, dominio, localhost, etc.).

Siguiendo con el ejemplo de este tutorial, si ubuntu2004.local.lan es la dirección del servidor, http://ubuntu2004.local.lan/redmine sería la URL de acceso:

como instalar redmine en ubuntu 20.04 lts focal fossa

Se mostrará la página de inicio de la aplicación que ya vimos en la prueba anteriormente realizada.

Podemo iniciar sesión en la plataforma siguiendo el enlace «Iniciar sesión» del menú de la barra superior:

instalar redmine en ubuntu 20.04 lts focal fossa

El usuario administrador por defecto es admin y su contraseña también es admin.

Inmediatamente tras el inicio de sesión se nos requerirá el cambio de contraseña:

instalacion de redmine en ubuntu 20.04 lts focal fossa

Facilitaremos la contraseña actual, la nueva contraseña y su confirmación. Si todo es correcto se habrá creado la nueva contraseña y se mostrará la página del perfil del usuario administrador, donde podríamos realizar más personalizaciones.

¡Ya está todo listo para empezar a trabajar con Redmine sobre Ubuntu 20.04 LTS Focal Fossa!

redmine en ubuntu 20.04 lts focal fossa

Conclusión

Ahora que sabes cómo instalar Redmine en Ubuntu 20.04 LTS Focal Fossa ya puedes trabajar con este potente gestor sobre tus propios proyectos, tanto en red local como desde Internet.

Si tienes alguna duda o pregunta, quieres realizar alguna sugerencia, notificar algún error, etc. puedes dejar un comentario. Los comentarios están moderados (para evitar el SPAM), pero se revisan prácticamente a diario.

¡Apoya comoinstalar.me!

¿Ya funciona esta plataforma en tu máquina? En tal caso, si quieres agradecérnoslo cualquier mínima contribución aporta mucho al mantenimiento de este sitio y la creación de más artículos y tutoriales.

Puedes ayudarnos dejando una propina de tan solo 1 $ desde PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario