Installer Subversion avec Web Access sur Ubuntu
Cet article traite de l’installation de subversion avec le module apache afin de faciliter son accès à partir d’autres systèmes situés sur un réseau public. Si vous voulez un serveur svn plus sécurisé, vous pouvez utiliser svnserve + ssh, ce qui n’est pas traité dans cet article..
Pour installer subversion, ouvrez un terminal et exécutez la commande suivante:
sudo apt-get install subversion libapache2-svn
Nous allons créer le référentiel de subversion dans / svn, bien que vous deviez choisir un emplacement disposant d'une bonne quantité d'espace..
sudo svnadmin create / svn
Nous devrons ensuite éditer le fichier de configuration du module webdav de subversion. Vous pouvez utiliser un éditeur différent si vous le souhaitez.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
L'élément Location dans le fichier de configuration dicte le répertoire racine où la sous-version sera accessible, par exemple: http://www.server.com/svn
La ligne DAV doit être décommentée pour activer le module dav
# Décommenter ceci pour activer le référentiel,
DAV svn
La ligne SVNPath doit être définie au même endroit que vous avez créé le référentiel avec la commande svnadmin.
# Définissez ceci sur le chemin de votre référentiel
SVNPath / svn
La section suivante vous permettra d'activer l'authentification. Ceci est juste une authentification de base, alors ne le considérez pas comme extrêmement sécurisé. Le fichier de mot de passe sera situé là où le paramètre AuthUserFile le définit comme… probablement préférable de le laisser à la valeur par défaut.
# Décommentez les 3 lignes suivantes pour activer l'authentification de base
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Pour créer un utilisateur sur le référentiel utilisé, utilisez la commande suivante:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
Notez que vous ne devez utiliser l'option -c que la PREMIÈRE fois que vous créez un utilisateur. Après cela, vous ne voudrez plus utiliser que l'option -m, qui spécifie le cryptage MD5 du mot de passe, mais ne recrée pas le fichier..
Exemple:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Nouveau mot de passe:
Re-taper le nouveau mot de passe:
Ajouter un mot de passe pour l'utilisateur geek
Redémarrez apache en lançant la commande suivante:
sudo /etc/init.d/apache2 restart
Maintenant, si vous allez dans http://www.server.com/svn dans votre navigateur, vous devriez voir que le référentiel est activé pour un accès en lecture anonyme, mais que l'accès en mode commit nécessite un nom d'utilisateur..
Si vous voulez forcer tous les utilisateurs à s'authentifier même pour un accès en lecture, ajoutez la ligne suivante juste en dessous de la ligne AuthUserFile en haut. Redémarrez Apache après avoir changé cette ligne.
Exiger un utilisateur valide
Maintenant, si vous actualisez votre navigateur, vos informations d'identification vous seront demandées:
Vous avez maintenant un serveur de subversion qui fonctionne!