InstallTrac/Fr

From TuxFamilyFAQ
Jump to navigationJump to search

Installer Trac sur TuxFamily, c'est possible ? Peut-être, nous allons essayer. Ceci est une méthode incomplète pour installer Trac sur TuxFamily. Comme elle est incomplète, elle ne vous permettra pas d'utiliser Trac, mais montre un début de procédure, à compléter.

La procédure ci-dessous suppose que vous êtes connecté au serveur TuxFamily en SSH, dans le dossier de votre site (/home/projet/monsite.tuxfamily.org-web/htdocs/).


Installer Trac

Pour commencer, il faut installer Trac. Notion différente de l'utiliser, puisque une seule installation de Trac peut être déployée à divers endroits.

À titre d'exemple : http://ctpl.tuxfamily.org/cgi-bin/trac.cgi (Note de relecture : lien ne fonctionnant plus au 14 octobre 2015)

  • la css à adapter : TBD
  • ce qui fonctionne : wiki + timeline + roadmap
    • gestion des tickets : vous pouvez les voir et en proposer
    • reste à faire marcher l'authentification
  • pré-requis : indépendamment des fonctionnalité, rendre le trac joli

Téléchargement

Téléchargeons Trac, par exemple avec wget (la dernière version étant la 0.11.6 au moment où j'écris) :

wget http://ftp.edgewall.com/pub/trac/Trac-0.11.6.tar.gz

Puis décompressez le tar...

tar -xf Trac-0.11.6.tar.gz

...et rendez-vous dans le dossier créé :

cd Trac-0.11.6

Installation

L'installation n'est qu'une adaptation spécifique des instructions d'installation, rien de bien étrange ici.


Supposons que l'on veuille installer trac dans PREFIX=./trac-install.

Commencez par créer le dossier qui recevra les modules Python que l'on va installer :

mkdir PREFIX/lib/python2.5/site-packages

Puis ajustez la variable d'environnement PYTHONPATH (les chemins des modules Python) pour inclure le nouveaux dossier :

export PYTHONPATH="$PYTHONPATH:PREFIX/lib/python2.5/site-packages"

On peut maintenant lancer l'installation de Trac :

./setup.py install --prefix=PREFIX

Si tout s'est bien passé, vous devriez avoir Trac (et ses dépendances) installé dans PREFIX (notamment PREFIX/lib et PREFIX/bin). Pour pouvoir utiliser les outils fournis par Trac (notamment trac-admin), il faut enfin configurer le PATH :

export PATH="$PATH:PREFIX/bin"

Création de l'environnement, déploiement et configuration

Maintenant que Trac est installé, le plus dur reste à faire : l'utiliser.

Création d'un environnement

Ça c'est facile, trac-admin fait tout le boulot, comme dit sur la doc.

Supposons que l'on va créer l'environnement Trac dans le dossier trac :

trac-admin trac/ initenv

…et laissez-vous guider. Notons qu'actuellement il n'est possible que d'utiliser SQLit3, mais nos gentils admins semblent prêts à envisager l'installation d'autres modules (PostGreSQL, etc.) si vous demandez gentiment (et que vous vérifiez que personne ne l'a déjà fait avant vous).

Enfin, on corrige les permissions de l'environnement créé :

chmod g+w -R trac/

Déploiement

Encore une fois, ceci n'est qu'une adaptation de la doc de Trac. On déploie notre environnement (avec le dark-magic-trick suggéré par la doc) :

trac-admin trac/ deploy /tmp/trac-deploy
mv /tmp/trac-deploy/* .
# on est gentil, on ne laisse pas de bouses dans /tmp
rmdir /tmp/trac-deploy

Et voilà, l'application CGI Trac est installée dans cgi-bin/trac.cgi et les fichiers webs dans htdocs.

Ne sautez pas sur votre installation, elle ne fonctionnera pas encore : il faut d'abord configurer tout ça.

Configuration

C'est ici que ça se corse, nous allons essayer de configurer Trac.

Le problème ici par rapport à la doc de TracCGI est que nous n'avons pas accès aux fichiers de configuration d'Apache, et que nous devons nous « contenter » des .htaccess pour faire notre bazar.

Nous allons donc créer (ou compléter, c'est selon) le .htaccess dans le répertoire où vous vous trouviez lors de l'installation. Nous avons besoin de configurer trois variables d'environnement : TRAC_ENV (l'environnement de Trac), PYTHON_EGG_CACHE (Le cache des modules Egg de Python) et PYTHONPATH (le chemin de recherche des modules Python). Ouvrez (ou créez) un fichier .htaccess avec votre éditeur préféré et ajoutez les lignes suivantes (en adaptant les chemins si besoin est) :

SetEnv TRAC_ENV "../../htdocs/trac"
SetEnv PYTHON_EGG_CACHE "../../tmp/egg-cache"
SetEnv PYTHONPATH "../../htdocs/trac-install/lib/python2.5/site-packages"

Attention, je ne sais pas pourquoi, mais ces chemins doivent absolument être relatifs au script CGI de Trac (trac.cgi dans cgi-bin ici), les chemins absolus ne marchent pas (amusez-vous à essayer si vous ne me croyez pas).

Maintenant, votre Trac devrait fonctionner assez pour apparaître décemment dans votre navigateur : http://monsite.tuxfamily.org/cgi-bin/trac.cgi

Ça marche ? Bravo !

Authentification

Mais là, c'est le drame : comment s'authentifier (pour pouvoir utiliser Trac) ? Eh bien, pour le moment, je n'ai pas la réponse. Enfin, oui et non.

Il est possible de configurer la connexion de façon à ce que tout visiteur doivent impérativement s'authentifier, ne serait-ce que pour afficher la page d'accueil. Pour ce faire, créez un .htapasswd dans le dossier de base et configurez le .htaccess en conséquence pour nécessiter l'authentification.