--- subversion --- apt-get install subversion subversion-tools mkdir /home/svn svnadmin create /home/svn/bazar touch /home/svn/.authz ~# cat /home/svn/.authz [bazar:/] antonio = rw chown -R antonio:trac /home/svn (apres avoir creer le user trac (ci-dessous)) chmod -R 750 /home/svn svn:/usr/src# cd svn:~# svn co file:///home/svn/bazar Checked out revision 0. svn:~# ls bazar dead.letter passwd.orig svn:~# cd bazar/ svn:~/bazar# mkdir branches trunk tags svn:~/bazar# svn add * A branches A tags A trunk svn:~/bazar# svn commit -m "init svn" Adding branches Adding tags Adding trunk Committed revision 1. --- trac --- apt-get install apt-get install apache2-utils libaprutil1-dbd-sqlite3 libcap2 python-central \ python-chardet python-genshi python-pkg-resources python-pygments python-setuptools python-tz ssl-cert cd /usr/src/ python ./setup.py install - A la fin du processus Installing trac-admin script to /usr/local/bin Installing tracd script to /usr/local/bin - mkdir /home/trac trac-admin /home/trac/bazar initenv ajout de la ligne : repository_dir = /home/svn/bazar dans la section [trac] du fichier /home/trac/bazar/conf/trac.ini htpasswd -c /home/trac/.passwd antonio Verifier le fonctionnement avec : tracd -p 8000 -e /home/trac/ --basic-auth=bazar,/home/trac/.passwd,localhost useradd -d /home/trac -M -r trac chown -R trac:trac /home/trac cd /etc/init.d/ cp -v skeleton tracd chmod +x tracd on edite tracd et on remplace : PATH=/sbin:/usr/sbin:/bin:/usr/bin par PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Description of the service" par DESC="trac service" NAME=daemonexecutablename par NAME=tracd DAEMON=/usr/sbin/$NAME par DAEMON=/usr/local/bin/$NAME DAEMON_ARGS="--options args" par DAEMON_ARGS=" -b 127.0.0.1 -p 8000 -d --pidfile=/var/run/tracd.pid --basic-auth=bazar,/home/trac/.passwd,localhost -e /home/trac/" et l'on ajoute "-c trac" lors de l'appel du demon start-stop-daemon dans la fonction do_start() exemple : start-stop-daemon -c trac -g trac --start --quiet --pidfile $PIDFILE --ee xec $DAEMON -- \ $DAEMON_ARGS \ || return 2 puis demarrer le demon avec : /etc/init.d/tracd start verifier avec : netstat -lntp | grep python tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 10874/python --- installation de varnish --- editer /etc/default/varnish passez START=no a START=yes Modifiez les lignes comme suit : DAEMON_OPTS="-a :30000 \ -T localhost:6083 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G" netstat -lntp | grep varnish tcp 0 0 0.0.0.0:30000 0.0.0.0:* LISTEN 15002/varnishd tcp 0 0 127.0.0.1:6083 0.0.0.0:* LISTEN 15001/varnishd tcp6 0 0 :::30000 :::* LISTEN 15002/varnishd cd /etc/varnish/ cp -v default.vcl default.vcl.old editer /etc/varnish/default.vcl modifier la section backend default comme suit : backend default { .host = "127.0.0.1"; .port = "8000"; } en dessous cree l'ACL contenant son IP : acl mon_ip { "82.235.23.15"; } puis a la section "sub vcl_recv" { on ajoute : if (!(client.ip ~ mon_ip)) { error 403 "Access Denied"; } ce qui donne : sub vcl_recv { if (!(client.ip ~ mon_ip)) { error 403 "Access Denied"; } } puis recharger varnish avec : varnishadm -S /etc/varnish/secret -T 127.0.0.1:6083 et vcl.load trac /etc/varnish/default.vcl et vcl.use trac quit un ptit coup de firewall : iptables -I INPUT -i br0 -p tcp --dport 30000 -j ACCEPT iptables -I OUTPUT -o br0 -p tcp --sport 30000 -j ACCEPT et enfin on test avec son navigateur ... --- aide memoire svn --- svn import /root/svn svn+ssh://antonio@mon_ip/home/svn/bazar -m "Creation initiale de l'arborescence" svn add mon_fichier svn delete mon_fichier svn mon_fichier commit -m "commit du jour" --- aide memoire trac --- Evenir admin trac : trac-admin /home/trac/monprojet permission add antonio TRAC_ADMIN Ajout de milestones en ligne de commande : trac-admin /home/trac/bazar milestone add etape_1 PS : il est possible de creer plusieurs projets trac, si tracd est lance avec l'option '-e /home/trac/', tous les projets crees dans ce repertoire seront alors disponibles. pour automatiser la creation ( a l'arrache ) : ~# cat new_repo.sh #!/bin/bash - svnadmin create /home/svn/$1 echo -e "[${1}:/]\nantonio = rw" >> /home/svn/.authz chown -R antonio:trac /home/svn chmod -R 750 /home/svn cd /root/ svn co file:///home/svn/$1 cd /root/$1 mkdir branches trunk tags svn add * svn commit -m "init svn" cd /root/ trac-admin /home/trac/$1 initenv ~# bash -x new_repo.sh my_project PS2 : modifier le trac.ini pour changer les sources avec "cut/awk" ou "cat < EOF ..."