Redmine
De Wiki de la communauté Mandriva.
|
Redmine, est un gestionnaire de projet écrit en ruby à l'aide de l'outil Ruby on Rails. IL est multi-projets et permet la mise en place d'un gestionnaire de bogues (bugs), d'un wiki, d'un forum, etc. Plus d'information sur Wikipédia ou sur le projet Plume
|
Sommaire |
Pré-requis
Je pars du principe que vous savez :
- utiliser une console,
Que vous avez :
- installé Rails,
- installé un gestionnaire de base de données comme MySQL, PostgreSQL, Sqlite3 ou un autre à votre convenance,
- installé le paquet permettant à ruby de s'interfacer avec la base de donnée choisie,
Dans une console root
# Pour utiliser MySQL urpmi ruby-mysql # Pour utiliser Sqlite3 urpmi ruby-sqlite3
Que si vous voulez le mettre sur votre superbe serveur connecté au monde, que vous savez ce que vous faites ou que vous avez lu le tutoriel qui va bien :
- déployer en production votre application rails avec lighttpd.
Installation manuel
Un petit coup d'oeil sur cette page ne vous fera pas de mal RedminInstall.
Téléchargement et installation
J'installe cette application dans le dossier /var/www de mon ordinateur, puisqu'il sera accessible pour tous sur mon réseau local. L'ensemble des commandes ci-dessous se fait en console root
# Je me positionne dans le bon répertoire cd /var/www # Télécharger le projet (Version 0.9.0 RC en date du 24/01/2010) wget http://rubyforge.org/frs/download.php/68515/redmine-0.9.0.tar.gz # Extraire l'archive tar zxvf redmine-0.9.0.tar.gz # Création d'un lien permettant d'avoir un nom de dossier simple tout en conservant l'information de numéro de version du logiciel ln -s redmine-0.9.0 redmine # Suppression de l'archine rm -f redmine-0.9.0.tar.gz
Configuration
La configuration diffère en fonction du gestionnaire de base de données. J'ai testé avec MySQL, je vous donne les éléments, pour une autre base, je vous donnerai ce que j'aurais testé dans le futur.
# Création de la base de donnée pour Redmine # Connection à MySQL en tant qu'utilisateur root (-u root) ayant un mot de passe (-p), à vous d'adapter en fonction de votre cas mysql -u root -p # Création d'une base de donnée nommée "redmine" create database redmine character set utf8; # Création d'un utilisateur "redmine" avec le mot de passe "mon_mot_de_passe" create user 'redmine'@'localhost' identified by 'mon_mot_de_passe'; # Attribution de tous les droits et privilèges à l'utilisateur "redmine" pour la base "redmine" grant all privileges on redmine.* to 'redmine'@'localhost';
# Sortie de l'interpréteur de mysql [ctrl]+z
Il faut maintenant modifier le fichier config/database.yml pour lui donner les valeurs de notre configuration
# Copier le fichier cp /var/www/redmine/config/database.yml.example /var/www/redmine/config/database.yml # Edition du fichier avec vi vi /var/www/redmine/config/database.yml
Editer le fichier pour qu'il reflète les valeurs suivantes :
production: adapter: mysql database: redmine host: localhost username: redmine password: mon_mot_de_passe
Il faut maintenant modifier le fichier config/email.yml pour lui donner les valeurs de notre configuration
# Copier le fichier cp /var/www/redmine/config/email.yml.example /var/www/redmine/config/email.yml # Edition du fichier avec vi vi /var/www/redmine/config/email.yml
Pour le moment je vous renvoie à la documentation Email_Configuration.
Post-installation
Maintenant, il nous reste que les opération de post-installation
# Nous devons être dans le bon dossier cd /var/www/redmine # Génération du "secret" RAILS_ENV=production rake config/initializers/session_store.rb # Génération de la base de donnée RAILS_ENV=production rake db:migrate # Mise en place des données par défaut (choisir [fr] à la question posée) RAILS_ENV=production rake redmine:load_default_data # Test de l'application ruby script/server webrick -e production
Maintenant connectez vous sur ce lien http://localhost:3000/ et vérifiez si vous avez la page d'accueil. Utilisez "admin /admin" pour vous connecter et n'oubliez pas de changer le mot de passe !
Terminons la configuration
Si tout va bien, terminons la configuration :
# Arrêt du serveur webrick [ctrl]+c # Vérification que les dossiers temporaires sont présents mkdir tmp public/plugin_assets # Changement des permissions à l'utilisateur "apache" et au groupe "apache" (c'est apache qui va servir l'application) chown -R apache:apache /var/www/redmine-0.9.0
Ne pas oublier de bien vérifier les permissions sur vos dossiers : il ne faut pas que les autres utilisateurs (le monde) puissent écrivent dans vos dossiers, voir à ce sujet les permissions.
Fichier de configuration si nous voulons utiliser lighttpd
J'utilise lighttpd pour servir mes pages web, voici donc le fichier de configuration à mettre en place. J'ai aussi modifier le DNS de mon domaine pour que les requêtes http vers "redmine.mon-domaine.tld" arrive sur mon serveur. Tout ce fait dans une console en mode root :
# Copie du fichier de déploiement cp /var/www/redmine/public/dispatch.fcgi.example /var/www/redmine/public/dispatch.fcgi # Edition du fichier de configuration vi /etc/lighttpd/lighttpd.conf
Ajouter cette section sous la section VIRTUAL HOSTS, ligne 154 dans mon fichier :
#########################################################################################
###
### Configuration du serveur redmine
###
#########################################################################################
$HTTP["host"] == "redmine.mon-domaine.tld" {
server.document-root = "/var/www/redmine/public"
accesslog.filename = "/var/log/lighttpd/redmine.log"
server.error-handler-404 = "/dispatch.fcgi"
fastcgi.server = ("dispatch.fcgi" =>
( ("socket" => "/var/run/lighttpd/redmine.socket"
,"bin-path" => "/var/www/redmine/public/dispatch.fcgi"
,"min-procs" => 1
,"max-procs" => 4
,"bin-environment" =>
("RAILS_ENV" => "production"
,"LANG" => "fr_FR.UTF-8"
)
,"bin-copy-environment" => ("PATH")
)
)
)
}
Maintenant tester et mettons en production
# Test de la syntaxe : /usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf # Relancer le serveur : service lighttpd restart # Vérifier si le serveur fonctionne service lighttpd status
Tout va très Madame la Marquise, tout va très bien, tout va très bien !

