Accès SVN

Le club met à disposition de ses membres un dépôt Subversion. Subversion (SVN) est un logiciel de gestion de versions, il est donc très pratique pour réaliser un projet de programmation.
Ce document explique comment créer un dépôt SVN sur le serveur de club et comment régler ses permissions d'accès.
Création d'un dépôt
Pour créer un dépôt svn :
cd /var/svn svnadmin create nom
L'accès se fait via DAV et le serveur web, pour qu'il puisse écrire dedans les fichiers du dépôt doivent appartenir au serveur web.
chown -R www-data:www-data aints
Configuration du serveur
L'accès au svn via DAV nécessite le module dav_svn. Le paquet qui le contient sous Debian est libapache2-svn. La configuration du module se fait dans le fichier /etc/apache2/mods-available/dav_svn.conf. Après l'avoir configuré il faut activer le module avec la commande a2enmod dav_svn
.
Voici la partie de la configuration qui nous intéresse :
<Location /svn> DAV svn SVNParentPath /var/svn/repos AuthzSVNAccessFile /etc/apache2/dav_svn.authz Satisfy Any Require valid-user AuthType Basic AuthBasicProvider ldap AuthName "Subversion repository" AuthLDAPURL ldap://ldapix/ou=People,dc=clubnix,dc=org?uid?one </Location>
Cette configuration permet d'utiliser l'authentification LDAP et d'avoir un fichier dav_svn.authz permettant de contrôler finement les permissions.
Contrôle fin des permissions
Le fichier dav_svn.authz permet donc de configurer les permissions par dépôt.
Par exemple si je veux que l'on puisse accéder anonymement aux fichiers du dépôt aints, voici la ligne de ce fichier qui correspond.
# Tout le monde peut lire le dépôt aints [aints:/] * = r
Cette page contient des informations plus précise sur le contrôle des permissions.