Installation de Trac sur Slackware
20/10/09Sources
- Site Officiel: TracInstall
- Tuto sur lequel je me suis basé (en): Heidisoft
A quoi cela sert ?
- Visionner son dépot subversion en ligne
- Gestion des incidents/bugs
- Gestion de la roadmap du projet
- Wiki qui permet de stocker une documentation utilisateur/technique
Installation
Téléchargements
La liste des téléchargements est assez conséquente:- Trac: http://ftp.edgewall.com/pub/trac/
- Clearsilver: http://www.clearsilver.net/downloads/
- Sqlite: http://www.sqlite.org/
- Pysqlite (binding sqlite pour python): http://code.google.com/p/pysqlite/downloads/list
- Swig (binding svn pour python): http://www.swig.org/download.html
- Subversion: http://subversion.tigris.org/getting.html#source-release
Trac
wget http://ftp.edgewall.com/pub/trac/trac-VER.tar.gz tar zxf trac-VER.tar.gz cd trac-VER python setup.py install --prefix=/usr
Clearsilver
wget http://www.clearsilver.net/downloads/clearsilver-VER.tar.gz tar zxvf clearsilver-VER.tar.gz cd clearsilver-VER ./configure --with-python=/usr/bin/python --prefix=/usr --disable-ruby --disable-java --disable-apache --disable-csharp --disable-perl make make install
Sqlite
wget http://www.sqlite.org/sqlite-VER.tar.gz tar zxf sqlite-VER.tar.gz cd sqlite-VER ./configure --prefix=/usr make make install ln -s /usr/bin/sqlite3 /usr/bin/sqlite
pysqlite
wget http://code.google.com/p/pysqlite/downloads/list/VER/ tar zxf pysqlite-VER.tar.gz cd pysqlite-VER python setup.py build python setup.py install --prefix=/usr
Swig
wget http://dl.sourceforge.net/sourceforge/swig/swig-VER.tar.gz tar zxf swig-VER.tar.gz cd swig-VER ./configure --prefix=/usr/packages --with-python=/usr/bin/python make make install
Subversion
* Test it with python -c "from svn import client" (No errors should result.)wget http://subversion.tigris.org/downloads/subversion-VER.tar.gz tar zxf subversion-VER.tar.gz cd subversion-VER ./configure --with-python=/usr/bin/python --prefix=/usr --with-swig=/usr/bin/swig --without-berkeley-db --with-ssl --with-zlib make make install make swig-py make install-swig-py cd /usr/lib/pythonVER/site-packages echo /usr/lib/svn-python > subversion.pth ln -s /usr/lib/svn-python/libsvn ln -s /usr/lib/svn-python/svn
Test - Création d'un projet et lancement de Trac
Maintenant que tout ce beau monde est installé, on va créer le trac pour un projet:Ceci étant fait, on peut lancer tracd et essayer l'interface web:mkdir /home/trac/projet1 trac-admin /home/trac/projet1/ initenv
Il faut ensuite faire pointer son navigateur sur l'ip du serveur, port 8000:tracd -port=8000 /home/trac/projet1/
Normalement, Trac n'affiche pas d'erreur et tout est bon ;)http://XXX.XXX.XXX.XXX:8000/
Reste à faire la configuration.
Configuration
Plusieurs Projets
Il suffit de les lister en paramètrePour lancer Trac sur tout les sous répertoires:tracd -port=8000 /home/trac/projet1/ /home/trac/projet2/
tracd -p 8000 -e /home/trac/
Authentification
Trac ne gère pas l'authentification "de base", il faut soit créer un fichier htpassword, soit installer un plugin.Méthode via htpasswd:
Création du fichier avec premier identifiant:
Ensuite pour rajouter un utilisateur:sudo htpasswd -c FICHIER username
sudo htpasswd FICHIER username2
Lancement de Trac en précisant l'htpawwsd:
Pour partager le fichier d'authentification, il suffit de préciser le même fichier à --basic-authtracd -p 8000 \ --basic-auth=project1,/path/to/htpasswd1,mycompany.com \ --basic-auth=project2,/path/to/htpasswd2,mycompany.com \ /path/to/project1 /path/to/project2
Il est aussi possible de préciser l'utilisation d'un fichier htpasswd comme authentification pour tout les projets:
Si on préfère les fichiers htdigest, il suffit de remplacer --basic-auth par --auth, et le tour est jouétracd -p 8000 \ --basic-auth="*",/path/to/htpasswd,mycompany.com \ /path/to/project1 /path/to/project2
Url du projet
Il est possible de changer l'url de base du projet:tracd --base-path=/some/path
Rajouter des fichiers en téléchargement
Tracd peut proposer des fichiers en télécahrgement sans passer par un serveur http externe:Placer le fichier dans le repertoire htdocs/ du projet Trac Accéder au fichier avec une url en NOM_PROJET/chrome/site/FICHIER
Gestion des permissions
Comme les permissions unix, il est possible d'avoir des groupes dans lequels figurent les utilisateurs.Pour la liste complète des droits, se référer au site de trac: TracPermissions
On va commencer par rajouter un groupe admins avec "e;tout les droits"e;
trac-admin /home/trac/PROJECT permission add admins TRAC_ADMIN permission add {username} admins exit
Pour modifier un droit:
Il faut relancer tracd pour que les droits soient pris en compte.trac-admin /home/trac/PROJECT permission add/remove {group} RIGHT permission add/remove {username} RIGHT exit
Installation de plugins
Trac est exstensible via des plugins, pour les installer il faut easy setup tools:On teste si le tout est bien installé (ca ne doit rien renvoyer)wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py --prefix=/usr
Pour l'installation de plugin, il suffit de lancer easy_install sur le svn du plugin! Voici les plugins que j'installe:python -c "import pkg_resources"
easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.11
Personalisation
Trac à une interface très reconaissable, mais l'on peut vouloir mieux l'intégrer avec ses sites, surtout dans le cas d'un accès public.Tout n'est pas modifiable, mais les header/footer sont un bon début
Pour plus d'infos : TracInterfaceCustomization
Conclusion
Grâce à cette installation, on peut gagner du temps lors de la gestion de son projet, et centraliser toute les informations technique.Trac est aussi très adapté à un accès grand public pour que celui ci puisse rajouter des "bugs" sous forme de ticket, mais attention à prévoir assez de temps pour les analyser ;)