Vous êtes sur la page 1sur 22

Installation de Subversion sous Debian

par Gildas Cuisinier (Hikage) (Blog)

Date de publication : 07/08/2007

Dernire mise jour :

Cet article prsente l'installation d'un serveur Subversion sur une distribution
Linux Debian ainsi que les bases de gestion d'un projet sur ce mme serveur.
Il prsentera ensuite une application Web, USVN, qui propose une interface
simple de gestion des dpt Subversion.
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Qu'est-ce que subversion ?


Qu'est-ce qu'un VCS ?
Pourquoi Subversion ?
Atomicit
Gestion des dplacements / renommages
Gestion des rpertoires
Rvisions
Gestion des accs
II - Subversion sous debian
Installation
Gestion d'un dpt
II-C - Utilisation du client
Check out
Ajout de fichiers/rpertoires
Intgration des modifications sur le serveur
Intgration, le retour
Utilisation en rseau
SVNServe
SSH
Module apache
Installation
Configuration
Gestion des utilisateurs
Relancement du serveur
III - Interface web de gestions
Prsentation d'USVN
Installation
Prrequis
Ecrans d'installations
Installation - Accueil
Installation - Choix de la langue
Installation - Licence
Installation - Configuration des rpertoires
Installation - Configuration de la base de donnes
Installation - Cration de l'administrateur
Installation - Fin
Utilisation
IV - Conclusion
Remerciements
Ressources

-2-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Qu'est-ce que subversion ?

Qu'est-ce qu'un VCS ?

Subversion est un VCS, Version Control System, ou logiciel de gestion de version. C'est un logiciel qui permet
plusieurs dveloppeurs de travailler sur un mme projet, voir sur un mme fichier simultanment.

Il est responsable de la gestion des accs concurrents, ou plus exactement des modifications concurrentes sur un
mme fichier. De plus si les modifications ne sont pas conflictuelles, Subversion assure la fusion de celles-ci afin
d'avoir au final une version du projet qui comprend toutes les modifications.

Dans les cas o les modifications portent sur les mme lignes, Subversion aura besoin d'une intervention d'un
utilisateur afin de rsoudre manuellement ces conflits.

Pourquoi Subversion ?

Subversion a t dvelopp dans le but de remplacer terme CVS en comblant quelques lacunes inrantes ce
dernier :

Atomicit
Gestion du renommage / dplacement
Gestion des rvisions
Gestion des accs

Atomicit

Dans CVS les modifications envoyes par un dvelopppeur taient intgres dans le dpt une par une ds leur
rception. Si pour une raison ou l'autre, l'envoi de ces modifications tait intrrompu ( problme rseau, plantage du
systme d'exploitation du cot client, ... ), les modifications dj reues taient t intgres.

Dans ce cas prcis, le dpt est dans un tat incohrent, et le projet n'est plus forcment compilable.

Afin d'viter cela, Subversion intgre les modifications uniquement lorsque toutes celles-ci ont t reues
intgralement et qu'aucun problme n'est survenu.

Le cas chant, aucune modification n'aura t intgre, et le dveloppeur devra faire une autre tentative, aprs
rsolution des problmes ventuels.

Ce systme d'intgration est comparable au systme de transactions des bases de donnes commit/rollback.

Gestion des dplacements / renommages

Une autre faiblesse de CVS est la gestion, ou plus exactement l'absence de gestion, du renommage/dplacement
des fichiers. En effet, CVS peroit ces actions commme la suppression du fichier source, et la cration du fichier
destination. Ce qui a pour consquence que l'historique du fichier original n'est pas li au nouveau fichier.

-3-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Dans Subversion, si un fichier est dplac ou renomm l'aide de la commande svn move, l'historique reste associ
au fichier destination, ce qui permet de voir toutes ses modifications depuis le dbut.

Attention, si le dplacement n'est pas fait avec la commande svn, l'historique sera perdu
de la mme manire que dans CVS.

Gestion des rpertoires

Un autre avantage de Subversion est sa gestion des rpertoires. Pour chaque rvision, une liste des fichiers contenus
dans un rpertoire est gard.

Cela a pour avantage de pouvoir comparer le contenu d'un rpertoire par rapport une ancienne version rapidement.

Rvisions

La notion des rvisions entre Subversion et CVS est diffrente. Dans ce dernier une rvision tait associe un
fichier en particulier.

Cela peut paratre logique, mais cela pose un problme : Comment rcuprer une copie du dpt un moment donn
? Un fichier pouvant tre la rvision 3, tandis qu'un autre la rvision 10, et un plus rcent la rvision 1.

Dans Subversion, la notion de version est applique sur l'ensemble du dpt. Ds qu'une modification est apporte
un fichier dans le dpt, c'est l'ensemble des donnes qui passe au numro de rvision suivant.

Il est ds lors plus simple de retrouver l'tat d'un dpt un moment donne, en gardant une trace de la rvision
ce moment l.

Gestion des accs

Comme il sera dmontr plus loin dans cet article, la gestion des accs peut tre trs fine, spcialement lorsque
Subversion est li Apache.

Il est ds lors possible de spcifier diffrents accs par utilisateur, par groupe, et ce, pour chaque fichier/rpertoire
dans le dpt, et non pas un accs global celui-ci.

-4-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

II - Subversion sous debian

Installation

L'installation de Subversion se fait simplement par la commande :

aptitude install subversion

Cette commande installe le client Subversion, diffrentes commandes de gestion de dpt ainsi qu'un excutable
serveur.

Sur une distribution Debian Etch, la version est 1.4.2.

Gestion d'un dpt

Cela fait, il est ncessaire de crer un premier dpt.

Dans le cadre de cet article, le rpertoire de base des dpts sera /var/subversion/depot/

La cration d'un dpt pour un projet nomdemonprojet se fait via la commande :

svnadmin create /var/subversion/depot/nomdemonprojet

Le rsultat devrait tre un rpertoire nomdemonprojet cre dans /var/subversion/depot/

II-C - Utilisation du client

Ds lors, il est dj possible de travailler sur celui-ci localement ( sur la mme machine que le dpt lui mme ).
L'accs distance ncessitant un peu de configuration, cela sera expliqu par aprs.

En attendant, voici un petit descriptif des commandes de bases du client Subversion.

Check out

La premire tape dans l'utilisation de Subversion est de rcuprer une copie locale du dpt :

svn co file:///var/subversion/depot/nomdemonprojet

Si tout c'est bien droul, un rpertoire nomdemonprojet a du tre cr dans le rpertoire courant.

Ce rpertoire doit contenir les fichiers de la dernire rvision disponible sur le dpt.

Dans ce cas-ci, le projet venant d'tre cr, ce rpertoire est vide.

Ajout de fichiers/rpertoires

-5-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Dans ce rpertoire, vous tes libre de travailler normalement : cration de rpertoire, ajout de fichier.

Dans le cadre de cet article, la hirarchie de fichiers/rpertoires suivante a t cre :

nomdemonprojet
+ src
+ java
+ com
+ developpez
+ hikage
+ TestMain.java
+ Application.java
+ webapp
+ WEB-INF
+ web.xml

Il est ensuite ncessaire d'informer Subversion que ces fichiers doivent tre pris en compte lors de la prochaine
publication des modifications sur le dpt :

svn add src

Le rsultat de cette commande est :

debian:~/nomdemonprojet# svn add src


A src
A src/webapp
A src/webapp/WEB-INF
A src/webapp/WEB-INF/web.xml
A src/java
A src/java/com
A src/java/com/developpez
A src/java/com/developpez/hikage
A src/java/com/developpez/hikage/TestMain.java
A src/java/com/developpez/hikage/Application.java

Intgration des modifications sur le serveur

La dernire commande n'a fait que mettre une "tiquette" sur des fichiers, mais ceux-ci n'ont pas encore t envoy
vers le dpt.

Cette action est ralise via la commande :

svn commit src -m "Message expliquant le modification effectues"


Ajout src
Ajout src/java
Ajout src/java/com
Ajout src/java/com/developpez
Ajout src/java/com/developpez/hikage
Ajout src/java/com/developpez/hikage/Application.java
Ajout src/java/com/developpez/hikage/TestMain.java
Ajout src/webapp
Ajout src/webapp/WEB-INF
Ajout src/webapp/WEB-INF/web.xml
Transmission des donnes ...
Rvision 1 propage.

-6-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Le paramtre -m "Mon Message" spcifie un message qui sera associ la publication ( et donc la nouvelle
rvision ).

Il est courant d'expliquer comme message le but des modifications ralises : ajout d'une fonctionalit, correction
d'un bug, ...

Intgration, le retour

Imaginons maintenant que du code a t ajout dans le fichier TestMain.java ( qui tait jusqu'ici un simple fichier vide
), et que lors de la publication des modifications, le rsultat affiche :

debian:~/nomdemonprojet/src/java/com/developpez/hikage# svn commit TestMain.java -m "Ajout du code


par developpeur 1"
Envoi TestMain.java
svn: chec de la propagation (commit), dtails :
svn: Le chemin '/src/java/com/developpez/hikage/TestMain.java' est obsolte dans la transaction
'3-1'

Le message informe que le fichier du dpt est plus rcent ( une rvision suprieure ) que celle disponible en locale.

Il est donc ncessaire de mettre jour cette dernire grce la commande :

svn update TestMain.java


C TestMain.java
Actualis la rvision 3.

La mise jour a t effectue mais un conflit ( le C cot du nom du fichier ) est apparu.

Lors d'un conflit, Subversion cre trois nouveaux fichiers dans le rpertoire, ici TestMain.java.mine ( qui est une copie
de la version modifie localement ), TestMain.java.r1 ( qui est la version locale avant modification, c'est dire celle
rcupere lors du check out ou de la dernire mise jour ), et TestMain.java.r3 qui est la dernire version sur le
serveur.

Le fichier TestMain.java quand lui possde des informations sur les diffrences entre chaque fichiers.

Il est donc ncessaire de raliser la fusion manuellement, en gardant les bonnes lignes.

Dans le cas de la ligne de commande, la fusion doit tre rellement faite la main.

Lors de l'utilisation de client graphique, il est frquent d'avoir une fentre qui affiche les
diffrences entre les fichiers et propose une interface simple pour raliser la fusion.

Une fois la fusion effectue, il faut dire Subversion que le problme t rsolu :

svn resolved TestMain.java


Conflit sur 'TestMain.java' rsolu

En plus de supprimer l'tiquette 'Conflit' ( qui empche le fichier d'tre envoy sur le dpt ), cette commande
supprime les trois fichiers temporaires cits plus haut.

-7-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Le cas du "conflit" est le seul qui ncessite l'intervention manuelle. Lors d'une mise jour de la copie locale ( svn
update ), les informations possibles associes au fichier peuvent tre :

C Conflit, c'est le cas prsent dans cet article


A Ajout, un nouveau fichier a t ajout sur
le dpt et est donc rcupr dans la copie
locale
D Supression, un fichier a t marqu comme
supprim, et donc la copie locale est
supprime aussi
G Fusion, des modifications ont t ralises
sur un fichier qui a t modifi dans la copie
locale, mais les modifications ne sont pas
conflictuelle.

Subversion intgre donc ces modifications


dans la copie locale
M Modification, des modifications ont t
ralises sur un fichier qui n'a pas t
modifi localement, les modifications sont
donc intgres dans la version locale

Voila qui finit la prsentation des commandes de base de Subversion. Il en existe beaucoup d'autre afin de crer
des patchs entre version ( svn diff ), annuler des modifications locales ( svn revert ), et bien d'autres encore qui
ncessiteraient un article part afin d'tre prsent correctement.

Utilisation en rseau

Jusqu'ici le serveur tait accessible uniquement en local et son utilit est donc restreinte.

Pour mettre disposition les dpts des clients distants, il existe diffrents moyens possdant chacun leurs
avantages et leurs inconvnients.

SVNServe

La premire mthode est d'utiliser SVNServe, un dmon fourni dans le package Subversion. Celui-ci peut tre
configur en serveur Standalone ou via InetD.

L'avantage de cette mthode est qu'il ne ncessite pas d'autre dpendance.

L'inconvnient est qu'il coute sur un port propre ( qui est bien sur configurable ), et qu'il risque donc d'tre bloqu
par des pare-feux.

SSH

Il est aussi possible d'accder au dpt via un tunnel SSH. Cela ncessite bien sr un serveur SSH install sur la
machine qui hberge le dpt, mais c'est souvent le cas sur des machines Linux.

-8-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Du ct du client, il est ncessaire que celui-ci gre ce type d'accs. Parmi ceux-ci, citons Tortoise SVN,
SmartSVN ou encore Subclipse

Module apache

La dernire mthode, et la plus intressante, est d'utiliser un module Apache pour Subversion.

Le principal intrt par rapport l'accs via SvnServe ou SSH est que le port HTTP est trs rarement filtr par les
pare-feux, et donc est accessible de partout.

De plus l'authentification tant effectue via les modules d'Apache, les moyens d'authentification de celui-ci ( fichier
d'utilisateur, annuaire LDAP, base de donnes ) sont disponibles.

Comme il a t dit au dbut de cet article, l'intgration Apache / Subversion fourni un dispositif de gestion des droits
d'accs plus fine.

Dans le cadre de ce tutoriel, c'est cette mthode qui sera explique.

Installation

La premire chose faire est d'installer Apache si ce n'est pas encore le cas :

aptitude install apache2

Ensuite, il faut installer le module svn en lui mme.

Sous debian Sarge :

aptitude install libapache2-mod-dav libapache2-svn

Tandis que sous debian Etch, cela se fait via :

aptitude install libapache2-mod-svn

Configuration

Une fois le module install, il faut configurer Apache afin d'intgrer le dpt.

Pour ce faire, nous allons configurer Apache afin que l'URL de type http://monserveur/svn fournisse un accs au
dpt.

Tout d'abord, il faut informer Apache qu'il doit prendre en compte le module SVN :

a2enmod dav_svn

-9-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Ensuite, le fichier de configuration /etc/apache2/mod-available/dav_svn.conf doit tre dit :

<Location /svn>
DAV svn
Require valid-user
SVNParentPath /var/subversion/depot/
AuthType Basic
AuthName "Mon dpt"
AuthUserFile /var/subversion/conf/htpasswd
AuthzSVNAccessFile /var/subversion/conf/access
</Location>

Ligne Description
Location /svn Spcifie que le dpt sera accessible via
http://ip/svn Ou ip reprsente l'adresse ip du
serveur
DAV svn Active la gestion SVN sur ce rpertoire
Require valid-user Ncessite un utilisateur valide afin d'accder
ce rpertoire
SVNParentPath Configure le chemin vers le rpertoire parent
des dpts
AuthType Spcifie le type d'authentification
AuthName Spcifie le nom qui sera affich dans la boite
de demande de mot de passe
AuthUserFile Spcifie le fichier des utilisateurs
AuthzSVNAccessFile Spcifie le fichier de gestion des accs

Gestion des utilisateurs

Cela fait, l'tape suivante est de crer le fichier /var/subversion/conf/htpasswd qui contiendra les utilisateurs et leurs
mots de passe.

La cration du premier utilisateur est ralise via la commande :

htpasswd -c /var/subversion/conf/htpasswd hikage

hikage reprsente le nom de l'utilisateur, et son mot de passe sera demand par la commande.

Le paramtre -c spcifie qu'il est ncessaire de cre le fichier. L'ajout des prochains utilisateurs se fera donc via
la commande :

htpasswd /var/subversion/conf/htpasswd utilisateur2

Une fois les utilisateurs crs, il reste encore configurer leurs accs. Cela est ralise dans le fichier
/var/subversion/conf/access .

Le contenu de ce fichier dans le cadre de cet article pourrait tre :

[groups]
developpez = hikage, utilisateur2

- 10 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

[nomdemonprojet:/]
@developpez = rw
* = r

[projetprivehikage:/]
hikage = rw
* = r

[projetprivehikage:/documentation/utilisateur]
auteurdoc = rw

La section [groups], comme son nom le laisse sous entendre, permet de dfinir des groupes. Ici un seul groupe
( developpez ), dont les membres sont hikage et utilisateur2, est cr

La deuxime section ( [nomdemonprojet:/] ) dfinit les accs globaux au projet nomdeprojet. Ici le groupe
dveloppezcom ( @developpezcom ) possde un droit en lecture/criture, tandis que tout les autres ( reprsent
par * ) ont un accs en lecture seule.

La troisime section dfinit les accs globaux un deuxime projet ( projetprivehikage ), accessible en criture
uniquement par hikage mais lisible par tous.

Remarquez que le fichier de configuration des droits d'accs peut tre commun plusieurs
projets.

La dernire section redfinit les droits d'accs au rpertoire documentation/utilisateur du projet projetprivehikage.
Celui-ci sera accessible en criture par auteurdoc.

Relancement du serveur

Ces tapes ralises, il est ncessaire de relancer Apache afin qu'il prenne ces changements en compte :

/etc/init.d/apache2 restart

- 11 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

III - Interface web de gestions

Prsentation d'USVN

Jusqu'ici, la gestion des dpts tait ralise en console.

Si cela reste trs utile, la console n'est pas forcment apprcie par tout le monde. De plus, afin de grer les dpts
il est ncessaire d'avoir un compte administrateur, ou quivalent.

Pour rsoudre cela, un projet de fin d'tudes de l'Epitech viens nous aider : USVN.

Celui-ci fournit une interface Web en PHP afin de prendre en charge la gestion de plusieurs dpts.

USVN est fourni sous licence CeCILL.

Installation

Prrequis

Afin d'utiliser USVN, il faut s'assurer d'avoir toutes les dpendances requises :

Apache 2
PHP5
SQlite
mod_dav_svn
mod_rewrite
subversion
mod_authz_svn

aptitude install libapache2-mod-php5 php5-sqlite


a2enmod rewrite
/etc/init.d/apache2 reload

Afin de poursuivre l'installation, l'archive de USVN doit tre rcupre sur le site, et dcompresse dans un rpertoire
accessible Apache :

wget --no-check-certificate http://www.usvn.info/download/get/?file=0.6.3%20Mike.tgz


tar -zxvf usvn-0.6.3.tgz
mv usvn /var/www
chown -R www-data: /var/www/usvn

wget est un outil en ligne de commande permettant de rcuprer des fichiers distants. S'il
n'est pas encore install : aptitude install wget.

- 12 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Cela fait, il est ncessaire de s'assurer que la configuration pour ce site est correcte. Pour ce faire, ajoutez les lignes
suivantes dans le fichier /etc/apache2/sites-available/defaut ( ou dans le fichier de votre nom de domaine ):

<Directory /var/www/usvn>
AllowOverride all all
</Directory>

Cela permet au site de dfinir des redirections via le fichier .htaccess.

Ecrans d'installations

La suite de l'installation est ralise directement par l'interface fournie par USVN :

Installation - Accueil

Installation - Choix de la langue

Le deuxime cran permet le choix de la langue, et l'heure ou j'cris cet article les langues suivantes sont gres :

Franais
Anglais
Espagnol
Chinois

- 13 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Installation - Licence

Ensuite, la licence CeCILL est affiche.

Installation - Configuration des rpertoires

L'cran suivant est la configuration du nom du site, du chemin o seront stocks les dpts ainsi que les fichiers de
configuration, et l'URL d'accs SVN.

La seule contrainte dans les chemins est qu'ils soient accessibles en lecture/criture par Apache ( utilisateur
www-data sous Debian Etch ).

Dans le cadre de cet article, les options par dfaut sont utilises.

- 14 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Installation - Configuration de la base de donnes

L'cran suivant est celui du choix de la base de donne : Mysql ou SQLite.

Dans cet article, partant du fait que MySql n'est pas forcment installe, c'est SQLite qui est choisi.

SQLite est un moteur SQL particulier. Contrairement des SGBD comme Mysql ou
Postgres, SQLite ne fonctionne pas sur un mode client/serveur.

Le moteur est directement intgr dans le programme qui l'utilise, et les donnes sont
stockes dans un fichier unique.

Il reste cependant trs performant mais n'est pas prvu pour permettre de nombreux accs
concurrents.

En contre partie, il ne ncessite aucune installation ni gestion des comptes utilisateurs.

Installation - Cration de l'administrateur

- 15 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Installation - Fin

L'installation est presque finie, il reste mettre le texte de configuration fourni dans le fichier de configuration de
Apache ( /etc/apache2/sites-available/defaut par exemple ).

La configuration d'Apache ayant t change, il est ncessaire de recharger celle-ci :

/etc/init.d/apache2 reload

Utilisation

Si tout va bien, lors de l'accs au site, l'cran suivant devrait apparaitre :

- 16 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Une fois authentifi, les projets sont affichs

L'ajout d'un projet se fait via l'onglet Administration :

Une fois l'ajout effectu, il est possible de voir un rsum des informations le concernant.

- 17 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Il est possible d'ajouter des utilisateurs via l'onglet Administration. Dans cet article deux utilisateurs sont ajouts :
hikage et anonyme.

Dans le cas de l'utilisateur hikage, celui-ci est ajout au groupe developpezcom.

- 18 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Remarquons que durant la cration de l'utilisateur anonyme, il est demand de crer un


groupe du mme nom que celui-ci.

Une fois les utilisateurs ajouts, il est possible de donner un accs au groupe anonyme pour le projet developpezcom :

Via l'cran de rsum d'un projet, il est possible de grer les droits d'accs celui-ci.

Pour cela, il faut entrer dans le navigateur de fichier.

Dans cet cran, le fait de cliquer sur Appliquer des droits sur / fait apparatre un popup permettant de spcifier les
accs par groupe.

De plus cet cran permet de naviguer dans les rpertoires, et de spcifier des droits individuels sur chaque
fichiers/rpertoires.

Une demonstration Flash plus complte de la gestion d'un projet avec USVN est disponible
ici

Il est intressant de savoir qu'il est possible de dlguer une partie de la gestion d'un projet un utilisateur.

Pour cela, dans l'cran de rsum du projet, il est ncessaire d'ajouter un utilisateur comme Administrateur.

- 19 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

Une fois qu'un utilisateur est ajout comme administrateur il peut :

Grer les administrateurs d'un projet


Grer les groupes d'un projet
Modifier les droits d'accs au projet

Cependant, il n'a pas le droit de crer/supprimer des utilisateurs, de crer/supprimer des groupes ou de
crer/supprimer des projets, cette responsabilit reste l'administrateur gnral.

- 20 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

IV - Conclusion

Remerciements

Je tiens remercier Etanne d'avoir pris le temps de corriger cet article, ainsi que gege2061 et l'quipe de USVN
pour l'aide prcieuse qu'ils ont apports.

Ressources

Voici quelques ressources pour Subversion :

Le site officiel de Subversion

Installation de Subversion sous Windows

F.A.Q. SCM

TortoiseSvn, un client Svn intgr Windows

SmartSVN, un client Subversion en Java

Le site officiel de USVN

- 21 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/
Installation de Subversion sous Debian par Gildas Cuisinier (Hikage) (Blog)

- 22 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://hikage.developpez.com/