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

Comment installer Redmine 3 avec Nginx sur CentOS 7

Redmine est une application Web open source pour la gestion de projet et le suivi des problèmes. Redmine est basé sur le framework Ruby on Rails, il prend en charge plusieurs plates-formes et plusieurs bases de données et est livré avec des traductions pour 42 langues. Le logiciel permet de suivre plusieurs projets, il intègre les actualités, la gestion des documents et des fichiers et un support wiki par projet. Les comptes d'utilisateurs peuvent être authentifiés par rapport à un annuaire LDAP et un logiciel tiers peut être connecté via une API REST.

Dans ce didacticiel, nous allons installer Redmine 3.2 avec Nginx comme serveur Web, MySQL comme serveur de base de données sur un système d'exploitation CentOS 7 (64 bits).

Prérequis

  • CentOS 7 - 64 bits.
  • Privilèges racine.

Étape 1 - Installer les dépendances Redmine

Redmine a beaucoup de dépendances que nous installerons en premier. Connectez-vous à votre serveur CentOS 7 en tant qu'utilisateur root :

ssh [email protected]

Installez toutes les dépendances requises par Redmine et les packages nécessaires pour ruby ​​et rvm avec la commande yum ci-dessous :

yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison iconv-devel subversion

L'installation demandera un mot de passe MySQL. Tapez votre nouveau mot de passe root MySQL lorsque vous y êtes invité.

Étape 2 - Installer Ruby et RVM

Dans cette étape, nous allons installer rvm (dernière version) et ruby ​​2.2. Redmine 3.2 prend en charge la version 2.2 de ruby. RVM (Ruby Version Manager) est un outil de ligne de commande qui vous permet d'installer, de gérer et de travailler avec plusieurs environnements ruby ​​sur le même serveur.

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5

Une fois l'installation terminée, nous devons recharger RVM et l'ajouter au fichier .bashrc pour un rechargement automatique :

source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

Rechargez le fichier .bashrc et vérifiez la version Ruby et RVM.

source ~/.bashrc
ruby -v
rvm -v

Étape 3 - Configurer la base de données pour Redmine

Dans cette étape, nous allons installer le package mysql-server à partir du référentiel MySQL officiel.

Ajoutez le référentiel Oracle MySQL et vérifiez la liste des référentiels.

rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist

pour vous assurer que le référentiel du serveur MySQL a bien été ajouté.

Installez le serveur MySQL avec cette commande yum.

yum install mysql-server

Une fois l'installation terminée, démarrez le service mysqld et configurez le mot de passe root MySQL.

systemctl start mysqld

Le serveur MySQL a été démarré. Obtenez maintenant le mot de passe root temporaire pour le serveur mysql avec la commande grep ci-dessous :

grep 'temporary password' /var/log/mysqld.log

Vous verrez un résultat semblable à celui-ci :

2016-10-31T23:06:50.974555Z 1 [Note] A temporary password is generated for [email protected]: />y.)uWui8j*

Nous savons donc que le mot de passe root du serveur MySQL est :/>y.)uWui8j*

Nous allons maintenant définir un nouveau mot de passe root pour le serveur mysql. Connectez-vous au shell mysql avec l'utilisateur root et le mot de passe généré :

mysql -u root -p
GENERATED PASSWORD: />y.)uWui8j*

Définissez un nouveau mot de passe utilisateur root avec la requête mysql ci-dessous :

ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';

Ensuite, créez une nouvelle base de données appelée "redmine" et créez un nouvel utilisateur "redmine" avec le mot de passe "redmine" (utilisez un mot de passe sécurisé sur votre serveur ici !). Accordez ensuite tous les privilèges de l'utilisateur à la base de données 'redmine'.

create database redmine;
create user [email protected] identified by '[email protected]!';
grant all privileges on redmine.* to [email protected] identified by '[email protected]!';
flush privileges;
exit

La base de données et l'utilisateur ont été créés.

Étape 4 - Installer Phusion Passenger et Nginx

Phusion Passenger est un serveur d'applications Web qui peut être utilisé avec apache et nginx. Il prend en charge plusieurs langages :Ruby, Python et Nodejs. Il est facile pour nous, rapide, peut gérer plus de trafic et offre des améliorations de sécurité.

Dans ce chapitre, nous allons installer le Phusion Passenger et l'intégrer à notre serveur Web nginx. Installez le passager avec la commande gem ci-dessous, puis exécutez la commande passager-nginx-module.

gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module

La commande vous demandera quel langage de programmation doit être utilisé, sélectionnez Ruby et Python .

On vous posera des questions sur l'installation de nginx ; sélectionnez "Oui :téléchargez, compilez et installez Nginx pour moi. (recommandé) ".

On vous demandera le répertoire d'installation de nginx, utilisez le par défaut '/opt/nginx/' , appuyez simplement sur "Entrée ".

Étape 5 - Configurer Nginx

Une fois l'installation de nginx terminée, accédez au répertoire d'installation et modifiez le fichier nginx.conf avec un éditeur.

cd /opt/nginx/
cd conf/
vim nginx.conf

Collez la configuration ci-dessous à la ligne 24 :

include vhost/*.conf;

Enregistrez le fichier et quittez l'éditeur.

Créez un nouveau répertoire 'vhost' pour la configuration de l'hôte virtuel.

mkdir -p /opt/nginx/conf/vhost

Accédez au répertoire vhost et créez la configuration de l'hôte virtuel redmine avec vim :

cd /opt/nginx/conf/vhost/
vim redmine.conf

Collez la configuration de l'hôte virtuel ci-dessous :

    server {
        listen       80;
        server_name  www.redmine.me;

        root /var/www/redmine/public;
        passenger_enabled on;
        client_max_body_size      10m; # Max attachemnt size

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

Enregistrez le fichier.

Ubuntu 16.04 utilise systemd comme système d'initialisation. Ensuite, nous configurons nginx pour systemd. Accédez au répertoire systemd et créez un nouveau fichier de service nommé "nginx.service".

cd /lib/systemd/system/
vim nginx.service

Collez le script nginx pour systemd ci-dessous :

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Enregistrez et quittez.

Rechargez le service systemd et essayez de démarrer nginx avec la commande systemctl :

systemctl daemon-reload
systemctl start nginx

Si vous voulez vérifier nginx, vérifiez le port 80 ouvert :

netstat -plntu | grep nginx

Le résultat devrait ressembler à ceci :

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4871/nginx

Étape 6 - Installer Redmine

Créez un nouveau répertoire pour l'installation de Redmine. Je vais utiliser le répertoire '/var/www/' ici.

mkdir -p /var/www/

Allez dans le répertoire '/var/www/' et téléchargez Redmine avec la commande svn :

cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine

Allez dans le répertoire Redmine et copiez le fichier de configuration et le fichier de configuration de la base de données :

cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml

Editez le fichier database.yml avec vim :

vim config/database.yml

Dans la ligne de la section de production, renseignez le nom d'utilisateur et le mot de passe de la base :

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "[email protected]!"
  encoding: utf8

Enregistrez le fichier.

Dans le répertoire redmine, créez de nouveaux répertoires et changez le propriétaire en utilisateur et groupe personne :

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R nobody:nobody files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets

Installez les dépendances bundler et gem pour redmine :

gem install bundler
bundle install --without development test

Générez le jeton secret, puis générez la base de données :

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

Redémarrez nginx et visitez le nom de domaine redmine avec un navigateur Web :

systemctl restart nginx

Visitez l'installation de Redmine, la mienne est :www.redmine.co

Connectez-vous à la page d'administration :www.redmine.co/login

L'utilisateur et le mot de passe par défaut sont 'admin'.

Créez un nouvel exemple de projet.

Exemple de page de projet.

L'installation de Redmine avec Nginx et MySQL sur CentOS 7 a réussi.

Conclusion

Redmine est une application Web pour la gestion de projet et le suivi des problèmes. Redmine est multiplateforme, nous pouvons donc l'exécuter sur Windows, Linux ou Mac OS. Redmine prend en charge de nombreuses bases de données telles que MySQL, PostgreSQL, Microsoft SQL Server et SQLite. Redmine est facile à installer et à configurer, nous pouvons utiliser Apache ou Nginx comme serveur Web. Redmine est très puissant et possède de nombreuses fonctionnalités telles que le support multilingue, la gestion de fichiers, le wiki et une API REST. Redmine est l'une des meilleures solutions gratuites si vous souhaitez créer votre propre gestion de projet avec suivi des problèmes.


Cent OS
  1. Comment installer MySQL sur CentOS 8

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  3. Comment installer Redmine sur CentOS 7

  4. Comment installer Redmine sur CentOS 8

  5. Comment installer MySQL 5.6 sur CentOS 6.x

Comment installer phpMyAdmin avec Nginx sur CentOS 8 / RHEL 8

Comment installer Redmine sur CentOS 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8