Pages

samedi 11 avril 2009

Installation du serveur Subversion sous Ubuntu

Installation de svn server sous Ubuntu

Pour installer SVN server avec la méthode d'accès simple (sans Apache
).

Installer le package Subversion
  • sudo -s
  • apt-get install subversion
Créer un repository
  • mkdir /var/svn
  • créer un repository : svnadmin create /var/svn/myrepo

Configurer un utilisateur :
  • cd /var/svn/myrepo/conf
  • vi snvserve.conf - enlever les commentaires de la ligne password-db=passwd
  • vi passwd - ajouter une ligne myname = mypasswd
Lancer le serveur :
  • svnserve -d -r /var/svn/

Utilisation

Checkout :
svn co svn://myhost/myrepo myrepo --username myname
cd myrepo

Ajout d'un fichier
svn add afile.txt
...

Utilitaires graphiques (alternative au controle via la ligne de commande) :
- rapidsvn
- meld (diff tool)


Lancement automatique du serveur

voir http://doc.ubuntu-fr.org/subversion#creer_un_depot_svn

Créer un utilisateur svn :

sudo -s
addgroup svn --system
adduser svn --system --home /var/svn --no-create-home --ingroup svn

Changer le propriétaire de /var/svn
chown -R svn: /var/svn

Créer un script de lancement

cat > /etc/init.d/svnserve (puis copier/coller du script et ctrl D)

#!/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"
        start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/svn
 log_action_end_msg $?
        ;;
  stop)
 log_action_begin_msg "Stoping SVN server"
        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

Activer les droits d'exécution :
chmod +x /etc/init.d/svnserve

Activer le lancement automatique au démarrage
update-rc.d svnserve defaults