Serveur Subversion · 4 min read · Jan 01, 2026
Le Serveur Subversion Parfait - Debian Lenny [ISPConfig3]
Le Serveur Subversion Parfait - Debian Lenny [ISPConfig3]
Subversion est un système de contrôle de version libre et open-source. C’est-à-dire que Subversion gère les fichiers et les répertoires, ainsi que les modifications apportées au fil du temps. Cela vous permet de récupérer des versions antérieures de vos données ou d’examiner l’historique des modifications de vos données. À cet égard, beaucoup de gens considèrent un système de contrôle de version comme une sorte de “machine à remonter le temps”. Ce guide vous aidera à configurer le système subversion et à l’intégrer à votre installation ISPConfig3 existante, vous permettant de contrôler l’utilisation du disque, le quota et d’autres facteurs de manière très familière. Peut-être qu’un jour, quelqu’un pourra utiliser ce processus pour créer un plug-in pour ISPConfig3 qui fera tout cela automatiquement.
Exigences
Évidemment, ce guide nécessite que vous ayez déjà configuré et exécuté ISPConfig3. Les étapes décrites ci-dessous peuvent également fonctionner avec ISPConfig2, mais cela n’a pas été testé et ne sera pas supporté. Si vous ne l’avez pas déjà fait, suivez le guide de falko sur Le Serveur Parfait - Debian Lenny [ISPConfig3] avant de continuer.
Pour permettre à un seul site web d’avoir plusieurs dépôts, nous allons tout mettre sous un dossier ‘svn’, et finalement le chemin public vers votre dépôt ressemblera à quelque chose comme http://example.com/svn/myrepo. Mais avant de pouvoir commencer, vous devez créer le site pour ‘example.com’. La création du site et la définition des options de quota ne relèvent pas de ce guide, mais c’est assez simple si vous ne l’avez jamais fait auparavant.
Installer Subversion
L’installation de Subversion et des modules Apache requis est assez simple (exécutez en tant que root ou utilisez sudo) :
apt-get install subversion libapache2-svnCréer un Dépôt
Par défaut, ISPConfig stocke les sites dans /var/clients/clientx/weby/, vous devrez savoir quel ID client (x) et ID site (y) correspondent au site sur lequel vous souhaitez configurer le dépôt. Si vous avez apporté des modifications aux chemins par défaut, vous devrez modifier les commandes ci-dessous pour correspondre à votre structure de répertoire. Commencez par créer le répertoire svn (vous n’avez besoin de le faire qu’une seule fois pour chaque site) :
mkdir /var/clients/clientx/weby/svnEnsuite, vous devrez créer le dépôt et corriger les permissions sur tout (important pour les vérifications de quota).
svnadmin create /var/clients/clientx/weby/svn/myrepo
chown -R weby:clientx /var/clients/clientx/weby/svn
chmod -R 770 /var/clients/clientx/weby/svnPartager et Sécuriser le Dépôt
Nous allons utiliser Apache pour partager et sécuriser l’accès à notre dépôt et bien que les étapes de partage soient toujours les mêmes, nous avons trois options pour sécuriser le dépôt.
- Dépôt Public - Un dépôt public signifie que tout utilisateur peut télécharger et parcourir (checkout) et télécharger (commit) des fichiers à tout moment sans restriction. Ce n’est généralement pas une méthode recommandée pour déployer un dépôt car cela peut conduire à du vandalisme de votre code.
- Dépôt Partagé - Un dépôt ‘partagé’ signifie que quiconque peut télécharger et parcourir (checkout) le code, mais seuls les utilisateurs autorisés peuvent faire des commits dans le dépôt. C’est la méthode la plus courante pour sécuriser un dépôt, similaire à la façon dont des sites comme Sourceforge et Google Code partagent des données.
- Dépôt Privé - Un dépôt privé signifie que toute action contre le dépôt nécessite un utilisateur authentifié et est utile lorsque le code n’est pas destiné à être partagé ou Open Source.
En supposant que vous choisissiez un dépôt partagé ou privé, vous devrez créer le fichier de mots de passe qui stocke les noms d’utilisateur et les mots de passe des utilisateurs ‘autorisés’ (pour ajouter des utilisateurs supplémentaires, omettez l’option ‘-c’ de la commande).
htpasswd -c /var/clients/clientx/weby/svn/myrepo.passwd [username1] <-- vous serez invité à entrer un mot de passe pour username1Enfin, vous devez ajouter la directive appropriée pour dire à Apache quoi faire lorsqu’un utilisateur demande http://example.com/svn/myrepo. En fonction de la méthode de sécurité que vous souhaitez utiliser, copiez la directive appropriée ci-dessous et collez-la dans la boîte ‘Directives Apache’, dans l’onglet ‘Options’ de votre site dans ISPConfig (n’oubliez pas de corriger les répertoires avec les valeurs appropriées x et y).
Dépôt Public
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
Dépôt Partagé
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
AuthType Basic
AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd
Require valid-user
Dépôt Privé
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
AuthType Basic
AuthName "Indemnity83 Scripts"
AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd
Require valid-user
Il peut falloir une minute pour que le site commence à fonctionner une fois que vous avez effectué les modifications, mais à ce stade, vous devriez avoir un dépôt Subversion fonctionnel et sécurisé. Si vous souhaitez en ajouter d’autres, il suffit de répéter tout en commençant par ‘Créer un Dépôt’
Remerciements
J’espère que vous trouverez ce guide utile. N’hésitez pas à ajouter des commentaires ou des corrections.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.