





Je m'étais promis d'installer SVN sur mon serveur afin de me simplifier la vie de développeur et c'est enfin fait !
Finalement l'opération à été nettement plus simple que ce que j'avais imaginé, même si c'est toujours les petites touches finales qui sont pénibles... bref, je vais vous expliquer ici comment installer un serveur subversion, créer un dépôt (également appelé référentiel ou repository), le rendre accessible par le Web (via Apache2) et appliquer des règles d'accès.
Sommaire :
1. Subversion
a. Installation
b. Création d'un dépôt
2. Accès au dépôt via Apache2
a. Installation du module
b. Configuration d'Apache2
c. Droits Apache2
3. Sécurisation et règles d'accès
a. Sécuriser l'accès
b. Définir les permissions
4. Tests
a. Création des 3 branches de référence
b. Accès à ces branches via votre navigateur
(subversion-tools est un package supplémentaire d'outils pour l'administration et la maintenance de Subversion)
Maintenant que Subversion est installé, il toute de suite possible de créer son premier dépôt :
Afin de rendre accessible le dépôt créé (autrement qu'en local) nous allons installer le module WebDAV pour SVN pour Apache2. Ainsi, notre dépôt deviendra accessible depuis le Web via HTTP en passant par le protocole dav_svn.
Facile non ?! ^^
Le module est installé, passons maintenant à partie un peu plus délicate, la configuration d'Apache2.
Dans le cas présenté ici, j'ai modifié le fichier de configuration d'Apache2, à savoir apache2.conf auquel j'ai ajouté les lignes suivantes en fin de fichier :
Afin qu'Apache2 puissent accéder aux fichiers de votre dépôt, il est nécessaire de modifier les droits qui leurs sont appliqués :
On relance Apache2 pour valider notre configuration et on passe aux droits d'accès.
Afin de protéger l'accès au dépôt que nous avons créé, nous allons créé un fichier d'utilisateurs (chacun étant associé à un mot de passe haché).
Note : -cm : c = création, m = hachage MD5
Il est également conseillé de créer un accès anonyme pour la consultation des sources :
Ce fichier d'utilisateurs n'est intéressant qu'une fois combiné à un fichier de permissions (authz) afin de définir des règles simple sur qui peut faire quoi et où.
Exemple de règles appliqué à mon dépôt :
L'édition du fichier de permission s'effectue à la manière d'un fichier INI :
Encore une fois, rien de bien compliqué !
Afin de s'assurer que notre configuration est parfaitement opérationnelle, nous allons effectuer 2 tests rapide :
Tentez simplement de parcourir votre dépôt via votre navigateur préféré :
http://localhost/myrepository/svn
Voilà, vous êtes paré pour développer en toute tranquillité ! ^^
Dès que possible, je compléterais ce tutorial par un billet dédié à l'installation de Trac, à suivre ! ;-)