Pavnay

 
  • Increase font size
  • Default font size
  • Decrease font size
FrançaisEnglish

[SVN] Accéder à SVN via WebDAV

Imprimer
Subversion
Subversion est un logiciel de gestion de source à la mode, détronant ainsi le mythique CVS. Comme ce dernier, Subversion, souvent nommé svn, permet bien sûr de gérer les conflits de source mais ajoute aussi quelques fonctionnalités parmis lesquelles le renommage de ressource par exemple.

Afin de pouvoir travailler sur svn, il faut s'adresser au serveur svnserve sur le port 3690 (par défaut), ce qui implique de modifier la configuration de l'éventuel firewall si l'on désire que notre projet soit accessible depuis l'extérieur.
Comme la modification des règles de firewalling est une chose délicate, il est possible d'utiliser svn via un partage WebDAV avec le serveur httpd de la fondation Apache et c'est ce que nous allons mettre en place dans cet article.

L'installation d'un serveur Subversion est relativement simple sous Debian / Ubuntu grâce au gestionnaire de packages :

apt-get install subversion


Subversion installé, il faut maintenant créer le projet (ici le projet graphisme) :

svnadmin create /usr/local/svn/graphisme
chown -R apache:apache /usr/local/svn/graphisme


Quelques explications :
  • svnadmin est la commande permettant de gérer les projets svn. Ici, la commande crée le répertoire du projet graphisme et y installe l'arborescence nécessaire.
  • Le projet étant accessible via httpd, le répertoire du projet doit appartenir à l'utilisateur sous lequel tourne le serveur

Ceci étant fait, il faut maintenant configurer le lien WebDAV entre Subversion et httpd.
Pour se faire, il faut compiler le serveur httpd avec le module dav avec l'option --enable-dav.

Pour que le serveur httpd puisse communiquer avec Subversion, il faut installer l'APR (Apache Portable Runtime) et l'APR-Util :

  • pour l'APR :
cd /usr/local/packages/
wget http://mirrors.linhub.com/apache/apr/apr-1.3.8.tar.gz
tar xvzf apr-1.3.8.tar.gz
cd apr-1.3.8
./configure --prefix=/usr/local/apr-1.3.8
make
make install
ln -s /usr/local/apr-1.3.8 /usr/local/apr


  • pour l'APR-Util :
cd /usr/local/packages
wget http://mirror.mkhelif.fr/apache/apr/apr-util-1.3.9.tar.gz
tar xvzf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure --prefix=/usr/local/apr-util-1.3.9 --with-apr=/usr/local/apr
make
make install
ln -s /usr/local/apr-util-1.3.9 /usr/local/apr-util


Puis vient l'installation du module dav de svn.

apt-get install libexpat1-dev # Prérequis à la compilation du module

cd /usr/local/packages
wget http://subversion.tigris.org/downloads/subversion-1.4.4.tar.gz
tar xvzf subversion-1.4.4.tar.gz
cd subversion-1.4.4
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make
make install


Le module installé, il faut maintenant le configurer :

<Location /graphisme>
        DAV svn
        SVNPath /usr/local/svn/graphisme

        AuthType Basic
        AuthName "Pavnay Graphism depot"
        AuthUserFile /usr/local/apache2/conf/dav_svn_graphisme.passwd
        Require valid-user
</Location>


Quelques explications :
  • Location : URI d'accès au projet
  • DAV svn : activation du module
  • SVNPath : chemin absolu vers le projet partagé
  • Auth* : accès au projet par authentification

L'accès se faisant par authentification, il faut créer un fichier d'utilisateur apte à accéder au projet :

/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/dav_svn_graphisme.passwd febbweiss


Après toutes ces étapes, il faut relancer le serveur httpd. Si vous obtenez l'erreur suivante :

Syntax error on line 235 of /usr/local/apache2/conf/httpd.conf: 
Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: 
libsvn_repos-1.so.0: cannot open shared object file: No such file or directory


il faut recharger les librairies et relancer httpd :

/sbin/ldconfig
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/apachectl graceful



Pour utiliser le projet, il faut le récupérer :

svn checkout http://svn.pavnay.fr/graphisme # Pour un accès sans authentification
svn checkout --username febbweiss http://svn.pavnay.fr/graphisme # Pour un accès authentifié


On peut y ajouter des ressources :

svn add DreddTux
svn commit -m "Add Dredd Tux"


Commentaires
Ajouter un nouveau
+/-
Ecrire un commentaire
Nom:
Email:
 
Titre:
 
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
 

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Actualités

Peinture sur figurine