Android

Comment installer et configurer Redmine sur Centos 7

Install Redmine 3.3.2 on Windows 7 x64 via Bitnami installer byAO

Install Redmine 3.3.2 on Windows 7 x64 via Bitnami installer byAO

Table des matières:

Anonim

Redmine est l'un des outils logiciels de gestion de projet open source et de suivi des problèmes les plus populaires. 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 couvrirons les étapes nécessaires pour installer et configurer la dernière version de Redmine sur un serveur CentOS 7 en utilisant MariaDB 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:

  • Nom de domaine pointant vers l'IP publique de votre serveur. Dans ce didacticiel, nous utiliserons example.com .Connecté en tant qu'utilisateur avec les privilèges sudo.

Installez les packages requis pour construire Redmine et Ruby à partir des sources:

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

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

Redmine prend en charge MySQL / MariaDB, Microsoft SQL Server, SQLite 3 et PostgreSQL. Dans ce didacticiel, nous utiliserons MariaDB comme back-end de base de données.

Si vous n'avez pas installé MariaDB ou MySQL sur votre serveur CentOS, vous pouvez l'installer en suivant ces instructions.

Connectez-vous au shell MySQL en tapant la commande suivante:

sudo mysql

Depuis le shell MySQL, exécutez l'instruction SQL suivante pour créer une nouvelle base de données:

CREATE DATABASE redmine CHARACTER SET utf8;

Ensuite, créez un 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'; Assurez-vous de changer le change-with-strong-password de change-with-strong-password avec un mot de passe fort.

Une fois terminé, quittez le shell mysql en tapant:

EXIT;

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.

Installez le référentiel EPEL et les packages requis:

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

Activez le référentiel Phusionpassenger:

sudo yum-config-manager --add-repo

Une fois le référentiel activé, mettez à jour la liste des packages et installez Nginx et Passenger avec:

sudo yum install nginx passenger passenger-devel

Création d'un nouvel utilisateur système

Créez un nouvel utilisateur et un nouveau groupe, qui exécutera l'instance Redmine, pour simplifier, nous nommerons l'utilisateur redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

Ajoutez l'utilisateur nginx au nouveau groupe d'utilisateurs et modifiez les autorisations du répertoire /opt/redmine afin que Nginx puisse y accéder:

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

Installation de Ruby

La version de Ruby dans les référentiels CentOS est assez obsolète et n'est pas prise en charge par Redmine. Nous installerons Ruby à l'aide de RVM.

Passez à l'utilisateur redmine en tapant:

sudo su - redmine

Importez les clés GPG et installez RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable

Pour commencer à utiliser RVM source le fichier rvm :

source /opt/redmine/.rvm/scripts/rvm

Nous pouvons maintenant installer Ruby en exécutant:

rvm install 2.5 rvm --default use 2.5 Si vous souhaitez installer Ruby via Rbenv, consultez ce guide.

Installation de Redmine sur CentOS

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

Avant de poursuivre avec les étapes suivantes, vous devriez vérifier la page de téléchargement de Redmine pour voir si une version plus récente est disponible.

Assurez-vous que vous exécutez les étapes suivantes en tant qu'utilisateur redmine .

1. Téléchargement de Redmine

Téléchargez l'archive Redmine avec la commande curl suivante:

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

Une fois le téléchargement terminé, extrayez l'archive:

tar -xvf redmine.tar.gz

2. Configuration de la base de données Redmine

Copiez l'exemple de fichier de configuration de la base de données Redmine:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Ouvrez le fichier avec votre éditeur de texte:

nano /opt/redmine/redmine-4.0.1/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/redmine-4.0.1/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 redmine-4.0.1 et installez bundler et d'autres dépendances Ruby:

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri 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:

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

Configuration de Nginx

Revenez à votre utilisateur sudo:

exit

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

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.conf

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; server { listen 80; server_name example.com www.example.com; root /opt/redmine/redmine-4.0.1/public; # 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.

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

Configurer Nginx avec SSL

Une fois le certificat généré, modifiez la configuration du domaine Nginx comme suit:

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; # 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/redmine-4.0.1/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

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 CentOS. Vous devriez maintenant consulter la documentation Redmine et en savoir plus sur la configuration et l'utilisation de Redmine.

centos redmine ruby ​​mysql mariadb nginx