Posted on juin 20, 2007 at 11:55

Installation de Trac sous Gentoo

Trac est un exellent gestionnaire de projets open-source que l’on peut coupler au logiciel de version SVN. Je vais expliquer dans ce billet comment installer simplement trac sous gentoo. Cela peut servir pour ceux qui ont un hébergement dédié chez OVH par exemple.

Trac est un logiciel qui permet de gérer son projet de A à Z. On le retrouve dans la plupart des projets open-source actuels comme Adium ou encore Jelix.
Il mets à disposition un wiki, une ligne de temps, une gestions des bugs via des tickets que l’on assigne aux développeurs, etc…Trac fonctionne de plusieurs façons :

  • en mode stand-alone grâce à un serveur web écrit en python
  • via mod_python dans apache
  • ou en mode CGI (cgi classique ou fastcgi)

Dans cette mini-tutoriel, je vais utiliser plutôt la version stand-alone pour qu’elle n’interfere pas avec mon installation apache.

Les options disponibles

emerge -pv www-apps/trac

  • cgi : compile trac pour qu’il fonctionne en mode cgi
  • enscript : permet d’activer le coloriage syntaxique des sources
  • fastcgi : compile trac pour qu’il fonctionne en mode fastcgi
  • mysql : active le support des bases de données mysql (experimental mais fonctionne assez bien chez moi)
  • postgres : active le support des bases de données postgres
  • silvercity : un autre moteur de coloriage syntaxique des sources
  • sqlite : pour utiliser sqlite en tant que moteur de bases de données
  • vhosts : permet d’activer la gestion sur plusieurs domaines

Dans mon cas je n’ai laissé dans mon /etc/portage/package.use, que les options fastcgi mysql et silvercity d’activé.

Il suffit maintenant de lancer la compilation via emerge www-apps/trac et d’aller boire un petit café selon la machine que vous avez à votre disposition.

Configuration

Une fois l’ensemble compilé, vous avez à votre disposition le daemon tracd qui par défaut n’est pas lancé au démarrage.
L’utilisateur et le groupe tracd ont été également ajouté.
Pour corriger cela, il suffit de tapez rc-update add tracd default.

Il vous faut un répertoire spécifique pour stocker vos projets “trac”, nous allons utiliser /var/www/trac.

Ouvrir le fichier /etc/conf.d/tracd

  • TRACD_PORT : spécifie le port du serveur tracd
  • TRACD_OPTS : les différentes options de lancement de tracd
  • TRACD_USER : l’utilisateur qui va lancer le daemon tracd
  • TRACD_GROUP : le groupe qui va lancer le daemon tracd

Les options les plus utilisés sont : (pour une liste compléte tracd –help ou man tracd)

  • –env-parent-dir : permet de savoir quel est le répertoire de base de nos projets dans notre cas /var/www/trac
  • –auth *,/var/trac/auth/user.htdigest, trac : spécifie un fichier d’utilisateurs pour l’ensemble des projets, pour utiliser un fichier par projet il suffit de remplacer l’étoile par le nom du projet
  • –auto-reload : recharge automatiquement tracd en cas de besoin
  • –daemonize : lance le serveur en arriére-plan

L’authentification

Par défaut, les utilisateurs ne peuvent pas se logguer et cela est assez contraignant pour le suivi des modifications par exemple.

Pour activer l’authentification, il faut créer un fichier d’authentification avec l’utilitaire à télécharger ici.

Pour l’utiliser c’est tout simple, python trac-digest.py -u username -p password >> /var/trac/auth/user.htdigest

Trés bien, maintenant vous pouvez vous logguer avec l’utilisateur ainsi créer mais il reste toujours un probléme, les utilisateurs anonymes peuvent modifier le wiki.

Il ne reste plus qu’à utiliser la commande trac-admin comme décrite ci-dessous :

trac-admin /var/www/trac/yourproject permission list pour voir les permissions

trac-admin /var/www/trac/yourproject permission remove anonymous NOM_ACTION pour enlever à l’utilisateur anonyme la possibilité d’effectuer l’action.

Création d’un nouveau projet

On peut maintenant passer à la création d’un projet en lui même.


trac-admin /var/www/trac/yourproject initenv
Project Name [My Project]> yourproject
Database connection string [sqlite:db/trac.db]> mysql://dbuser:dbpassword@dbhost/db
Repository type [svn]> (pressez juste entrez)
Path to repository [/path/to/repos]> /path/to/repos
Templates directory [/usr/share/trac/templates]> (pressez juste entrez)

Vous pouvez maintener accéder via votre navigateur la page http://votreadresseip:leportdetracd/yourproject/.

Voilà il reste encore pas mal de choses à voir mais cela est déjà suffissant pour démarrer avec trac.Je vous renvoie donc vers la documentation qui est trés compléte.

You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply

Un peu de pub :)