Nous contacter

Subversion - configuration avec apache webdav

PARLER DE MON PROJET

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 !

Livre

Découvrez les best practices en SEO

Téléchargez notre livre blanc SEO !