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 :
- TortoiseSVN (standalone windows)
- Subclipse (plugin eclipse donc multi-plateforme)
- eSvn (standalone multi-plateforme)
- Metissian (standalone mac os X)
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 …
24 mai 2008 à 18:44
[...] faire suite à mon article sur l’installation de Subsversion et un besoin rapide d’un gestionnaire de projets, voici un rapide descriptif de [...]