Le but de ce howto/tuto est de fournir une documentation pour installer un serveur SVN avec la gestion multi-dépots. Je n’aborderais pas tout ce qui concerne svn+ssh.
Logiciels utilisés :
Par convention :
# foo : commande à taper en root
$ bar : commande à taper en utilisateur simple
foo bar : à adapté à votre configuration
De plus, dans les détails des fichiers de configuration, ce qui n’est pas mentionné doit etre commenté.
Installation de start-stop-daemon :
# cd /usr/ports/archivers/dpkg
# make install clean
Installation de subversion :
# cd /usr/ports/devel/subversion
# make WITH_SVNSERVE_WRAPPER=”on” WITHOUT_NEON=”on” WITH_PERL=”on” WITH_PYTHON=”on” install clean
Il faut créer un utilisateur svn (via adduser), je vous suggere les options : -w no -s /usr/sbin/nologin. Pour le home, je vais considérer que c’est /usr/home/svn.
Ensuite, vous pouvez créer un petit script comme celui-ci. Ilvous permettra de lancer automatiquement svnserve sous l’user svn.
Fichier : /usr/local/etc/rc.d/svnserve.sh
#!/bin/sh
case "$1" in
start)
start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/svnserve.pid --exec \
/usr/local/bin/svnserve -c svn:svn -- -d --listen-port 3690 --listen-host 127.0.0.1 -r /usr/home/svn
;;
*)
echo "Usage /usr/local/etc/rc.d/svnserv.sh start" >&2
exit 64
;;
esac
exit 0
Pensez à modifier 127.0.0.1 par celle de votre serveur.
Vous pouvez maintenant lancer votre serveur SVN par la commande :
# /usr/local/etc/rc.d/svnserve.sh start
Maintenant, nous allons ajouter un dépot. La procédure sera la même pour tous les autres dépot et ne nécessite pas de relancer svnserve.
# cd /usr/home/svn # svnadmin create mon_depot # chown -R svn:svn mon_depot
Pensez à adapter mon_depot.
Modifier le fichier le fichier /usr/home/svn/mon_depot/conf/svnserve.conf de cette façon :
[general] anon-access = read auth-access = write password-db = passwd realm = Mon premier depot SVN
Attention les champs anon-access et auth-access acceptent plusieurs valeurs :
Maintenant, il faut modifier le fichier /usr/home/svn/mon_depot/conf/passwd pour ajouter les accès au dépot.
[users] moi = mon_mot_de_passe un_autre = son_mot_de_passe login = mot_de_passe.