OVH Guides

Utiliser SVN

Ce guide montre la façon d'utiliser svn via l'accès ssh de l'hébergement grâce aux clés publique/privée.

Subversion (en abrégé svn) est un système de gestion de versions. La suite du guide suppose que vous êtes connecté en ssh à la racine de votre hébergement.

Pré-requis

  • Avoir un hébergement qui permet une connection ssh (à partir de l'offre Pro)
  • Savoir se connecter en SSH (vous pouvez pour cela vous aider de ce guide )

Création du dépôt

Une fois connecté en SSH sur votre hébergement, il vous faut créer le répertoire racine des dépôts svn et ensuite le dépôt.

Il vous suffit pour cela de taper la commande :

1
mkdir svn

et

1
svnadmin create svn/depot_test

Vous pouvez ensuite vérifier que les repertoires ont été crées avec la commande :

1
ls -la

Vous devez obtenir les repertoires comme indiqué sur l'image suivante :

hosting

Création des clés publiques / privées

Linux avec openssh

Cette partie se déroule sur l'ordinateur qui se connectera au dépôt svn (le client svn). Il faut créer une paire de clé dsa. Pour cela taper dans votre terminal la commande :

1
ssh-keygen -t dsa

et récupérer la ligne qui se trouve par défault dans le fichier .ssh/id_dsa.pub . Pour editer le fichier il vous suffit d'utiliser la commande: vi.

1
vi .ssh/id_dsa.pub

Vous trouverez la clef qui est divisée en trois chaînes de caractères : le type, la clé et un commentaire.

Windows avec putty

Cette partie se déroule sur l'ordinateur qui se connectera au dépôt svn (le client svn). Télécharger l'installer windows putty et l'installer. Il faut créer une paire de clés dsa. Pour cela lancer PuTTYGen, générer une paire de clé et les sauvegarder :

hosting

Ajout de la clé publique sur l'hébergement

Aprés avoir obtenu votre clef il vous faut l'ajouter sur votre hebergement dans le fichier .ssh/authorized_keys2. Il vous suffit pour cela de taper la ligne de commande ci-dessous :

1
2
3
mkdir .ssh
chmod 700 .ssh
vi .ssh/authorized_keys2

Une fois le fichier ouvert vous devez y inserer la ligne suivante :

1
command="/usr/bin/svnserve --root=/homez.XXX/loginFTP/svn --tunnel --tunnel-user=marc",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

suivi de la clé précédemment créée, le tout sur la même ligne !

NB : Remplacer "/home.XXX/loginFTP" et "marc" par ce qu'il convient ! Pour connaître les chiffres à utiliser pour remplacer /home.XXX/loginFTP" vous pouvez tout simplement taper la commande "pwd" en ssh
hosting

La personne pourra donc récupérer le contenu du dépôt sans pouvoir pour autant se connecter directement en ssh sur la machine.

Attention, une même clé ne doit pas être utilisée pour svn et pour ssh en ligne de commande

Exemples

Sous Linux

Vous pouvez faire un test depuis l'ordinateur se connectant au depot svn en tapant la ligne :

1
svn checkout svn+ssh://loginFTP@clusterXXX/depot_test

Windows avec TortoiseSVN

  • Télécharger tortoisesvn et l'installer ( http://tortoisesvn.net/downloads )
  • Double cliquer sur la clé privée. Une icône apparait en bas à droite, la clé est alors chargée dans l'agent d'authentification.
  • Créer un répertoire, cliquer droit dessus et sélectionner "SVN Checkout". Entrer :

dans le champ "URL of repository" et cliquer sur OK :

hosting

Il existe une très bonne documentation en anglais pour Subversion : http://svnbook.red-bean.com/en/1.5/index.html

Cas spécifiques

Créer plusieurs Comptes

Il faut tout d'abord avoir créer plusieurs clés ssh. Ensuite lors de l'ajout de la clé publique sur l'hébergement :

1
command="/usr/bin/svnserve --root=/home.XXX/loginFTP/svn --tunnel --tunnel-user=marc",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

Vous devez modifier le paramètre ci-dessous en y ajoutant vos différents utilisateurs :

1
--tunnel-user

à noter qu'il est aussi possible de donner des accès en lecteur seule en ajoutant le paramètre :

1
--read-only.

Check en local depuis le serveur

Lorsque vous voudrez faire le checkout en local, les exemples fournis ne fonctionneront pas. Il vous faudra utiliser :

1
svn+ssh://login@ftp.nom-du-site.tld/home.XXX/login/svn/depot_test
Haut de page