Prérequis :

- un serveur apache fonctionnel (article ici ) - un serveur mysql fonctionnel (article ici ) - le modules dav d'apache (--enable-dav WebDAV protocol handling à la compilation) sinon pour debian il suffit d'installer le paquet libapache2-svn.

Téléchargement de Usvn :

Sur le site officiel http://www.usvn.info/download/

_Installation :__

A mettre dans votre DocumentRoot (/var/www/ ou /opt/httpd/htdocs)

cd /var/www/
wget http://www.usvn.info/download/get/0.7.2%20Eddie/tgz.dl
tar xvf usvn-0.7.2.tgz
chown -R user-apache: usvn

Maintenant à l'aide d'un navigateur rendez vous à cette url : http://votre-ip/usvn

Une page comme celle ci devrait s'afficher :

Si vous rencontrez des soucis de détection des binaires subversion par Usvn :

Rajouter dans votre fichier apachectl ou dans /etc/rc.d/init.d/httpd ceci :

# Config pour usvn
export PATH=$PATH:/opt/svn/bin   <-  (à changer selon votre installation de subversion)

Répondez aux questions qui vous sont posé, tout ce que vous renseignerez dans l'interface d'installation se retrouvera dans le fichier config.ini à la racine du dossier usvn si vous voulez le retoucher.

Exemple pour l'étape 4 :

Titre de page:  USVN
Dépot subversion L'emplacement où usvn créera les dépots Subversion. : /data/svn/depots/
Fichier de mots de passe pour subversion L'emplacement où usvn créera son fichier de mots de passe : /data/svn/htpasswd
Fichier authz de Subversion L'emplacement où usvn créera le fichier authz : /data/svn/authz
URL du Subversion L'url que les utilisateurs utiliseront pour se connecter : http://svn.votre-domaine.org/usvn/

Vous aurez surement quelques ajustements de droit à faire pour moi c'était :

cd /data/
chown -R user-apache: svn/

Apache à besoin de pouvoir écrire et lire votre dossier qui accueillera vos repository.

Exemple pour l'étape 5 :

Pour une mise à jour c'est un peu plus compliqué que pour une première installation :

Je vous conseil de faire comme ceci :

Créer un base sql usvn-migr par exemple et laissez la nouvelle version que vous êtes entrain d'installer par votre navigateur mettre ses tables et enregistrements dedans et ensuite l'installation fini, modifier son fichier config.ini pour que l'interface pointe bien vers votre vrai base sql usvn.

vi config.ini
database.options.username = "usvn"
database.options.password = "passwd"
database.options.dbname = "usvn"

Soucis rencontré sous Debian :

Il faut la directive apache AllowOverride All dans apache2.conf. Problème de charset, réglé avec AddDefaultCharset Default La directive Location fournit par Usvn ne convient pas forcement l'installer fournit ceci : <Location /> et pour Debian il faudrait plutôt ceci : <Location /var/www/usvn/>

Il y aurait un autre souci pour ceux qui voudraient utiliser dans leur php.ini l'option safe_mod il paraitrait que Usvn n'apprécie pas cette option, donc à vous de voir.

merci de m'avoir lu ! :)