The Fool

Installation et configuration de Trac

Ce document explique comment Trac a été installé sur ce serveur, et configuré pour fonctionner avec Bazaar.

L'une des sources importantes pour ce document est la partie UbuntuMultipleProjects du TracGuide.

  • Installation de Trac depuis les dépôts Ubuntu

    $ sudo apt-get install trac bzr
    
  • Création d'un dossier pour les projets Trac

    $ sudo mkdir /var/lib/trac
    $ sudo chown www-data:www-data /var/lib/trac
    
  • Création d'un fichier d'authentification (et du premier utilisateur)

    $ sudo htpasswd -c /etc/trac/trac.htpasswd <utilisateur>
    
  • Création d'un nouveau virtual host dans /etc/apache2/sites-available/ avec pour contenu

    <VirtualHost *>
        DocumentRoot    /var/www/dev
        ServerName      dev.example.org
        ServerAdmin     admin@example.org
        CustomLog       "/var/log/apache2/dev.log" combined
    
        <Location "/"> # set up Trac handling
            SetHandler mod_python
            PythonHandler trac.web.modpython_frontend
            PythonOption TracEnvParentDir /var/lib/trac
            PythonOption TracUriRoot /
        </Location>
        <LocationMatch "/[^/]+/login">
            AuthType Basic
            AuthName "Trac"
            AuthUserFile /etc/trac/trac.htpasswd
            Require valid-user
        </LocationMatch>
    
    </VirtualHost>
    
  • Installation de TracBzr pour gérer les dépôts Bazaar

    $ bzr branch http://panoramicfeedback.com/opensource/trac+bzr/
    $ cd trac+bzr
    $ sudo python setup.py install
    

    (sudo checkinstall python setup.py install ne fonctionne pas...)

  • Activer TracBzr pour tous les projets Trac. Le fichier de configuration global va être placé dans /etc/trac/trac.ini Y inscrire

    [components]
    tracbzr.* = enabled
    
  • Recharger le serveur web

    $ sudo /etc/init.d/apache2 reload
    
  • Créer un répertoire pour les dépôts Bazaar

    $ sudo mkdir /var/lib/bzr
    $ sudo chown www-data:www-data /var/lib/bzr
    

Pour que le code soit récupérable avec bazaar, création d'un nouveau virtual host dans /etc/apache2/sites-available/ avec pour contenu

<VirtualHost *>
    DocumentRoot    /var/lib/bzr
    ServerName      code.example.org
    ServerAdmin     admin@example.org
    CustomLog       "/var/log/apache2/code.log" combined
</VirtualHost>

Annexe

Ajouter un nouvel utilisateur au système d'authentification

sudo htpasswd /etc/trac/trac.htpasswd user