K

- Base de connaissances

Accueil > Projets Open Source > SubVersioN > Installation de SubVersioN

Installation de SubVersioN

mardi 16 septembre 2014, par webmestre

Lire aussi :

L’objectif de cet article est de présenter une méthode d’installation d’un serveur WEB SubVersioN. Ce serveur offrira ainsi la possibiltié de gérer ces codes sources à distance au travers du protocole HTTP/HTTPS.

Installation des paquets

Sous Linux, nous allons installer le serveur WEB Apache2, le module SVN d’Apache2 permettant de SVN via Apache2 et SubVersioN :

apt-get install apache2 subversion libapache2-svn apache2-utils

Une fois fait, on active le module SVN pour Apache2, via les commandes :

a2enmod dav_svn

NB : cette commande créé un lien symbolique de /etc/apache2/mods_available/dav_svn vers /etc/apache2/mods_enabled/dav_svn.

Création de notre premier dépôt dépôt

Maintenant que le socle est posé, nous allons créer les répertoires qui vont bien pour stocker nos dépôts.
Pour ce faire, nous avons décidé de stocker les dépôts des codes sources dans le répertoire /var/svn, et dans ce répertoire nous y stockerons tous les dépôts gérés par SubVersioN et le premier que nous allons créer est mon_premier_projet, d’où les commandes :

mkdir /var/svn
svnadmin create /var/svn/mon_premier_projet

Une fois fait, n’oublions de donner les bons droits à l’utilisateur et groupe d’Apache2 pour qu’il puisse effectuer les opérations d’écriture et lecture sur les dépôts SVN :

chown -R www-data:www-data /var/svn

Declaration du dépôt pour être accessible via Apache2

Le module dav_svn a été activé précédemment, pour ce ce module, il y a un fichier de paramétrage dav_svn.conf dans le répertoire /etc/apache2/mods_available permettant de paramétrer l’accès à un dépôt SVN. Ce que nous allons faire, c’est donc d’éditer ce fichier et de rendre accessible le dépôt créé précédemment avec comme contrainte un accès sécurisé par mot de passe pour un utilisateur donné. d’où :

<Location /mon_premier_projet>
        DAV svn
        SVNPath /var/svn/mon_premier_projet
        AuthType Basic
        AuthName "DEPOT SVN mon_premier_projet"
        AuthUserFile /etc/apache2/dav_svn.passwd
        AuthzSVNAccessFile /etc/apache2/dav_svn.authz
        Require valid-user
</Location>

Dans ce fichier de paramétrage, nous constatons dans la section paramétrant l’authentification qu’il est fait référence à deux fichiers :

  • /etc/apache2/dav_svn.passwd => Ce fichier contient les utilisateurs et leur mot de passe
  • /etc/apache2/dav_svn.authz => Ce fichier définit les droits d’accès des utilisateurs au dépôt

Définition des mots des utilisateurs et des mots de passe : dav_svn.passwd

Pour créer le fichier, il suffit d’exécuter la commande suivante :

htpasswd2 -c /etc/apache2/dav_svn.passwd utilisateur1

Pour le modifier, ou ajouter un utilisateur :

htpasswd2 /etc/apache2/dav_svn.passwd utilisateur2

Définition des droits d’accès des utilisateurs au dépôt : dav_svn.authz

Ce fichier définit les droits d’accès des utilisateurs sur le dépôt (accès lecture et/ou écriture), tel que :

[groups]
dev=utilisateur1
oth=utilisateur2
[/]
@dev=rw
@oth=r

Erreur possible

Manque le module authz_svn
Après le paramétrage de l’authentification de SubVersioN, et le redémarrage d’Apache2, si vous rencontrez le message d’erreur suivant :

Invalid command ’AuthzSVNAccessFile’, perhaps misspelled or defined by a module not included in the server configuration
Action ’configtest’ failed.

C’est le module authz_svn qui doit-être activé :

a2enmod authz_svn

Répondre à cet article

Plan du site | Suivre la vie du site RSS 2.0 | powered by NYSTEK-EDITIONS and NYSTEK-CONSULTING