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.