Outils pour utilisateurs

Outils du site


linux:subversion:installation_svn

Table des matières

# 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
svnserve.txt
  1. #!/bin/sh
  2. set -e
  3. if [ -x /usr/bin/svnserve ] ; then
  4. HAVE_SVNSERVE=1
  5. else
  6. echo "Svnserve not installed."
  7. exit 0
  8. fi
  9. . /lib/lsb/init-functions
  10. case "$1" in
  11. start)
  12. log_action_begin_msg "Starting SVN server"
  13. start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/svn
  14. log_action_end_msg $?
  15. ;;
  16. stop)
  17. log_action_begin_msg "Stoping SVN server"
  18. start-stop-daemon --stop --exec /usr/bin/svnserve
  19. log_action_end_msg $?
  20. ;;
  21. force-reload|restart)
  22. $0 stop
  23. $0 start
  24. ;;
  25. *)
  26. echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
  27. exit 1
  28. ;;
  29. esac
  30. 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 : 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
linux/subversion/installation_svn.txt · Dernière modification : 2022/09/03 17:12 de tutospisto