GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer Redmine sur CentOS 7

Redmine est l'un des outils logiciels open source de gestion de projet et de suivi des problèmes les plus populaires. Il est multiplateforme et multibase de données et construit sur le 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 didacticiel, 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.

Prérequis #

Assurez-vous que vous avez satisfait aux prérequis suivants avant de poursuivre ce didacticiel :

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

Installez les packages requis pour compiler 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-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Création de la 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 MariaDB ou MySQL n'est pas installé 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 modifier 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 pygpgmesudo yum-config-manager --enable epel

Activez le référentiel Phusionpassenger :

sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

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

sudo yum install nginx passenger passenger-devel

Création d'un nouveau numéro d'utilisateur système

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

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

Ajouter le nginx utilisateur au nouveau groupe d'utilisateurs et modifiez le /opt/redmine les permissions du répertoire pour que le Nginx puisse y accéder :

sudo usermod -a -G redmine nginxsudo 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 allons installer Ruby en utilisant RVM.

Passer à l'utilisateurredmine en tapant :

sudo su - redmine

Importez les clés GPG et installez RVM :

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

Pour commencer à utiliser la source RVM, le rvm fichier :

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

Nous pouvons maintenant installer Ruby en exécutant :

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

Installer 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 passer aux étapes suivantes, vous devez consulter 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 que redmine utilisateur.

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 le fichier de configuration de la base de données d'exemple 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

Rechercher la production section 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 répertoire et install bundler et autres dépendances Ruby :

cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

4. Générer des clés et migrer 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_tokenRAILS_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 du 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'erreurs, 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 #

Si vous ne disposez pas d'un certificat SSL de confiance pour votre domaine, vous pouvez générer un certificat SSL Let's Encrypt gratuit en suivant ces instructions.

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 correct vers les fichiers de certificat SSL. Toutes les requêtes HTTP seront redirigées vers HTTPS.

Accéder à Redmine #

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

Les identifiants de connexion par défaut pour Redmine sont :

  • Nom d'utilisateur :admin
  • Mot de passe :admin

Lors de votre première connexion, vous serez invité à modifier le mot de passe comme indiqué ci-dessous :

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


Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer et configurer Redis sur CentOS 7

  3. Comment installer et configurer GitLab sur CentOS 7

  4. Comment installer et configurer Redis sur CentOS 8

  5. Comment installer et configurer CyberPanel sur CentOS 8

Comment installer et configurer ownCloud sur CentOS 7

Comment installer et configurer Samba sur CentOS 8

Comment installer et configurer Fail2ban sur CentOS 8

Comment installer Redmine sur CentOS 8

Comment installer et configurer HAproxy sur CentOS 6

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8