Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > Installation du logiciel de bugtracking : trac

Installation du logiciel de bugtracking : trac

Installation de trac

Trac est une interface web écrite en python. Son installation fait donc appel à des commandes spécifiques relatives à ce language.

On installe les dépendances nécessaires :

  1. sudo apt-get install python python-dev python-svn python-subversion python-setuptools libapache2-mod-python libapache2-mod-python-doc

Puis on lance la série de commande suivante :

  1. #On récupère tout d'abord l'archive de la dernière version du logiciel dans le home de l'utilisateur en court
  2. cd ~
  3. wget https://download.edgewall.org/trac/Trac-1.2.2.tar.gz
  4. # On décompresse l'archive téléchargée
  5. tar -xvzf Trac-1.2.2.tar.gz
  6. # On installe les dépendances python
  7. sudo easy_install Pygments
  8. sudo easy_install Genshi
  9. #On se déplace dans le répertoire créé sur au désarchivage
  10. cd Trac-1.2.2
  11. sudo python ./setup.py install

Télécharger

Créer l’instance de trac

Nous allons créer les instances de tracs dans le répertoire /var/trac, il est donc nécessaire de le créer au préalable :

  1. sudo mkdir -p /var/trac

On peut passer alors à la création de l’instance en rapport avec le dépôt subversion précédemment créé :

  1. sudo trac-admin /var/trac/domaine.tld initenv

Trac-admin posera alors quelques questions :

  • Project Name : donnez lui un titre, ici "arscenic.org".
  • Database connection string : sqlite:db/trac.db (par défaut base de donnée sqlite)

À la fin, l’installation de trac créera une arborescence dans /var/trac/domaine.tld qui devrait ressembler à celle ci :

  1. ls -lsa /var/trac/arscenic.org
  2. total 44
  3. 4 drwxr-xr-x 9 root root 4096 avr 19 02:34 .
  4. 4 drwxr-xr-x 3 root root 4096 avr 19 02:34 ..
  5. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 attachments
  6. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 conf
  7. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 db
  8. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 htdocs
  9. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 log
  10. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 plugins
  11. 4 -rw-r--r-- 1 root root   98 avr 19 02:34 README
  12. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 templates
  13. 4 -rw-r--r-- 1 root root   27 avr 19 02:34 VERSION

Télécharger

Il est nécessaire que la base de donnée soit lisible par l’utilisateur du serveur web (sur Debian ou Ubuntu c’est en général "www-data") :

  1. sudo chown www-data:www-data -Rvf /var/trac/domaine.tld/

On va ensuite lui ajouter le dépot /var/svn/domaine.tld/ :

  1. trac-admin /var/trac/domaine.tld/
  2. repository add domaine.tld /var/svn/domaine.tld/
  3. quit

Télécharger

Modification du virtiualhost Apache pour afficher Trac

On va maintenant modifier le virtualhost Apache que l’on a fait auparavant pour ajouter Trac comme page d’accueil de notre sous domaine.

On édite le fichier :

  1. sudo nano /etc/apache2/sites-available/svn.conf

Et on remplace son contenu par le suivant :

  1. <VirtualHost *:80>
  2.         ServerAdmin admin@domaine.tld
  3.         ServerName svn.domaine.tld
  4.         DocumentRoot /var/trac/domaine.tld/htdocs/
  5.  
  6.        <Location />
  7.                SetHandler mod_python
  8.                PythonInterpreter main_interpreter
  9.                PythonHandler trac.web.modpython_frontend
  10.                PythonOption TracEnv /var/trac/domaine.tld
  11.                PythonOption TracUriRoot /
  12.        </Location>
  13.        # L'authentification pour trac est basée sur les même utilisateurs qu'en svn
  14.        <Location "/trac/login">
  15.                 AuthType Basic
  16.                 AuthName "Trac"
  17.                 AuthUserFile /var/svn/domaine.tld/conf/passwd
  18.                 Require valid-user
  19.         </Location>
  20.  
  21.        DirectoryIndex trac/
  22.  
  23.        ErrorLog /var/log/apache2/error.trac-domaine.tld
  24.        CustomLog /var/log/apache2/access.trac-domaine.tld combined
  25.        LogLevel debug
  26.  
  27.         # SVN n'est accessible que sur /svn
  28.        <Location /svn>
  29.                 DAV svn
  30.                 SVNPath /var/svn/domaine.tld
  31.  
  32.                 # our access control policy
  33.  
  34.                 # try anonymous access first, resort to real
  35.                 # authentication if necessary.
  36.  
  37.                 # how to authenticate a user
  38.                 AuthType Basic
  39.                 AuthName "Subversion repository"
  40.                 AuthUserFile /var/svn/domaine.tld/conf/passwd
  41.  
  42.                 Satisfy Any
  43.                 AuthzSVNAccessFile /var/svn/domaine.tld/conf/authz
  44.  
  45.                 Require valid-user
  46.         </Location>
  47. </VirtualHost>

Télécharger

On recharge ensuite la configuration d’Apache :

  1. /etc/init.d/apache2 force-reload

Mise en place d’un fichier robots.txt

Il peut être utile d’empêcher l’indexation des pages de trac par les moteurs de recherche pour des raisons de performances serveur ou de confidentialité. Pour cela il suffit de créer un fichier robots.txt propre au domaine de trac :

  1. nano  /var/trac/domaine.tld/htdocs/robots.txt

Et voici le contenu à coller dans le fichier robots.txt :

  1. User-agent: *
  2. Disallow: /

Télécharger

Ainsi on interdit aux robots des moteurs l’indexation de toutes les pages de notre trac.

On ajoute alors dans la déclaration du virtualhost la directive suivante qui empêche l’URL avec robot.txt d’être traitée par mod_python :

  1. <Location /robot.txt>
  2.                SetHandler None
  3. </Location>

Télécharger

  • Auteur :
  • Publié le :
  • Mis à jour : 02/10/17

4 commentaires


Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.