«

»

Jan 01 2012

[Tuto]Mise en place d’un serveur de Subversion (SVN) sous Debian 6 avec Authentification LDAP (Active Directory)

Pour ce premier tutoriel de l’année 2012, nous allons voir comment mettre en place un serveur de subversion sous debian 6 avec ou sans authentification Active Directory.

Sur un serveur Debian fraîchement installé faites:

apt-get update
apt-get install subversion subversion-tools

Si vous voulez utiliser une authentification Active Directory, installez aussi les paquets libapache2-svn et apache2-mpm-worker:

apt-get install libapache2-svn apache2-mpm-worker

Création d’un repository

Nous allons commencer par créer le dossier ou seront stockés nos dépôts de supervisions:

Dans cet exemple je vais mettre ce dépôt à la racine de mon disque dur:

cd /
mkdir subversion

Puis nous allons créer notre premier dépot SVN:

svnadmin create subversion/depot1

Voila notre premier dépôt est créer nous allons pouvoir maintenant configurer l’authentification:

Authentification sans active directory

Nous allons d’abord voir comment créer des comptes locaux pour le SVN, pour cela il faut éditer les fichiers de configurations des utilisateurs de notre dépôt:

cd subversion/depot1/conf/

Puis nous allons commencer par éditer le fichier svnserve.conf

vim svnserve.conf

Reperez ces trois lignes:

# anon-access = read
# auth-access = write
# password-db = passwd

Decommentez les et changez les comme ceci:

anon-access = none
auth-access = write
password-db = passwd

Puis en fois cella fait nous allons créer nos utilisateurs pour svn:
Editez le fichier passwd:

vim passwd

La création des utilisateurs ce fait de la façon suivante:

[users]
login = motdepasse

Nous allons créer un utilisateur « test » avec le mot de passe « test »:
Voila ce à quoi devrais ressembler le fichier passwd:

[users]
test = test

Enregistrez et quittez.

Nous pouvons maintenant lancer le serveur SVN via la commande suivante:

svnserve -d -r /subversion

Le paramètre -d contraint de lancer le serveur en daemon, le paramètre -r /subversion indique la racine des dépôts.

Vous pouvez maintenant accéder a votre dépot via votre client SVN préféré en à l’adresse:

svn://ip-de-vitre-serveur-svn/depot1

avec les identifiants que nous avons mis dans le fichier passwd.

Authentification Active directory

Pour utiliser un serveur Active Directory pour permettre l’authentifiaction nous allons configurer un virtualhost dans Apache qui va être utiliser pour authentifier nos utilisateurs:
Si vous ne l’avez pas fait installez les deux paquets suivants:

apt-get install libapache2-svn apache2-mpm-worker

Puis dans Apache nous allons créer notre virtualhost:

vim /etc/apache2/sites-available/svn

Nous allons utiliser le port par défaut d’Apache (port 80)

Donc remplissez le fichier que nous venons de créer comme ceci:

<VirtualHost *:80>

#Config generale du Vhost
    ServerAdmin webmaster@example.org

    # Droits d'acces au repertoire

        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all

    #Acces URL

        DAV svn
        SVNParentPath /subversion

        #LDAP authentication
        AuthBasicProvider ldap
        AuthType Basic
        AuthzLDAPAuthoritative on
        AuthLDAPBindDN user@domain.lan #Un utilisateur capable de se connecter à l'AD)
        AuthLDAPBindPassword mdp #Mot de passe de cet utilisateur

        AuthName "Connection au dépôt de versionnage"

        AuthLDAPURL "ldap://ip_de_votre_ad:389/CN=Users,DC=domain,DC=lan?sAMAccountName?sub?(objectClass=*)"
        Require valid-user
		ErrorDocument 404 default

    ErrorLog /var/log/apache2/svn_error.log
    CustomLog /var/log/apache2/svn_access.log combined
</VirtualHost>

Enregistrez le fichier.

Nous allons maintenant activer les mods d’Apaches néccéssaires à l’authentification LDAP:

a2enmod dav_svn
a2enmod authnz_ldap
#Ne pas oublier de redémarrer Apache.
/etc/init.d/apache2 restart

Et enfin nous allons activer notre VirtualHost:

#Desactivation du VirtualHost par défaut:
a2dissite default
#On active le nouveau
a2ensite svn
#On relance encore une fois apache
/etc/init.d/apache2 restart

Et on finis par accorder les droits à l’utilisateur Apache d’accéder à notre dépôt de subversion:

chown -R www-data:www-data /subversion

Vous pouvez maintenant vérifier que l’authentification Active Directory fonctionne en vous connectant via votre navigateur internet à l’adresse suivante:

http://ip_de_votre_serveur_svn/depot1

Une fenêtre apparait vous demandant vos identifiants Active Directory, entez-les et vous devriez voir s’afficher le contenu de votre dépôt de versionnage.

Vous pouvez utiliser cette adresse pour vous connecter au dépôt avec votre client SVN.

(3 commentaires)

  1. Minus

    Bonjour

    j’ai suivi votre tuto à la lettre pour installer subversion sur jessie via une authentification AD et ça ne fonctionne pas j’ai le message

    svn info http://subversion.xxx.lan
    svn: E175002: Unable to connect to a repository at URL ‘http://subversion.xxx.lan’
    svn: E175002: Unexpected HTTP status 500 ‘Internal Server Error’ on ‘/’
    svn: E175002: Additional errors:
    svn: E175002: Échec de la requête OPTIONS sur ‘/’ : 500 Internal Server Error

    si vous avez une idée sur le probleme, merci pour votre aide

  2. omar

    Bonjour,
    les instructions que vous avez cité ici sont sous unix, j’ai besoin, si vous avez, d’un tuto pour l’authentification svn via LDAP sous windows.
    Merci,
    Cordialement.

  3. Roms

    Bonjour,

    j’ai bien suivi les instructions et je parviens depuis le bureau à commiter / updater / etc. des fichiers vers le dépot. Merci

    Sur ma machine par contre, je ne comprends pas où se situe le fichier ainsi commité ? je ne vois pas comment faire pour synchroniser ça avec mon répertoire web…

    Merci d’avance pour votre aide,

    Roms

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire les articles précédents :
ICS
Test d’Android 4.0 Ice Cream Sandwich

Test d' Android 4.0 (Ice Cream Sandwich) sur Samsung Vibrant ( version du Galaxy S vendu aux Etats-unis)

Fermer