16th fév 2008
SVN over SSH – Installation
Pré-requis:
- distribution linux disposant de Subversion et ses outils
- un compte et un groupe spécifique à Subversion sur le serveur(par exemple svn:svn)
- sur le client, les outils Putty ( PAGEANT.EXE, PUTTYGEN.EXE) et TortoiseSVN
Installation :
- Créer des wrappers pour les commandes svn, svnadmin et svnserve sur le modèle :
root@openbrick:~# more /usr/bin/svn #!/bin/sh umask 002 /usr/bin/svn_real "$@"
- Créer un repository svn avec comme propriétaire svn:svn
root@openbrick:~# svnadmin create /home/svn_root root@openbrick:~# chown -R svn:svn /home/svn_root root@openbrick:~#
- Ajouter le groupe svn aux utilisateurs ayant besoin d’un accès au repository
root@openbrick:~# groups tonio tonio : tonio root@openbrick:~# adduser tonio svn root@openbrick:~# groups tonio tonio : tonio svn root@openbrick:~#
- Ajouter les droits dans l’arboresence du repository ( voir la documentation du format du fichier authz )
Ajout de : ### [/] tonio = rw ### dans le fichier /home/svn_root/conf/authz pour donner tous les droits ( lecture / écriture à l'utilisateur tonio) dans l'ensemble de l'arborescence
Configuration du client ( TortoiseSVN / Putty ):
- Création d’une clé SSH ( fichiers de sortie mykey et mykey.pub et mot de passe passphrase ) :
tonio@openbrick:~# ssh-keygen -b 1024 -t dsa -N passphrase -f mykey
Enregistrement de la clé pour que le démon ssh la reconnaisse:
tonio@openbrick:~# cp mykey.pub .ssh/authorized_keys
- Convertir la clé SSH au format putty grace à PUTTYGEN.EXE
- Récupérer le fichier mykey généré ci-dessus depuis le serveur
- Démarrer PUTTYGEN.EXE, choisir le menu « Conversion > Import key » et sélectionner le fichier mykey récupéré
- Enregistrer la clé (‘Save private key’) au format putty, clé qui sera ajouté dans PAGEANT.EXE
- Configurer TortoiseSVN :
- Aller dans les options Tortoise ( clic droit dans un dossier > TortoiseSVN > Settings )
- Dans la partie Network, spécifier le client SSH. On peut choisir le programme PLINK.EXE livré avec Putty, ou alors le programme TortoisePlink.exe (à choisir de préférence) livré avec TortoiseSVN
- Configurer l’url du repository dans TortoiseSVN du type « svn+ssh://tonio@openbrick/home/svn_root/projet1″
Et voilà …
D’après les documentations :
- Aide accompagnant TortoiseSVN
- Le livre officiel de subversion
- Tortoise SSH HowTo
Outils :
Explications sur les wrappers :
Il est bon de rappeler qu’en mode SVN over SSH, il n’y a pas de serveur, les mises à jour du repository se font directement sur le système de fichiers ( chapitre 6, paragraphe Overview du SVN-Book ). D’où la nécessité d’avoir un groupe spécifique svn et que l’ensemble du groupe puisse effectuer des modifications sur l’arborescence durepository.