Subversion – configuration avec apache webdav

Si vous รชtes plus habituรฉ ร  apache qu’ร  subversion vous pouvez souhaitez configurer vos accรจs de maniรจre centralisรฉ en utilisant webdav. Un systรจme comme subversion permet une rรฉelle organisation de votre travail et permet aisรฉment d’รฉviter de supprimer bรชtement un travail de longue alรจne. Nous allons voir dans ce tutoriel comment en lien avec  jenkins :

  1. Installer subversion
  2. Crรฉer un dรฉpot svn
  3. Configurer webdav

Installation de subversion

On commence par se connecter au serveur en root ou utilisation admin appropriรฉ et on installe subversion

aptitude install subversion
mkdir /var/svn
ln -s /var/svn/ /svn
chown votreuser:www-data /svn -R
chmod ug rw /svn -R

Comme vous le constatez aprรจs installation nous ajoutons les droits aux diffรฉrents users/groupes afin de pouvoir crรฉer les repositorys nรฉcessaires.

Crรฉons notre premier dรฉpot de projet svn

Nous allons maintenant crรฉer notre projet en vรฉrifier les droits d’accรจs et faire notre premier import.

cd /svn
svnadmin create projetsvn
chown votreuser:www-data /svn -R
chmod ug rw /svn -R
svn import /dossier/de/mon/projet file:///svn/projet1svn -m "Import initial"

Configuration apache pour subversion avec webdav

Afin de centraliser la configuration nous allons regrouper nos configuration d’accรจs aux diffรฉrents repository. Mais tout d’abord installons webdav.

aptitude install libapache2-mod-dav libapache2-svn
a2enmod dav_svn
/etc/init.d/apache2 restart

Nous allons dรฉsormais crรฉer un emplacement pour le stockage de nos autorisations d’accรจs, qui pourra d’ailleurs รชtre utilisรฉ par d’autres programmes. La commande htpasswd va crรฉer le fichier ici .htpasswd avec le nom d’utilisateur user1, et vous demander de saisir le mot de passe de votre choix.

mkdir /home/access
mkdir /home/access/subversion
cd /home/access
htpasswd -c .htpasswd user1

Passons ร  la configuration d’accรจs via le fichier /home/access/subversion/gestion . Comme vous le constatez vous pouvez en adaptant le code dรฉfinir que certains utilisateurs ont accรจs uniquement en lecture ร  votre projet. Vous pouvez รฉgalement crรฉer des groupes supplรฉmentaires et d’autres projets.

[groups]
admins=user1,user2

[projet1svn:/]
@admins = rw

Il ne nous reste plus qu’ร  configurer notre module en รฉditant le fichier /etc/apache2/mods-available/dav_svn.conf ainsi:

 <Location /svn>
DAV svn
SVNParentPath /svn
Require valid-user
AuthType Basic
AuthName "Depot"
AuthUserFile /home/access/.htpasswd
AuthzSVNAccessFile /home/access/subversion/gestion
</Location>

Vous pouvez dรฉsormais redรฉmarrer apache :

/etc/init.d/apache2 restart

Et vous connecter ร  votre dรฉpot avec tortoise svn par exemple en utilisant l’url suivante:  http://nomdedomaine/svn/projet1svn Pensez รฉgalement ร  vรฉrifier dans votre phpinfo() que les extensions suivantes sont bien chargรฉes:

  • mod_dav
  • mod_dav_svn
  • mod_authz_svn

Profitez bien de votre nouvel environnement de dรฉveloppement !