Installer Redmine sous Ubuntu
Par NiKo le vendredi 8 mai 2009, 22:00 - Ubuntu
- Lien permanent -
20 commentaires -
Tags :
Redmine est un gestionnaire de projet technique exploitant Ruby on Rails et très inspiré de Trac, mais qui le dépasse fonctionnellement sur plusieurs points, notamment avec une gestion multiprojets qui fait cruellement défaut à son inspirateur. Voyons comment installer et déployer la dernière version de la branche stable (0.8) sur une Ubuntu Hardy Heron LTS[1].

Toutes les opérations décrites ci-dessous se font en root, mais libre à vous d’utiliser sudo à chaque fois, ou une fois pour toutes en lançant la commande sudo -s.
En préambule, on installe les quelques paquets qui nous seront nécessaires[2] :
# apt-get install build-essential ruby ruby1.8-dev rake libopenssl-ruby \ libmysql-ruby apache2-threaded-dev subversion git
Maintenant, on récupère les sources de Redmine[3], qu’on va installer dans /opt :
# svn co http://redmine.rubyforge.org/svn/branches/0.8-stable /opt/redmine-0.8 # ln -s /opt/redmine-0.8 /opt/redmine
On va ajouter les sources de la version 2.1.2 de rails[4] dans le répertoire vendor de l’application, afin de cloisonner autant que possible l’environnement qu’elle exploite :
# cd /opt/redmine # wget -O rails.tar.gz http://github.com/rails/rails/tarball/v2.1.2 # tar xvzf rails.tar.gz && rm rails.tar.gz # mv railsXXX vendor/rails
Créez maintenant une base de données (MySQL ou autre) dédiée à Redmine. Une bonne pratique est de créer également un utilisateur MySQL aux droits restreints à sa seule exploitation.
Ensuite, éditez le fichier config/database.yml afin de modifier les paramètres de connexion à la base de données précédemment créée.
On installe maintenant une version récente de rubygems, ce qui nous permettra d’installer passenger, une sorte de mod_rails permettant de déployer facilement des applications rails sur un serveur Apache :
# wget http://rubyforge.org/frs/download.php/56228/rubygems-1.3.3.tar.gz # tar xvzf rubygems-1.3.3.tar.gz && rm rubygems-1.3.3.tar.gz # ruby setup.rb # rm -r rubygems-1.3.3
Vous pouvez maintenant lancer la tâche de création des tables :
# rake db:migrate RAILS_ENV="production"
Et remplir la base avec quelques données par défaut :
# rake redmine:load_default_data RAILS_ENV="production"
On installe donc passenger, qui au passage vous posera quelques questions très simples :
# gem install passenger
On installe le module apache pour prendre en charge passenger :
# passenger-install-apache2-module
Pour mapper un domaine - par exemple mon.domaine.tld - vers votre instance Redmine, il faut d’abord créer un VirtualHost apache dédié, par exemple dans le fichier /etc/apache2/sites-available/redmine :
<VirtualHost *> SetEnv RAILS_ENV production ServerName mon.domaine.tld DocumentRoot /opt/redmine/public </VirtualHost>
Vous noterez que la racine publique du vhost pointe vers le dossier public de l’instance Redmine précédemment installée. N’oubliez pas non plus de déclarer le domaine dans votre fichier /etc/hosts :
127.0.0.1 mon.domaine.tld
On active maintenant le vhost et on relance Apache :
# a2ensite redmine # /etc/init.d/apache2 restart
Une dernière petite chose, vous devez autoriser Apache à lire et écrire dans certains répertoires de l’instance Redmine, comme suit :
# cd /opt/redmine # chown -R www-data:www-data files log tmp # chmod -R ug+rw files log tmp # chmod -R o-rw files log tmp
Voila, vous devriez avoir une instance totalement fonctionnelle de Redmine, accessible par le domaine que vous avez configuré.
En cadeau Bonux, le support de GMail et TLS pour l’envoi d’emails
Si vous désirez configurer l’envoi des emails en utilisant un (ou votre) compte GMail[5], voici la procédure :
Installez tout d’abord le support de TLS pour ActiveMailer :
# cd /opt/redmine # ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
Puis éditez le fichier config/email.yml :
production:
delivery_method: :smtp
smtp_settings:
tls: true
address: "smtp.gmail.com"
port: '587'
domain: "smtp.gmail.com"
authentication: :plain
user_name: "votreadresse@gmail.com"
password: "votremotdepasse"
Relancez Apache pour que la modification soit effective.
Edit : Prise en compte de certaines remarques faites en commentaires.
Notes
[1] C’est la version qui propulse mon serveur.
[2] Ce sont les paquets qui m’ont été nécessaires, sur ma machine ; n’hésitez pas à remonter d’éventuels manques en commentaires.
[3] On installe ici la dernière branche stable disponible à l’heure où sont écrites ces lignes, la 0.8.
[4] Oui, il y a plus récent, mais Redmine 0.8 est conçu pour tourner avec cette version : autant limiter les risques d’incompatibilités.
[5] L’intérêt principal à mes yeux reste l’archivage de tous les éléments envoyés.
20 commentaires (Ajouter un commentaire)
J'en connais une à qui ça va faire plaisir, hein Riquette :P ?
J'avais pas mal galéré, heureusement que mon homonyme m'était venu en aide !
Autrement, sur Redmine en lui meme, comparé à Trac, il a surtout l'air d'être plus accessible à des non techos, mais en dehors de l'aspect multi-projets, je serais curieux de connaitre un peu les différences fonctionnelles ...
Je l'utilise au boulot, et pour l'instant, je trouve qu'il manque l'affichage automatique des revisions sur le ticket, quand on commit avec le numéro du ticket.
Il y a aussi le wiki qui est ultra pauvre; sur trac aussi d'ailleurs, mais il est meilleur.
Le reste, je n'ai pas trop testé encore.
Le multi projet, c'est top.
Je me suis tourné vers l'alternative Redmine après un bug de Trac dû à un upgrade de Ubuntu Server et franchement je ne regrette pas, je le préfère presque à Trac qui reste quand même *the* référence. Comme l'a dit Neolao, il y a des petits manques tout de même. Après c'est une question de goûts et de couleurs.
Ahah, depuis quand as-tu eu l'idée d'installer Redmine. C'est un petit bijou en effet :-). Moi au boulot, je ne peux absolument plus vivre sans.
Pour le propulser j'ai choisis Lighttpd par contre. L'élément bizarre que je rencontre c'est qu'il rame un coup très fort la première fois qu'on le question (genre après avoir faire un restart de lighttpd par exemple). As-tu le même problème avec Apache ?
Vincent> Oui j'ai noté ça aussi, rien de rebutant à mes yeux.
Bon tuto envie d'essayer.
Mais plusieurs problème rencontrer.
1er oublie d'un apt-get install rake libopenssl-ruby libmysql-ruby
2em : installer rubygems avant de faire un rake
paulkam> Merci du feedback, j'ai modifié le billet en conséquence.
C'est pas ça que tu cherche Neolao :
http://www.redmine.org/wiki/redmine... ?
Une raison pour avoir utiliser passenger plutot que de passer par un mod_proxy?
Est ce que c'est plus leger, meilleures performances?
Merci en tout cas.
Gabriel> Honnêtement, c'est parceque c'est ultra simple à installer et à configurer (haha, y'a même pas de conf) et que ça n'engendre chez moi pas de mauvaises performances.
Un pote m'a parlé de processus ruby figés avec redmine et passenger, mais je ne constate rien de tel pour l'heure.
Hehe, ok. Merci pour la réponse.
Ca a été plus laborieux pour l'installer de mon coté, avec des dépendances comme fastthread manquantes, etc.
Pour mémoire, si qq a des problèmes, consultez : http://www.modrails.com/documentati... guide.html, et augmentez le level de log de passenger (PassengerLogLevel).
Pour le moment, redmine avec passenger est reactif au dela de la premiere requete qui peut etre longue (TRES, 15 secondes).
Salut Niko,
Merci le post, j'ai découvert passenger. Perso je fait tourner redmine avec Apache+fcgi parce-qu'il n'y pas grand monde qui se connecte.
Pour action mailer, tu as quel MTA sur ta ubuntu ?
Merci.
ioO> j'ai définitivement renoncé à expédier du courrier depuis les applications hébergées sur mon dédié, on est vraiment trop vite considérés comme spammeurs, même quand ce n'est vraiment pas le cas. Aussi j'utilise les applications "google for your domain" et le service smtp d'un compte GMail spécialement configuré pour l'occasion.
Merci Vincent, c'est par défaut.
Dans un commit, on peut mettre des mots clés comme "references" ou "fixes" pour lié ou fermer les tickets :
http://www.redmine.org/projects/red...
ioO> De mon cote j'ai postfix, et ca marche tres bien.
Niko> Par rapport a mon probleme de premiere requete tres longue : je ne peux rien y changer. C'est du aux caracteristiques de ma machine, et il n'y a pas assez de ram lorsque passenger charge l'appli. Une bonne explication pour commencer : http://www.pervasivecode.com/blog/2... mais aussi l'explication sur les deux trois premieres requetes : http://fluidsyntax.com/blog/article...
Gabriel> J'ai installé Ruby for Enterprise pour faire tourner passenger et je constate un léger mieux, tu devrais essayer :
- http://www.rubyenterpriseedition.co...
- http://www.rubyenterpriseedition.co...
Merci pour vos réponses. J'ai configuré ActionMailer comme dans le post, mais j'ai 0 logs sur ce qu'il se passe et pas de mails envoyés.
Faut que je fouille parce-que c'est sur une archlinux et j'ai pas non plus apprivoisé le système.
Et puis pourquoi les utilisateurs perdent leur mot de passe
Bonjour,
Article très intéressant, je dois pour le boulot justement installer une plate forme dans le genre trac + svn, et redmine me semble plutôt agréable, surtout avec sa gestion multi-projets.
J'aurais une petite question pour l'intégration du svn dans redmine y a t'il des subtilité ?? ou est-ce assez simple ?
Tarlak> Rien de compliqué, il suffit de préciser l'url du dépôt dans l'interface d'administration du projet. Par contre, il te faut créer les dépôts manuellement, cependant il existe une astuce pour automatiser ça : http://www.redmine.org/wiki/redmine...
OK merci niko de la précision. Y a plus qu'a