[ SVN ] Installer SVN sur Virtualmin

J’ai mis en place un SVN sur mon serveur équipé de Virtualmin. C’est finalement assez simple lorsqu’on arrive à passer toutes les embûches. Voici donc la procédure qui s’inspire du HOW-TO officiel mais qui ajoute quelques réponses aux problèmes que j’ai rencontré.

On part en supposant que Virtualmin fonctionne et que vous avez des sites enregistrés. Le serveur tourne avec Debian, ça a peu d’importance sauf pour l’installation du paquet.

Pour commencer il faut aller dans Virtualmin -> « System Settings » -> « Features and Plugins » et cocher « Subversion repositories ». Si vous ne le trouvez pas il faut installer le paquet webmin-virtualmin-svn sur le serveur via SSH.

# apt-get install webmin-virtualmin-svn

En cas de problème lors de l’installation essayez de faire :

# apt-get install subversion
# apt-get install webmin-virtualmin-svn

Une fois l’installation faites, on retourne dans Virtualmin -> « System Settings » -> « Features and Plugins » et cocher « Subversion repositories ». Là les problèmes peuvent arriver. Il manque 127.0.0.1 dans les serveurs DNS, ou il faut que root soit propriétaire et groupe de « /usr/bin/procmail ». Pour cela la commande est :

# chown root:root /usr/bin/procmail

S’il y a encore une erreur de droit « The procmail command /usr/bin/procmail has 100755 permissions, when it should be setuid and setgid to root », il faut utiliser la commande

# chmod 6755 /usr/bin/procmail

Pour activer Subversion pour un domaine, il faut aller dans le domaine voulu puis cliquer sur « Edit Virtual Server »/ »Editer un serveur ». Puis dans la section « Enabled features » cocher sur « Subversion repositories ».
Une fois fait, vérifiez si http://www.ledomaine.tld/svn est joignable. Si c’est le cas, c’est bon, sinon il faut redémarrer le serveur Apache, mais attention il peut rester bloquer avec l’erreur :

Syntax error on line 52 of /etc/apache2/sites-enabled/ledomaine.tld.conf:
Invalid command ‘AuthzSVNAccessFile’, perhaps misspelled or defined by a module not included in the server configuration
Action ‘configtest’ failed.
The Apache error log may have more information.
failed!

Pour corriger le problème il faut activer le module Apache.

# a2enmod authz_svn

Et redémarrer Apache

# /etc/init.d/apache2 restart

Pour moi ça a fonctionné. http://www.ledomaine.tld/svn est devenu joignable.

Maintenant pour créer un repo il faut aller dans le domaine voulu puis cliquer sur « Services » puis sur « Subversion Repositories ». Il est fort probable que ça n’apparaisse pas. Il faut se reconnecter à Virtualmin avec le nom d’utilisateur du domaine !

Et là ça marche !