- Posté le
- • ⚙️ Hébergement
Redmine : Installation sur Ubuntu 26.04
- Auteur
-
-
- Utilisateur
- Thibaud
- Billets de cet auteur
- Billets de cet auteur
-
Redmine est un outil libre de gestion et de suivi de projets particulièrement adapté aux équipes techniques et aux organisations souhaitant centraliser leurs activités.
Il permet de planifier les tâches, suivre l'avancement des projets, gérer les tickets d'incidents ou de demandes, partager la documentation et faciliter la collaboration entre les différents intervenants.
Accessible via une interface web et dispisant de nombreuses fonctionnalités (gestion des rôles, diagrammes de Gantt, suivi du temps, wiki, forums, etc.), Redmine constitue une solution complète pour piloter efficacement des projets de toutes tailles.
Voici comment je l'installe sur Ubuntu 26.04.
Installation des dépendances
# update et upgrade
sudo apt update && sudo apt upgrade -y
# paquets requis
sudo apt install -y \
ruby3.2 \
ruby3.2-dev \
rails \
nginx \
build-essential \
mysql-server \
libmysqlclient-dev \
ruby-mysql2 \
zlib1g-dev \
libyaml-dev
Télécharger et installer Redmine
# Télécharger et décompresser dans /opt
wget https://www.redmine.org/releases/redmine-6.0.6.tar.gz
cd /opt/
sudo tar -xvzf ~/redmine-6.0.6.tar.gz
# symlink pour retirer la version
sudo ln -s redmine-6.0.6/ redmine
Configuration de la base de données
Entrer dans l'environnement mySQL : sudo mysql
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'secretPassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
Copier puis éditer le fichier database.yml
sudo cp config/database.yml.example config/database.yml
sudo vim config/database.yml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "secretPassword"
# Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
encoding: utf8mb4
Installer les dépendances Ruby
# installer bundler
sudo gem install bundler
# installer le bundle de Redmine
sudo bundle install
!!warn Un bon nombre de gems peuvent ne pas être accessible, ou manquer de dépendances, affichant une série d'erreurs. !!
Il est alors nécessaire d'installer manuellement chaque gem et d'identifier les potentiels manques.
Exemple : sudo gem install xpath
Installer et configurer Puma
Installer la gem puma
sudo gem install puma
Créer le fichier de config dans config/puma.rb
#!/usr/bin/env puma
directory '/opt/redmine'
rackup '/opt/redmine/config.ru'
bind "unix:///opt/redmine/tmp/sockets/puma.sock"
environment 'production'
pidfile "/opt/redmine/tmp/pids/puma.pid"
state_path "/opt/redmine/tmp/pids/puma.state"
stdout_redirect '/opt/redmine/log/puma.stdout.log', '/opt/redmine/log/puma.stderr.log', true
workers 2
threads 1,6
Créer les répertoires de destination :
# depuis /opt/redmine
sudo mkdir -p tmp/sockets/ tmp/pids log
Tester avec :
sudo bundle exec puma -C config/puma.rb
Optionnel : créer un service pour Puma
Créer le service - Attention socket lancé depuis root
sudo vim /etc/systemd/system/puma.service
[Unit]
Description=Puma HTTP Server for Redmine
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/redmine
ExecStart=/usr/local/bin/bundle exec puma -C config/puma.rb
Restart=always
RestartSec=10
StandardOutput=append:/opt/redmine/log/puma.stdout.log
StandardError=append:/opt/redmine/log/puma.stderr.log
[Install]
WantedBy=multi-user.target
# Charger et lancer le service
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now puma.service
sudo systemctl status puma
Lancer les scripts Redmine
# générer le secret token
sudo bundle exec rake generate_secret_token
# migrer la base de donnée
sudo RAILS_ENV=production bundle exec rake db:migrate
# charger le répertoire par défaut
sudo RAILS_ENV=production bundle exec rake redmine:load_default_data
# lorsque demandé, choisir la langue fr
Configuration Nginx
# Créer le fichier de configuration
sudo vim /etc/nginx/sites-available/redmine
# Activer la config
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine
# Controller la config
sudo nginx -t
# Redémarrer Nginx
sudo systemctl restart nginx.service
Fichier de conf redmine pour exemple, en écoute sur le port 80
server {
listen 80;
server_name IP-or-DNS;
root /opt/redmine/public;
access_log /var/log/nginx/redmine.access.log;
error_log /var/log/nginx/redmine.error.log;
location / {
proxy_pass http://unix:/opt/redmine/tmp/sockets/puma.sock;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires max;
log_not_found off;
}
}
Accéder à l'application Redmine
Tester l'accès au navigateur avec IP/DNS du serveur, il devrait afficher la page d'accueil.

Se connecter avec admin:admin
!!success Votre instance Redmine est désormais opérationnelle ! !!