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)
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
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.
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