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 :
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 :
#On récupère tout d'abord l'archive de la dernière version du logiciel dans le home de l'utilisateur en court cd ~ wget https://download.edgewall.org/trac/Trac-1.2.2.tar.gz # On décompresse l'archive téléchargée tar -xvzf Trac-1.2.2.tar.gz # On installe les dépendances python sudo easy_install Pygments sudo easy_install Genshi #On se déplace dans le répertoire créé sur au désarchivage cd Trac-1.2.2 sudo python ./setup.py install
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 :
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éé :
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 :
ls -lsa /var/trac/arscenic.org total 44 4 drwxr-xr-x 9 root root 4096 avr 19 02:34 . 4 drwxr-xr-x 3 root root 4096 avr 19 02:34 .. 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 attachments 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 conf 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 db 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 htdocs 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 log 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 plugins 4 -rw-r--r-- 1 root root 98 avr 19 02:34 README 4 drwxr-xr-x 2 root root 4096 avr 19 02:34 templates 4 -rw-r--r-- 1 root root 27 avr 19 02:34 VERSION
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") :
sudo chown www-data:www-data -Rvf /var/trac/domaine.tld/
On va ensuite lui ajouter le dépot /var/svn/domaine.tld/
:
trac-admin /var/trac/domaine.tld/ repository add domaine.tld /var/svn/domaine.tld/ quit
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 :
sudo nano /etc/apache2/sites-available/svn.conf
Et on remplace son contenu par le suivant :
<VirtualHost *:80> ServerAdmin admin@domaine.tld ServerName svn.domaine.tld DocumentRoot /var/trac/domaine.tld/htdocs/ <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/trac/domaine.tld PythonOption TracUriRoot / </Location> # L'authentification pour trac est basée sur les même utilisateurs qu'en svn <Location "/trac/login"> AuthType Basic AuthName "Trac" AuthUserFile /var/svn/domaine.tld/conf/passwd Require valid-user </Location> DirectoryIndex trac/ ErrorLog /var/log/apache2/error.trac-domaine.tld CustomLog /var/log/apache2/access.trac-domaine.tld combined LogLevel debug # SVN n'est accessible que sur /svn <Location /svn> DAV svn SVNPath /var/svn/domaine.tld # our access control policy # try anonymous access first, resort to real # authentication if necessary. # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/domaine.tld/conf/passwd Satisfy Any AuthzSVNAccessFile /var/svn/domaine.tld/conf/authz Require valid-user </Location> </VirtualHost>
On recharge ensuite la configuration d’Apache :
/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 :
nano /var/trac/domaine.tld/htdocs/robots.txt
Et voici le contenu à coller dans le fichier robots.txt :
User-agent: * Disallow: /
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 :
<Location /robot.txt> SetHandler None </Location>
# Le 20 juillet 2009 à 10:05, par azerttyu En réponse à : Utilisation des paquets debian pour Trac
Bonjour
Dans une logique Debian, il est je crois préférable d’utiliser les paquets.
On peut ainsi obtenir les paquets backportés pour Etch depuis le serveur backports.mithril-linux.org
Premiere étape : télécharger les paquets voulus
wget http://backports.mithril-linux.org/pool/main/t/trac/trac_0.11.1-2.1~bpo40+2_all.deb
wget http://backports.mithril-linux.org/pool/main/g/genshi/python-genshi_0.5.1-1~bpo40+1_i386.deb
wget http://backports.mithril-linux.org/pool/main/j/jquery/libjs-jquery_1.2.6-1~bpo40+1_all.deb
Seconde étape : installer les dépendances connues
dpkg -i libjs-jquery_1.2.6-1~bpo40+1_all.deb
dpkg -i python-genshi_0.5.1-1~bpo40+1_i386.deb
Troisiéme étape : trouver et installer les dépendance manquantes
dpkg -i trac_0.11.1-2.1~bpo40+2_all.deb
apt-get -f install
Quatrième étape : installer trac
dpkg -i trac_0.11.1-2.1~bpo40+2_all.deb
C’est peut être plus long, mais au moins on n’aura plus à chercher pour desinstaller les outils tout se passe avec apt.
Répondre à ce message
# Le 25 juillet 2009 à 01:32, par Quentin Drouet En réponse à : Utilisation des paquets debian pour Trac
C’est une solution en effet. Cependant la version de trac n’est pas à jour dans les paquets Debian... Pour beaucoup de services web, Debian ne suit pas vraiment les mises à jour de logiciels (je pense notamment au gestionnaire de mailing list "sympa".
Il me semble bien que sur lenny les paquets soient déjà dans les dépots, dans la même version que tu cites : 0.11.1-2.1 .
NB : la version actuelle stable de Trac est la 0.11.5 ce qui dans le cycle de développement de Trac est une longue période.
Cependant je te remercie de la remarque et je vais faire un article "alternatif" avec ta méthode, ca ne mange pas de pain... ;)
Répondre à ce message
# Le 18 novembre 2009 à 18:38 En réponse à : Utilisation des paquets debian pour Trac
Bonjour, j’ai un problème :
peut-être dû à la méthode d’update...
alors que
il y en a un de trop ou est-ce le même ? est-ce lié ?
Répondre à ce message
# Le 18 novembre 2009 à 19:21 En réponse à : Utilisation des paquets debian pour Trac
ok, j’ai vu le pb :
easy_install a utilisé /usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg
le package debian est installé /usr/share/pyshared/,
et les liens sont faits dessus à partir de /usr/lib/python2.6/dist-packages
sans ’local’
c’est apparemment ce dernier qu’utilise apache
bon, et comment je rétablie le bouzin maintenant ?
/usr/local/lib/python2.6/dist-packages/easy-install.pth
/usr/lib/python2.5/site-packages/easy-install.pth
Répondre à ce message