Lors de ce tutoriel, nous allons voir comment installer Subversion (svn) afin de faire du travail collaboratif sur des projets.
1) Installation de Subversion.
Comme d'habitude l'installation en elle même est assez simple:
$ sudo apt-get install subversion
Bon ça c'est fait

2) Préparation de la partie serveur.
Nous allons partir sur le cas ou notre dépôt SVN va se trouve dans /var/svn.
Nous allons donc créer le répertoire accueillant les dépôts:
$ sudo mkdir /var/svn
Nous allons maintenant faire un peu de configuration au niveau du démarrage et du serveur SVN.
Afin de ne pas avoir à la lancer chaque fois à la main en cas de redémarrage, on va créer un script qui le lancera automatiquement, et qui permettra aussi de le redémarrer ou de l'arrêter si besoin est.
Pour cela, rendons nous dans le répertoire init.d.
$ cd /etc/init.d
Maintenant on va créer un script pour le serveur SVN, que nous appellerons svnserve
$ sudo vim svnserve
Puis vous collez ce code à l'intérieur:
- Code: Tout sélectionner
#!/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 --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
Une fois cela fait, vous enregistrez votre script. Nous allons le rendre exécutable avec la commande suivante:
$ sudo chmod +x /etc/init.d/svnserve
Et enfin, nous disons au serveur que dans les fichiers de démarrage par défaut, il faut qu'il lance le script pour démarrer notre serveur SVN en tapant:
$ sudo update-rc.d svnserve defaults
Nous allons ensuite démarrer notre serveur SVN:
$ sudo svnserve -d -r /var/svn
Maintenant nous allons créer notre premier dépôt. Pour les besoins du tutoriel, nous l'appellerons projet.
Pour cela il existe pour cela une commande qui s'appelle svnadmin. Nous faisons donc:
$ sudo svnadmin create /var/svn/projet
Voilà vous venez de créer votre premier dépôt.
Dernière étape, mais nous allons interdire l’accès au dépôt à toutes personnes non autorisé. Cette manipulation du fichier de conf sera reprise un peu plus tard, mais dans tous les cas, c'est à mon avis un minimum, donc on va le faire maintenant pour en pas avoir de problème par la suite.
Je ne rentre pas dans les détails pour le moment, je vous indique juste ce qu'il faut faire, on reviendra plus tard sur ce fichier de conf.
Éditez le fichier de configuration de votre projet:
$ sudo vim /var/svn/projet/conf/svnserve.conf
Cherchez ce bout de code au début:
- Code: Tout sélectionner
# anon-access = read
et remplacez par:
- Code: Tout sélectionner
anon-access = none

On redémarre le serveur SVN et on va utiliser le script que nous avons fait au début en tapant:
$ sudo /etc/init.d/svnserve restart
Voilà pour les étapes basiques mais essentielles.
3) Les différents types d'authentification..
Bon nous avons un dépôt de créé, une configuration de base, il va falloir maintenant aller chercher ce dépôt pour pouvoir travailler dessus.
Pour cela il existe plusieurs moyen de se connecter:
- - Avec l'authentification de base, via SVN
- En utilisant HTTP
- En utilisant HTTPS
- En utilisant une connexion Sécurisé SVN+SSH
Je vais donc détailler chaque moyen dans les sujets en dessous. Il vous suffit de cliquer sur le moyen qui vous intéresse pour lire le sujet.