Android

Comment installer et configurer Redmine sur Debian 9

Installation GestSup Debian 9

Installation GestSup Debian 9

Table des matières:

Anonim

Redmine est une application de gestion de projet et de suivi des problèmes gratuite et open source. Il est multi-plateforme et multi-base de données et construit au-dessus du framework Ruby on Rails.

Redmine inclut la prise en charge de plusieurs projets, wikis, système de suivi des problèmes, forums, calendriers, notifications par e-mail et bien plus encore.

Dans ce tutoriel, nous vous montrerons comment installer et configurer la dernière version de Redmine sur un serveur Debian 9 en utilisant MySQL comme back-end de base de données et Passenger + Nginx comme serveur d'application Ruby.

Conditions préalables

Assurez-vous que vous avez rempli les conditions préalables suivantes avant de poursuivre ce didacticiel:

  • Avoir un nom de domaine pointant vers l'IP publique de votre serveur. Nous utiliserons example.com .Connecté en tant qu'utilisateur avec les privilèges sudo.Avez Nginx installé.Avez un certificat SSL installé pour votre domaine.

Création d'une base de données MySQL

Redmine prend en charge MySQL / MariaDB, Microsoft SQL Server, SQLite 3 et PostgreSQL. Nous utiliserons MariaDB comme back-end de base de données. Assurez-vous d'avoir au moins MySQL 5.7 ou MariaDB 10.3 installé sur votre machine.

Si MariaDB ou MySQL n'est pas installé sur votre serveur Debian, vous pouvez l'installer en utilisant ces instructions.

Commencez par vous connecter à la console MySQL en tapant:

sudo mysql

Exécutez l'instruction SQL suivante pour créer une nouvelle base de données:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

Créez un nouveau compte utilisateur MySQL et accordez l'accès à la base de données:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; N'oubliez pas de changer change-with-strong-password par un mot de passe fort.

Une fois terminé, déconnectez-vous de la console MariaDB en tapant:

EXIT;

Installation de Ruby

La façon la plus simple d'installer Ruby sur Debian est d'utiliser le gestionnaire de paquets apt :

Installez Ruby en tapant:

sudo apt install ruby-full

Au moment de la rédaction, la version dans les référentiels Debian est 2.3.3p222 qui est supportée par la dernière version de Redmine.

Installation de Passenger et Nginx

Passenger est un serveur d'applications Web rapide et léger pour Ruby, Node.js et Python qui peut être intégré à Apache et Nginx. Nous allons installer Passenger en tant que module Nginx.

Assurez-vous que Nginx est installé avant de poursuivre les étapes suivantes.

Installation des packages nécessaires pour activer un référentiel

sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

Importez la clé GPG du référentiel et activez le référentiel 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 stretch main'

Mettez à jour la liste des packages et installez le module Passenger Nginx avec:

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

Installer Redmine sur Debian

Commencez par installer les dépendances nécessaires pour construire Redmine:

sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

Au moment de la rédaction de cet article, la dernière version stable de Redmine est la version 4.0.4.

Avant de passer à l'étape suivante, vous devez consulter la page de téléchargement de Redmine pour une version plus récente.

1. Téléchargement de Redmine

Téléchargez l'archive Redmine à l'aide de la commande curl suivante:

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

Une fois le téléchargement terminé, extrayez l'archive et déplacez-la dans le répertoire /opt :

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

2. Configuration de la base de données Redmine

Copiez l'exemple de fichier de configuration de Redmine:

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

Ouvrez le fichier avec votre éditeur de texte:

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

Recherchez la section de production et entrez la base de données MySQL et les informations utilisateur que nous avons créées précédemment:

/opt/redmine/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

Une fois terminé, enregistrez le fichier et quittez l'éditeur.

3. Installation des dépendances Ruby

Accédez au répertoire redmine et installez bundler et d'autres dépendances Ruby:

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

4. Générez des clés et migrez la base de données

Exécutez la commande suivante pour générer des clés et migrer la base de données:

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

5. Définissez les autorisations appropriées

Nginx fonctionne en tant qu'utilisateur et groupe www-data . Définissez les autorisations appropriées en émettant la commande chown suivante:

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

Configurer Nginx

À présent, vous devriez déjà avoir Nginx avec certificat SSL installé sur votre système, sinon vérifiez les conditions préalables pour ce tutoriel.

Ouvrez votre éditeur de texte et créez le fichier de blocage de serveur Nginx suivant:

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

# 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/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; } N'oubliez pas de remplacer example.com par votre domaine Redmine et de définir le chemin d'accès correct aux fichiers de certificat SSL. Toutes les requêtes HTTP seront redirigées vers HTTPS. Les extraits de code utilisés dans cette configuration sont créés dans ce guide.

Activez le bloc serveur en créant un lien symbolique vers le répertoire sites-enabled pour les sites-enabled :

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

Avant de redémarrer le service Nginx, faites un test pour vous assurer qu'il n'y a pas d'erreurs de syntaxe:

sudo nginx -t

S'il n'y a pas d'erreur, la sortie devrait ressembler à ceci:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, redémarrez le service Nginx en tapant:

sudo systemctl restart nginx

Accéder à Redmine

Ouvrez votre navigateur, saisissez votre domaine et en supposant que l'installation est réussie, un écran similaire au suivant apparaîtra:

Une fois le mot de passe modifié, vous serez redirigé vers la page du compte utilisateur.

Conclusion

Vous avez correctement installé Redmine sur votre système Debian. Vous devriez maintenant consulter la documentation Redmine et en savoir plus sur la configuration et l'utilisation de Redmine.

debian redmine ruby ​​mysql nginx