Redmine : Différence entre versions
(Page créée avec « {{introduction | Cette page va vous permettre de mettre en place Redmine utilisant une base de données PostgreSQL.}} == Infrastructure == === PostgreSQL === [[Fichier:... ») |
(→Configuration d'Apache) |
||
| (3 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
{{introduction | Cette page va vous permettre de mettre en place Redmine utilisant une base de données PostgreSQL.}} | {{introduction | Cette page va vous permettre de mettre en place Redmine utilisant une base de données PostgreSQL.}} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Utilisateur Redmine == | == Utilisateur Redmine == | ||
| Ligne 135 : | Ligne 125 : | ||
==== Configuration d'Apache ==== | ==== Configuration d'Apache ==== | ||
| − | * Créez/éditer le fichier /etc/apache2/mods-available/passenger.load pour y indiquer le chemin du module : | + | * Créez/éditer le fichier {{ File | /etc/apache2/mods-available/passenger.load }} pour y indiquer le chemin du module : |
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so | LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so | ||
| − | * Créez (ou éditez) ensuite le fichier /etc/apache2/mods-available/passenger.conf pour y adapter le chemin de Passenger et Ruby: | + | * Créez (ou éditez) ensuite le fichier {{ File | /etc/apache2/mods-available/passenger.conf }} pour y adapter le chemin de Passenger et Ruby: |
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.11 | PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.11 | ||
PassengerRuby /usr/bin/ruby1.8 | PassengerRuby /usr/bin/ruby1.8 | ||
| Ligne 154 : | Ligne 144 : | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
| − | ServerName redmine. | + | ServerName redmine.domaine.be |
DocumentRoot /opt/redmine/public | DocumentRoot /opt/redmine/public | ||
| Ligne 173 : | Ligne 163 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br /> | <br /> | ||
| − | {{Avertissement | Le domaine "redmine. | + | {{Avertissement | Le domaine "redmine.domain.be" doit exister au préalable dans le serveur DNS}} |
<br /> | <br /> | ||
''Définissez l'utilisateur de Redmine comme propriétaire des sources de l'application :'' | ''Définissez l'utilisateur de Redmine comme propriétaire des sources de l'application :'' | ||
| Ligne 192 : | Ligne 182 : | ||
delivery_method: :smtp | delivery_method: :smtp | ||
smtp_settings: | smtp_settings: | ||
| − | address: mail. | + | address: mail.domain.be |
port: 25 | port: 25 | ||
| − | domain: | + | domain: domain.be |
authentication: :none | authentication: :none | ||
# user_name: "redmine@example.net" | # user_name: "redmine@example.net" | ||
| Ligne 205 : | Ligne 195 : | ||
delivery_method: :smtp | delivery_method: :smtp | ||
smtp_settings: | smtp_settings: | ||
| − | address: mail. | + | address: mail.domain.be |
port: 25 | port: 25 | ||
| − | domain: | + | domain: domain.be |
authentication: :none | authentication: :none | ||
</pre> | </pre> | ||
| Ligne 215 : | Ligne 205 : | ||
=== Authentification === | === Authentification === | ||
La configuration pour utiliser un serveur OpenLDAP à des fins d'authentification, se réalise à partir de l'interface Web (Administrations -> Authentification LDAP) | La configuration pour utiliser un serveur OpenLDAP à des fins d'authentification, se réalise à partir de l'interface Web (Administrations -> Authentification LDAP) | ||
| − | |||
=== Plugin Sync LDAP === | === Plugin Sync LDAP === | ||
| Ligne 223 : | Ligne 212 : | ||
==== Configuration ==== | ==== Configuration ==== | ||
Une fois le plugin installer, il faut le configurer toujours à partir de l'interface Web (Administration -> Plugins -> Redmine -LDAP Sync) | Une fois le plugin installer, il faut le configurer toujours à partir de l'interface Web (Administration -> Plugins -> Redmine -LDAP Sync) | ||
| − | |||
<br> | <br> | ||
| + | |||
==== Synchronisation complète ==== | ==== Synchronisation complète ==== | ||
Il nous faut lancer, une première fois, une synchronisation complète avec notre serveur OpenLDAP : | Il nous faut lancer, une première fois, une synchronisation complète avec notre serveur OpenLDAP : | ||
| Ligne 348 : | Ligne 337 : | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
| − | ServerName redmine. | + | ServerName redmine.domain.be |
DocumentRoot /opt/redmine-2.3.0/public | DocumentRoot /opt/redmine-2.3.0/public | ||
| Ligne 391 : | Ligne 380 : | ||
delivery_method: :smtp | delivery_method: :smtp | ||
smtp_settings: | smtp_settings: | ||
| − | address: mail. | + | address: mail.domain.be |
port: 25 | port: 25 | ||
| − | domain: | + | domain: domain.be |
authentication: :none | authentication: :none | ||
tls: false | tls: false | ||
| Ligne 401 : | Ligne 390 : | ||
'''10. Assigner les droit sur le dossier''' | '''10. Assigner les droit sur le dossier''' | ||
| − | A la fin de | + | A la fin de la migration, on ré-assigne le propriétaire du dossier {{ File | /opt/redmine-2.3.0 }} |
<br> | <br> | ||
{{ Console | sudo chown -R redmine:users redmine-2.3.0/ }} | {{ Console | sudo chown -R redmine:users redmine-2.3.0/ }} | ||
Version actuelle datée du 23 février 2015 à 11:53
Sommaire
Utilisateur Redmine
Pour des raisons de sécurité, il est préférable de créer un utilisateur spécifique à Redmine pour utiliser la base :
Ruby
Pour installer ruby, utilisez la commande suivante :
PostgreSQL
Pour l'installation, référencer vous à la page sur PostgreSQL
Création d'un user
Pour créer un utilisateur, il faut d'abord se connecter en tant que postgres
On peux maintenant créer l'utilisateur qui va être propriétaire de la database :
Création de la database
Création de la database :
createdb --owner=redmine --encoding=utf-8 redmine
Redmine
Rack
Pour utiliser Redmine, il faut installer les dépendances suivantes :
gem install rack -v=1.1.3
gem install rails -v=2.3.14
Récupérer les sources
[user@ordi ~]$ tar -zxvf redmine-1.3.2.tar.gz
Configuration
Configuration de la DB
Edition du fichier config/database.yml
production: adapter: postgresql database: redmine host: IP username: redmine password: password encoding: utf8 schema_search_path: public
Création d'une session store
Création de la structure de la base
RAILS_ENV=production rake db:migrate
Insertion des données par défaut
RAILS_ENV=production rake redmine:load_default_data
Finir l'installation
Copie vers /opt
Il nous faut tout d'abord créer le dossier /opt/redmine pour y copier les sources :
Un dossier tmp et public/plugin_assets doit être présent par convention dans les sources (si ce n'est pas déjà le cas) :
Un dossier pids doit être présent également pour permettre à mongrel de démarrer :
Définition des droits
L'utilisateur qui lance Redmine doit avoir les droits d'écriture sur les dossiers files, log, tmp et public/plugin_assets des sources. Nous allons prendre ici l'utilisateur redmine précédement créé :
[root@ordi ~]# chown -R redmine:redmine files log tmp public/plugin_assets
[root@ordi ~]# chmod -R 755 files log tmp public/plugin_assets
Nettoyage
On peut maintenant supprimer les sources que nous avions téléchargée :
Apache
Installation d'Apache
Pour que Redmine fonctionne correctement, assurez vous d'avoir installé Apache ainsi que les composants suivants :
Passenger
Il nous faut également installer Passenger :
Installation du module
Une fois passenger installé, on doit installer le module pour apache :
Si vous obtenez l'erreur «ruby: No such file or directory – passenger-install-apache2-module (LoadError)», il vous faudra repérer la version de passenger lors de son installation un peu plus haut (pour l'exemple, version 3.0.8) et lancer le script suivant
Selectionner l'option 1 "The Apache 2 module will be installed for you"
S'il manque "Curl development headers with SSL support" , installez
Relancez le script
Configuration d'Apache
- Créez/éditer le fichier /etc/apache2/mods-available/passenger.load pour y indiquer le chemin du module :
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
- Créez (ou éditez) ensuite le fichier /etc/apache2/mods-available/passenger.conf pour y adapter le chemin de Passenger et Ruby:
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.11 PassengerRuby /usr/bin/ruby1.8
- Activer les modules d'apache necessaire :
- Configuration URI
Faites une copie de votre fichier de configuration (par soucis de sauvegarde) :
Puis éditez /etc/apache2/sites-available/default pour y mettre le contenu suivant :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName redmine.domaine.be
DocumentRoot /opt/redmine/public
RailsEnv production
RailsBaseURI /redmine
<Directory /opt/redmine/public/>
Options Indexes ExecCGI FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
ErrorLog /opt/redmine/log/apache-error.log
LogLevel warn
CustomLog /opt/redmine/log/apache-access.log combined
</VirtualHost>
Définissez l'utilisateur de Redmine comme propriétaire des sources de l'application :
Remarques : Il se peut que Redmine ne se lance pas à cause d'un bug de Ruby. L'utilisateur de Redmine peut avoir besoin d'un dossier personnel. Si ce n'est pas le cas , définissez lui en un :
Configuration Mail
Modifier le fichier /opt/redmine/config/configuration.yml
# default configuration options for all environments
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.domain.be
port: 25
domain: domain.be
authentication: :none
# user_name: "redmine@example.net"
# password: "redmine"
# Outgoing email settings
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.domain.be
port: 25
domain: domain.be
authentication: :none
OpenLDAP
Authentification
La configuration pour utiliser un serveur OpenLDAP à des fins d'authentification, se réalise à partir de l'interface Web (Administrations -> Authentification LDAP)
Plugin Sync LDAP
Installation
Configuration
Une fois le plugin installer, il faut le configurer toujours à partir de l'interface Web (Administration -> Plugins -> Redmine -LDAP Sync)
Synchronisation complète
Il nous faut lancer, une première fois, une synchronisation complète avec notre serveur OpenLDAP :
sudo rake redmine:plugins:redmine_ldap_sync:sync_users RAILS_ENV=production
IL faut se placer dans le dossier /opt/redmine avant de lancer la commande de synchronisation
Utilisation
Lancer Redmine
Pour lancer Redmine, vous pouvez exécuter le script ruby des sources :
L'option -d permet de le lancer en démon :
Redémarrer Redmine
Dans certain cas, redémarrer le serveur est le meilleur moyen d'être sûr que redmine redémarre bien.
Changer password Admin
Pour changer le mot de passe Administrateur, on peux le faire via l'interface web mais également en ligne de commande :
RAILS_ENV=production script/runner 'user = User.find(:first, :conditions => {:admin => true}) ; user.password, user.password_confirmation = "PASSWORD"; user.save!'
En ayant au préalablement été se placer dans le dossier /opt/redmine
Procédure
Mise à jour
Cette procédure a été réalisé pour une mise à jour de Redmine 1.3.0 vers 2.3.0
Procédure basée sur la documentation de Redmine FrRedmineUpgrade
1. Téléchargez la nouvelle version
On télécharge la nouvelle version sur le site de Redmine ( Redmine Forge ) qu'on va placez dans /opt
On désarchive la nouvelle version
2. Copie les fichiers de configuration
- Copiez vos paramètres de base config/database.yml dans le nouveau répertoire de configuration config
- Copiez vos paramètres de configuration config/configuration.yml dans le nouveau répertoire de configuration config.
- Si vous migrez depuis une version plus vielle que 1.2.0, copiez vos configurations de courriel de votre config/email.yml dans le nouveau config/configuration.yml dont l'exemple peut être copié du fichier configuration.yml.example.
- Copiez le contenu de files dans le répertoire files de votre nouvelle installation
- Copiez le répertoire contenant vos plugin personnalisés de votre répertoire vendor/plugins dans le répertoire plugins de votre nouvelle installation ( si vous migrez d'une version antérieure à 2.0.0 vers une version >= 2.0.0). Assurez-vous de ne copier que les plugins différents de l'installation originale de Redmine de votre précédente installation. (Que le dossier du plugin LDAP)
3. Mise a jour session
- On installe le bundler dans le répertoire de la nouvelle installation
On installe les éventules plugins manquants
- Nokogiri
[user@ordi ~]$ sudo gem install nokogiri
- RMagick
- Exécturer les commandes suivantes depuis le répertoire Redmine de la nouvelle installation
- Génération d'un nouveau secret secret_token.rb
On exécute les commandes suivantes depuis le répertoire Redmine de votre nouvelle installation
Avant 2.0.0, un fichier session_store.rb devait être généré dans le répertoire config pour permettre les sessions basées sur les fichiers témoins (cookies).
À partir de la version 2.0.0 le fichier session_store.rb ne devrait plus exister. À la place la commande suivante va générer le fichier secret_token.rb.
le dépot du code de Redmine ne contient pas pas le fichier config/initializers/secret_token.rb file, c'est le code précédent qui le crée.
4. Mise à jour de la base de données
Cette étape va modifier le contenu de la base de données. Allez dans le répertoire de votre nouvelle installation de Redmine et effectuez la commande suivante :
Si vous avez installé des plugin, vous devrez effectuer une migration de la base de données. Effectuer la commande suivante :
5.Nettoyage
- Vous devez nettoyer le cache et les sessions existantes, pour ce faire, exécuter les commandes suivantes :
rake tmp:cache:clear rake tmp:sessions:clear
6.Apache
Il faut modifier le fichier /etc/apache2/sites-available/redmine pour qu'il prenne en compte notre nouvelle installation :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName redmine.domain.be
DocumentRoot /opt/redmine-2.3.0/public
RailsEnv production
RailsBaseURI /redmine
<Directory /opt/redmine-2.3.0/public/>
Options Indexes ExecCGI FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
ErrorLog /opt/redmine-2.3.0/log/apache-error.log
LogLevel warn
CustomLog /opt/redmine-2.3.0/log/apache-access.log combined
</VirtualHost>
Remplacer redmine-2.3.0 par le nom de dossier correspondant à la nouvelle installation.
7. Redémarrez l'application
8. Finalement, lancez votre navigateur et allez dans "Administration -> Rôles & permissions" pour vérifier et/ou paramétrer les permissions sur les nouvelles fonctionnalités, s'il y en a.
9. Vérification envoi de mail
Vérifier via le menu Administration->Notification par email->Envoyer un email de test
Si le message d'erreur suivant s'affiche :
Erreur lors de l'envoi de l'email (hostname was not match with the server certificate)
Il faut modifier le fichier /opt/redminer-2.3.0/config/configuration.yml pour que la section production ressemble à ceci :
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.domain.be
port: 25
domain: domain.be
authentication: :none
tls: false
enable_starttls_auto: false
10. Assigner les droit sur le dossier
A la fin de la migration, on ré-assigne le propriétaire du dossier /opt/redmine-2.3.0
