Subversion
Installation de Subversion sur Gentoo
Il suffit d'installer le package dev-util/subversion
Configuration d'un repository
- Créer une structure de répertoire vide dans /var/svn/repos
- S'assurer que le user apache appartienne au nouveau groupe svnusers nouvellement créé
- Refléter ces droits et localisation dans le fichier /etc/conf.d/svnserve:
# Options for svnserve SVNSERVE_OPTS="--root=/var/svn/repos"
# User and group as which to run svnserve SVNSERVE_USER="apache" SVNSERVE_GROUP="svnusers"
- Les commandes suivantes peuvent être utilisées dans un script pour créer un nouveau repository:
svnadmin create "/var/svn/repos/$1" chown -R apache:svnusers "/var/svn/repos/$1" chmod -R g-w "/var/svn/repos/$1" chmod -R g+w "/var/svn/repos/$1/db" chmod -R g+w "/var/svn/repos/$1/locks"
- Editer les fichiers de configuration dans /var/svn/repos/<repository>/conf tel que:
- authz contienne les lignes suivantes:
[/] username = rw
- passwd contienne des lignes telles que:
username = password
- svnserve.conf contienne les lignes suivantes:
[general] anon-access = none auth-access = write password-db = passwd authz-db = authz
- Les fichiers de configuration dans /var/svn/conf devraient être configurés de même
Service SVN
Il est possible de configurer le service subversion comme un service de démarrage (via rc-update) ou comme un service listener (via xinetd.d). Je recommande l'option service de démarrage
- Tester le lancement du service avec
/etc/init.d/svnserve start
- Puis le configurer en tant que service définitif avec
rc-update add svnserve default
Eventuellement, ajouter svnserve au monitoring de monit en créant le fichier /etc/monit.d/svnserve:
check process svnserve with pidfile /var/run/svnserve.pid start program = "/etc/init.d/svnserve zap start" stop program = "/etc/init.d/svnserve stop" if totalmem > 20.0 MB for 5 cycles then restart if children > 3 then alert if children > 5 then restart if 3 restarts within 5 cycles then timeout
Connexion au repository subversion
La connexion au serveur est désormais possible via
svn://server/<repository>