La méthode d'accès aux données change par rapport à CVS. Avec ce dernier, on accédait à un serveur dédié à CVS (pserver) pour échanger les données avec le dépôt.
Cette méthode existe avec Subversion, mais très déconséillée pour des raisons de sécurité, mais aussi parce que la solution préférée est plus souple. Cette méthode consiste à utiliser WebDAV (une extension d'HTTP) pour accéder au dépôt. L'interêt est qu'il suffit d'un serveur Web pour accéder aux données.

Le tout implique une installation d'Apache 2.x déjà existante. Ensuite, il suffit d'installer subversion et son greffon sur Apache :apt-get install subversion libapache2-svn
Ensuite, il faut :

  • créer un dépôt
  • configurer Apache
  • et c'est parti!

Créer un dépôt
Pour cela, il faut aller dans un répertoire vide et taper la commande : svnadmin create .
Le dépôt se trouve dans ce répertoire, il ne faut pas éditer à la main les fichiers qu'il contient (sauf experts ;) )
Maintenant, il faut aussi donner les droits d'écriture à Apache2 : chown -R www-data:www-data <chemin-du-depot>
Configurer Apache Tout se joue dans le fichier /etc/apache2/mods-available/dav_svn.conf. Pour que ce fichier soit pris en compte par Apache, il faut qu'il y ait un lien symbolique vers ce fichier dans le répertoire /etc/apache2/mods-enabled/.

Dans le fichier /etc/apache2/mods-available/dav_svn.conf, il y a quelques lignes à éditer:
<Location /svn> , le chemin d'accès sur le serveur web
SVNPath /svn/ , le chemin du dépôt subversion
Ensuite l'authentification :
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Ici, le fichier /etc/apache2/dav_svn.passwd contient les utilisateurs/mots de passes des utilisateurs qui ont le droit d'accéder au dépôt, à la mode htpasswd.
Et maintenant on oblige que les utilisateurs s'authentifie :
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

PS : si Apache2 répond une erreur 500 avec un commentaire du genre "no user file" dans /var/log/apache2/error.log , il faut activer l'authentification : a2enmod auth_basic

Rien n'empeche d'ajouter des restrictions supplémentaires pour l'accès au dépôt.
Reste plus qu'à relancer Apache : /etc/init.d/apache2 restart et si tout ce passe bien, le dépôt est prêt!
Il suffit de tester que tout est bien configurer en se connectant au serveur Web sur le bon répertoire et normallement, après l'authentification, on doit voir un message du type Revision 0.


Notes :
Modifié le 25/02/2007 : Ajout de la commande de changement des droits d'accès au répertoire contenant le dépot.
Modifié le 26/02/2007 : Ajout de la remarque sur l'authentification pas activé par défaut dans apache2.