# 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
====== SUBVERSION ======
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
====== Webdav ======
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 : [[linux:subversion:creer_un_depot_svn|Subversion Création d’un dépôt]] ) pour tester dans :
nano /etc/apache2/mods-enabled/dav_svn.conf
Exemple de dépôt :
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
Et on relance apache
systemctl restart apache2