Aller au contenu. | Aller à la navigation

Outils personnels

Navigation

Vous êtes ici : Accueil / Suivi serveur / Installation de Trac

Installation de Trac

Installation

Installation à partir d'easy_install

Il suffit de lancer la commande :

sudo easy_install trac

Puis il faut installer un démon pour le démarrage automatique de tracd (le serveur de trac). Pour cela je me suis inspiré de deux docs :

 

Cela me donne un script : tracd (pas oublier de faire un chmod 755)

#!/bin/sh
### BEGIN INIT INFO
# Provides: tracd
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the tracd standalone Trac web server.
### END INIT INFO
# (C) 2008 Guy Rutenberg <http://www.guyrutenberg.com>

## Options you should probably change ##
HOSTNAME=127.0.0.1 # to which hostname should we listen
# If you only want to serve one project keep this variable
# empty and set the PROJECT_ENV variable
ENV_PARENT_DIR=/var/lib/trac
PROJECT_ENV=
PORT=3050
# add any additional options (such as authentication) here. If you only have one
# project you should probably add -s here
ADDITIONAL_OPTS="--auth=*,/etc/nginx/test/svn.digest.passwd,trac.ageliaco.org /var/lib/trac/"

## Options you should probably not change ##
DAEMON=/usr/bin/tracd
NAME=tracd
DESC="web server"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
SSD="/sbin/start-stop-daemon"

test -x $DAEMON || exit 1

set -e

. /lib/lsb/init-functions

DAEMON_OPTS="--daemonize --pidfile=$PIDFILE --port=$PORT --hostname=$HOSTNAME $ADDITIONAL_OPTS"
if [ -n "$ENV_PARENT_DIR" ]; then
DAEMON_OPTS="$DAEMON_OPTS --env-parent-dir=$ENV_PARENT_DIR"
else
DAEMON_OPTS="$DAEMON_OPTS $PROJECT_ENV"
fi

case "$1" in
start)
log_daemon_msg "Starting $DESC" $NAME
if ! $SSD --start --quiet\
--pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS ; then
log_end_msg 1
else
log_end_msg 0
fi
;;
stop)
log_daemon_msg "Stopping $DESC" $NAME
if $SSD --stop --retry 30\
--pidfile $PIDFILE ; then
rm -f $PIDFILE
log_end_msg 0
else
log_end_msg 1
fi
;;
restart|force-reload)
$0 stop
[ -r $PIDFILE ] && while pidof -x $NAME |\
grep -q `cat $PIDFILE 2>/dev/null` 2>/dev/null ; do sleep 1; done
$0 start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0

 Il faut donc faire encore :

sudo chmod 755 /etc/init.d/tracd

et pour l'installer dans les scripts appeler au reboot

sudo update-rc.d tracd defaults

Intégration dans Nginx

Voir la solution de proxying présentée sous http://blog.elderec.com/2008/09/06/install-subversion-trac-nginx-on-ubuntu-hardy/

 

Création d'un projet

Sous /var/lib/bzr on va créer les projets Trac. On lance la commande suivante:

sudo trac-admin /var/lib/trac/ageliaco initenv

Quelques questions sont posées, il faut bien y répondre, entre autres la question sur le type de système de versionning (ici dans notre cas on n'utilise pas svn, mais bzr).

Puis, on va dans un sous-dossier conf du dossier généré "ageliaco":

cd ageliaco/conf

et on complète la configuration (quelques variables évidentes), mais surtout dans notre cas, pour bazar, il faut ajouter une section:

[components]
tracbzr.* = enabled

Pour l'utilisation de bzr avec Trac, il faut donc installer le composant trac-bzr

Installation de trac-bzr

J'ai lancé la commande suivante (après avoir installé bzr):

bzr co http://bazaar.launchpad.net/~trac-bzr-team/trac-bzr/trunk trac-bzr

Puis j'ai fait l'installation

cd trac-bzr/tracbzr
vi backend.py #edition pour corriger le bug ci-dessous
cd ..
python setup.py build
sudo python setup.py install

Pour ma part, j'ai dû appliquer le patch mentionné sous https://bugs.launchpad.net/trac-bzr/+bug/341916 pour le faire fonctionner avec Trac (en refaisant une réinstallation de Trac après l'installation de trac-bzr ???)