# Note : Voici l'emplacement des fichiers de configuration # dav_svn.conf = /etc/apache2/mods-available/dav_svn.conf # authz = /var/svn/MON_DEPOT/conf/authz # svn.passwd = /var/svn/MON_DEPOT/conf/svn.passwd (! non fourni !) # svnserve = /etc/init.d/svnserve
On commence par créer le répertoire qui contiendra tous les dépôts (de préférence pas dans /var/www/)
mkdir /var/svn
On crée un utilisateur spécifique pour svn et on ne lui donne de droits d’accès qu’a son répertoire
addgroup svn --system adduser svn --system --home /var/svn --no-create-home --ingroup svn
On crée un script permettant la manipulation du serveur svn (start, stop, …) (! fichier dispo avec le tuto !)
nano /etc/init.d/svnserve
#!/bin/sh set -e if [ -x /usr/bin/svnserve ] ; then HAVE_SVNSERVE=1 else echo "Svnserve not installed." exit 0 fi . /lib/lsb/init-functions case "$1" in start) log_action_begin_msg "Starting SVN server" start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/svn log_action_end_msg $? ;; stop) log_action_begin_msg "Stoping SVN server" start-stop-daemon --stop --exec /usr/bin/svnserve log_action_end_msg $? ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
On rend le script executable
chmod +x /etc/init.d/svnserve
On automatise le lancement lors du boot de la machine
update-rc.d svnserve defaults
Et on demarre le serveur svn grâce a la commande du script
/etc/init.d/svnserve start
agi subversion libapache2-mod-svn libapache2-svn libsvn-dev subversion-tools a2enmod dav_fs dav dav_svn systemctl restart apache2
On doit d’abord ajouter un dépôt SVN existant (voir : Subversion Création d’un dépôt ) pour tester dans :
nano /etc/apache2/mods-enabled/dav_svn.conf
Exemple de dépôt :
<Location /svn_TONDEPOT> DAV svn SVNPath /var/svn/TONDEPOT AuthType Basic AuthName "TONDEPOT" AuthUserFile /var/svn/TONDEPOT/conf/svn.passwd AuthzSVNAccessFile /var/svn/TONDEPOT/conf/authz Require valid-user </Location>
Et on relance apache
systemctl restart apache2