Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
computing:network_system:installation_d_un_serveur_redmine [2014/10/12 17:12] gdo [Installation] |
computing:network_system:installation_d_un_serveur_redmine [2014/10/14 14:42] (Version actuelle) gdo [Apache] |
||
---|---|---|---|
Ligne 41: | Ligne 41: | ||
<code>curl -L https://get.rvm.io | bash -s stable | <code>curl -L https://get.rvm.io | bash -s stable | ||
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc | echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc | ||
- | bash ~/.bashrc</code> | + | . ~/.bashrc</code> |
Nous n'aurons pas besoin de générer la documentation des composants Ruby donc désactivons cette génération par défaut : | Nous n'aurons pas besoin de générer la documentation des composants Ruby donc désactivons cette génération par défaut : | ||
<code>echo "gem: --no-rdoc --no-ri" >> ~/.gemrc</code> | <code>echo "gem: --no-rdoc --no-ri" >> ~/.gemrc</code> | ||
- | Installons maintenant Ruby à sa dernière version stable : | + | Installons maintenant Ruby et Rails à leur dernière version stable : |
- | <code>rvm get stable</code> | + | <code>rvm get stable --ruby --rails</code> |
Une fois installé, Ruby nous fournit un outil permettant de gérer ses composants à la manière de package appelés Gems. Cet outil nommé RubyGems est utilisé via la commande gem. Installons donc notre première Gem, bundler, qui va permettre de rechercher et d'installer les Gems nécessaires à un projet : | Une fois installé, Ruby nous fournit un outil permettant de gérer ses composants à la manière de package appelés Gems. Cet outil nommé RubyGems est utilisé via la commande gem. Installons donc notre première Gem, bundler, qui va permettre de rechercher et d'installer les Gems nécessaires à un projet : | ||
<note important>Les Gems d'un projet sont spécifiées dans le fichier Gemfile du projet.</note> | <note important>Les Gems d'un projet sont spécifiées dans le fichier Gemfile du projet.</note> | ||
<code>gem install bundler</code> | <code>gem install bundler</code> | ||
- | |||
==== Redmine ==== | ==== Redmine ==== | ||
Ligne 58: | Ligne 57: | ||
<code>wget http://www.redmine.org/releases/redmine-2.5.2.tar.gz | <code>wget http://www.redmine.org/releases/redmine-2.5.2.tar.gz | ||
tar xzf redmine-2.5.2.tar.gz | tar xzf redmine-2.5.2.tar.gz | ||
- | ln -s redmine redmine-2.5.2</code> | + | ln -s redmine-2.5.2 redmine</code> |
Rentrons dans le répertoire fraîchement extrait et préparons la configuration de la base de données en nous basant sur le fichier d'exemple fourni. | Rentrons dans le répertoire fraîchement extrait et préparons la configuration de la base de données en nous basant sur le fichier d'exemple fourni. | ||
Ligne 67: | Ligne 66: | ||
<code>production: | <code>production: | ||
adapter: sqlite3 | adapter: sqlite3 | ||
- | database: db/redmineEurogiciel.sqlite3</code> | + | database: db/redmineGeonobot.sqlite3</code> |
Nous avons installé bundler précédemment, il est maintenant temps de l'utiliser pour installer toutes les Gems requises par notre Redmine : | Nous avons installé bundler précédemment, il est maintenant temps de l'utiliser pour installer toutes les Gems requises par notre Redmine : | ||
Ligne 105: | Ligne 104: | ||
<code>LoadModule passenger_module /opt/redmine/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so</code> | <code>LoadModule passenger_module /opt/redmine/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so</code> | ||
- | Il reste à configurer notre Redmine dans Apache via le fichier **/etc/apache2/sites-available/redmine.conf** : | + | Il reste à configurer notre Redmine dans Apache via le fichier **/etc/apache2/sites-available/redmine.conf**. Vous noterez que nous forçons l'utilisation du HTTPS pour sécuriser les connexions : |
<code><VirtualHost *:80> | <code><VirtualHost *:80> | ||
ServerName redmineServer | ServerName redmineServer | ||
DocumentRoot /opt/redmine/redmine/public | DocumentRoot /opt/redmine/redmine/public | ||
+ | |||
+ | RewriteEngine on | ||
+ | RewriteCond %{SERVER_PORT} !^443$ | ||
+ | RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=permanent] | ||
+ | <Directory /opt/redmine/redmine/public> | ||
+ | Require all granted | ||
+ | Options -MultiViews | ||
+ | </Directory> | ||
+ | </VirtualHost> | ||
+ | |||
+ | <VirtualHost *:443> | ||
+ | ServerName redmineServer | ||
+ | DocumentRoot /opt/redmine/redmine/public | ||
+ | |||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/apache2/ssl/redmine.crt | ||
+ | SSLCertificateKeyFile /etc/apache2/ssl/redmine.key | ||
+ | |||
<Directory /opt/redmine/redmine/public> | <Directory /opt/redmine/redmine/public> | ||
Require all granted | Require all granted | ||
Ligne 114: | Ligne 131: | ||
</Directory> | </Directory> | ||
</VirtualHost></code> | </VirtualHost></code> | ||
+ | |||
+ | Comme nous utilisons HTTPS il faut générer les certificats SSL permettant d'encrypter les communications avec le serveur : | ||
+ | <code>sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ | ||
+ | -keyout /etc/apache2/ssl/redmine.key -out /etc/apache2/ssl/redmine.crt</code> | ||
Il ne reste plus qu'à désactiver le site par défaut fourni avec Apache et le remplacer par notre Redmine : | Il ne reste plus qu'à désactiver le site par défaut fourni avec Apache et le remplacer par notre Redmine : | ||
Ligne 119: | Ligne 140: | ||
sudo a2ensite redmine</code> | sudo a2ensite redmine</code> | ||
- | Sans oublier d'activer le module Passenger que nous avons configuré précédemment : | + | Sans oublier d'activer le module Passenger que nous avons configuré précédemment, ainsi que le module ssl pour la connexion sécurisée et le module rewrite pour la redirection d'url HTTP vers HTTPS : |
- | <code>sudo a2enmod passenger</code> | + | <code>sudo a2enmod passenger rewrite ssl</code> |
La configuration d'Apache étant terminée, rechargeons le pour appliquer les changements : | La configuration d'Apache étant terminée, rechargeons le pour appliquer les changements : | ||
- | <code>sudo service apache2 reload</code> | + | <code>sudo service apache2 restart</code> |
- | Notre serveur Redmine est désormais installé et devrait être accessible en HTTP. En imaginant que notre serveur se nomme **myredmineserver.home**, vous devriez y accéder via l'URL [[http://myredmineserver.home]] | + | Notre serveur Redmine est désormais installé et devrait être accessible en HTTP. En imaginant que notre serveur se nomme **myredmineserver.home**, vous devriez y accéder via l'URL [[http://myredmineserver.home]] qui vous redirigera vers [[https://myredmineserver.home]] |