UbuntuTrustyServer:Subversion

De Wiki Fred
Aller à : navigation, rechercher
Subversion


Installation


  • sudo apt-get install subversion
    
  • Création d'un répertoire de base pour les dépôts
sudo mkdir /var/svn
  • Démarrer le serveur
sudo svnserve -d -r /var/svn


Automatisation du démarrage du serveur


  • Ajouter un groupe svn
sudo addgroup svn --system
  • Ajouter un utilisateur svn
sudo adduser svn --system --home /var/svn --no-create-home --ingroup svn
  • Changer les droits de /var/svn
sudo chown -R svn: /var/svn
  • Créer le script de démarrage /etc/init.d/svnserve
#!/bin/sh
 
set -e
if [ -x /usr/bin/svnserve ] ; then
    HAVE_SVNSERVE=1
else
    echo "Svnserve not installed."
    exit 0
fi
 
. /lib/lsb/init-functions
 
case "$1" in
    start)
        log_action_begin_msg "Starting SVN server"
        /sbin/start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/svn
        log_action_end_msg $?
        ;;
    stop)
        log_action_begin_msg "Stopping SVN server"
        /sbin/start-stop-daemon --stop --exec /usr/bin/svnserve
        log_action_end_msg $?
        ;;
    force-reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
        exit 1
        ;;
esac
 
exit 0
  • Rendre le script exécutable
sudo chmod +x /etc/init.d/svnserve
  • Ajouter le script à la liste des scripts exécutés au démarrage de la machine
sudo update-rc.d svnserve defaults
Le serveur peut également être démarré, arrêté et redémarré manuellement avec
sudo service svnserve start
sudo service svnserve stop
sudo service svnserve restart
 


Création et configuration d'un dépôt


  • Créer un dépôt myrepository
sudo -u svn svnadmin create /var/svn/myrepository


Le dépôt myrepository est maintenant accessible via

  • l'url locale file:///var/svn/myrepository
  • l'url distante svn://ip_du_serveurm/myrepository

Les fichiers de configuration de dépôts se trouvent dans /var/svn/myrepository/conf

  • authz
  • passwd
  • svnserve.conf

Toutes les lignes de ces fichiers sont commentées et ne servent donc que de documentation. Il est tout à fait possible, et même préférable, d'en effacer l'entièreté du contenu et de le remplacer uniquement par les lignes réellement utilisées. Par défaut, les utilisateurs anonymes ont uniquement un droit de lecture, et les utilisateurs authentifiés un droit de lecture/écriture.


  • Créer un utilisateur myuser
  • Editer le fichier svnserve.conf
  • Dé-commenter les lignes anon-access, auth-access et password-db
  • Dé-commenter la ligne realm et y indiquer un nom. C'est ce nom qui apparaîtra dans le demande de connexion et peut donc être totalement différent du nom du dépôt.
  • En simplifiant son contenu, le fichier svnserve.conf contient maintenant
[general]
realm       = myrepository
anon-access = none
auth-access = write
password-db = passwd
  • Editer le fichier passwd
  • Ajouter une ligne nom_utilisateur = mot_de_passe
  • En simplifiant son contenu, le fichier passwd contient maintenant
[users]
myuser = mypassword
Ne pas mettre d'espace en début de ligne