Mise en place SVN et virtual hosts Apache

Dans le cadre de mes projets personnels ou professionnels, l’utilisation d’un système de contrôle de version pour mes développements s’impose, voici donc un petit résumé de la manipulation à effectuer pour installer Subversion en mode multi-projets et les rendrent accessible via HTTPS sur une Debian.

1. Installez les packages nécessaires.

On lance une console, on passe en root, on update nos sources et on télécharge les packages suivants :

apt-get update
apt-get install subversion subversion-tools libapache2-svn

2. Créer un répertoire pour le virtual host dédié à SVN.

Nous créons le répertoire dédié à l’hébergement de nos projets SVN et on règle les droits sur celui-ci de la manière suivante :

mkdir /home/svn
chmod 770 /home/svn

3. Mettre en place les référentiels.

Comme nous voulons une gestion multi-projets, il nous faut créer plusieurs projets pour l’exemple et affecter l’utilisateur et groupe Apache sur ceux-ci :

svnadmin create /home/svn/projet_1
svnadmin create /home/svn/projet_2
chown -R www-data:www-data /home/svn

4. Régler les autorisations d’accès aux référentiels.

Il nous faut créer un fichier qui va définir les autorisations d’accès à nos référentiels en mode lecture et écriture, la manière de procéder est décrite ici.

vim /home/svn/.authz

5. Créer un répertoire pour les logs.

On crée un répertoire pour stocker les logs d’accès et d’erreurs de notre virtual host :

mkdir /home/svn/logs

6. Configuration du virtual host.

vim /etc/apache2/sites-available/svn.exemple.com

Notre virtual host est en mode HTTPS mais vous êtes libre de le faire en port 80, à noter que nous mettons en place l’authentification Apache.

<VirtualHost [IP address]:443>
  ServerName svn.example.com

  <Location />
    DAV svn
    SVNParentPath /home/svn
    AuthzSVNAccessFile /home/svn/.authz

    AuthType Basic
    AuthName "Dépots Subversion"
    AuthUserFile /home/svn/.passwd
    Require valid-user
  </Location>

  CustomLog /home/svn/logs/access.log combined
  ErrorLog /home/svn/logs/error.log

  SSLEngine on
  SSLCertificateFile /etc/ssl/server.pem
  SSLCertificateKeyFile /etc/ssl/server.key

</VirtualHost>

<VirtualHost [IP address]:80>
  ServerName svn.example.com
  Redirect / https://svn.example.com/
</VirtualHost>

7. On enclenche le virtual host pour Apache.

a2ensite svn.example.com

8. On crée notre couple user/login pour l’authenfication Apache.

touch /home/svn/.passwd
htpasswd -m /home/svn/.passwd username

9. On relance notre serveur Apache.

/etc/init.d/apache2 restart

Et voilà nous avons un dépôt Subversion multi-projets prêt à recevoir nos développements, il nous reste à choisir un client SVN pour se connecter :

Il ne me reste plus qu’à vous préparer un article sur l’installation de trac, une application web qui s’appuie sur SVN pour de la gestion de projets, en attendant je vais faire dodo …

Un commentaire pour “Mise en place SVN et virtual hosts Apache”

  1. blog.utopiaz.org | Installation de Trac sur une Debian dit :

    [...] faire suite à mon article sur l’installation de Subsversion et un besoin rapide d’un gestionnaire de projets, voici un rapide descriptif de [...]

Ajouter un commentaire