Installation de subversion
# apt-get install subversion subversion-tools
Accès distant au dépot via svnserve
svnserve est un serveur inclut dans subversion. Aucun paquet supplémentaire n'est necessaire.
Ajout d'un utilisateur svn
pour lancer svnserve
# adduser svn --system
Les dépôts seront stockés dans le dossier /home/svn/
.
Pour permettre l'accès au dépôt il faut démarrer le serveur svnserve. Pour cela
le petit script svn
suivant placé dans /etc/init.d
va permettre de le
démarer comme n'importe quel autre serveur.
1 #!/bin/sh
2 # /etc/init.d/svn: set up the svnserve server
3 ### BEGIN INIT INFO
4 # Provides: svn
5 # Required-Start: $local_fs
6 # Required-Stop: $local_fs
7 # Should-Start: $named
8 # Should-Stop: $named
9 # Default-Start: S
10 # Default-Stop:
11 ### END INIT INFO
12
13 set -e
14
15 PATH=/bin:/usr/bin:/sbin:/usr/sbin
16 SOCKET_DIR=/tmp/.X11-unix
17 ICE_DIR=/tmp/.ICE-unix
18
19 . /lib/lsb/init-functions
20 . /etc/default/rcS
21
22 case "$1" in
23 start)
24 log_daemon_msg "Starting svnserve daemon" "svnserve"
25 start-stop-daemon --start --quiet --background --pidfile /var/run/svnserve.pid --make-pidfile --exec \
26 /usr/bin/svnserve -c svn:svn -- -d --listen-port 3690 -r /home/svn
27 log_end_msg $?
28 ;;
29 stop)
30 log_daemon_msg "Stopping svnserve daemon" "svnserve"
31 killall svnserve
32 log_end_msg $?
33 rm -f /var/run/svnserve.pid
34 ;;
35
36 *)
37 echo "Usage: /etc/init.d/rsync {start|stop}"
38 exit 1
39 ;;
40 esac
41 exit 0
Pour arrêter le serveur la commande start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/svnserve.pid
aurait du suffir, cependant il y a une petite erreur lors de la création du fichier pid de l'application ce qui ne permet pas d'arrêter svnserve.
Le fichier /etc/init.d/svn
doit être executable.
# chmod +x /etc/init.d/svn
Pour démarer svnserve:
# service svn start
Ajout d'un dépôt
La commande svnadmin
permet d'administrer les dépôts subversion.
# cd /home/svn
# svnadmin create nouveau_depot
# chown -R svn:svn nouveau_depot
Configuration du dépôt pour svnserve
Le fichier /home/svn/nouveau_depot/conf/svnserve.conf
permet de
configurer les options d'accès du dépôts via SVNserve.
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = Mon dépôt SVN
Les autorisation de lecture/écriture sur le dépôt sont définies via les
variables anon-access
pour les utilisateurs non authentifiés et
auth-access
pour les utilisateurs authentifiés. Trois valeurs peuvent
être utilisées:
none
: aucun accès .read
: accès en lecture seulewrite
: accès en lecture/écriture
L'option realm
permet de spécifier un nom pour le dépôt et l'option
password-db
de spécifier où seront stockées les logins et mots de passe
des utilisateurs.
Le fichier password
ressemble à ceci:
[users]
login = mot_de_passe
login = mot_de_passe
login = mot_de_passe