Instalar Redmine

Pasos para instalar Redmine en producción.

Requisitos :

  • Ubuntu 18.04
  • Mysql 5.7
  • Ruby 3.1.2
  • Bundler 2.3.20
  • Redmine 5.0

Procedimiento de instalación

Actualizar SO e instalar algunas dependencias:

sudo apt install curl libmysqlclient-dev coffeescript gawk g++ gcc make libreadline6-dev libssl-dev libyaml-dev autoconf libgmp-dev libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev

Crear usuario y base de datos:

CREATE DATABASE redmine CHARACTER SET utf8;

CREATE USER ‘redmine’@’localhost’ IDENTIFIED BY ‘pass’;

GRANT ALL PRIVILEGES ON redmine.* TO ‘redmine’@’localhost’;

Conexión a la base de datos desde el proyecto: Copiar el archivo config/database.yml.example a config/database.yml y editar el environment de producción. Ej.

production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: «pass»

Instalar dependencias del proyecto: en la raíz del proyecto (donde se encuentra el archivo Gemfile) ejecutar el comando

bundle install

Instalar gema passenger:

gem install passenger

Variable de entorno para Rails:

echo ‘export RAILS_ENV=production’ >> ~/.bashrc

source ~/.bashrc

Generar token para la session store: Copiar token generado, lo utilizaremos mas adelante.

bundle exec rake generate_secret_token

Generar los esquemas en la base de datos:

RAILS_ENV=production bundle exec rake db:migrate

Generar datos por defecto:

RAILS_ENV=production bundle exec rake redmine:load_default_data

Permisos para archivos de sistema utilizados por redmine;

mkdir -p tmp tmp/pdf public/plugin_assets

sudo chown -R usuario:grupo files log tmp public/plugin_assets

sudo chmod -R 755 files log tmp public/plugin_assets

Instalar dependencias de passenger:

sudo apt install apache2 libcurl4-openssl-dev apache2-dev libapr1-dev libaprutil1-dev

Agregar el token al archivo config/secrets.yml: (https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml)

production:

  secret_key_base: <%= ENV[«SECRET_KEY_BASE»] %> | token generado

Instalar el modulo passenger de apache:

sudo a2enmod headers

passenger-install-apache2-module

Al final de la instalación tendremos que copiar una configuración para paseadero al final del archivo en /etc/apache2/apache2.conf, dependiendo de la versión de Ruby el código generado debería ser algo parecido a:

LoadModule passenger_module /home/mjrios/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/passenger-6.0.14/buildout/apache2/mod_passenger.so

PassengerRoot /home/mjrios/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/passenger-6.0.14 PassengerDefaultRuby /home/mjrios/.rbenv/versions/3.1.2/bin/ruby

Configurar virtual hosts en apache:

Ejemplo:

PassengerMaxPoolSize 4

  <VirtualHost *:80>

      Header add Strict-Transport-Security max-age=31536000

      DocumentRoot /var/www/html/redmine/public

      <Directory var/www/html/redmine/public>

         Header unset ETag

         AllowOverride all

         Options -MultiViews

         Order allow,deny

         Allow from all

         Require all granted

      </Directory>

      PassengerMinInstances 2

  </VirtualHost>

Categorías: