• Aucun résultat trouvé

Serveur Subversion Debian GNU/Linux

N/A
N/A
Protected

Academic year: 2022

Partager "Serveur Subversion Debian GNU/Linux"

Copied!
12
0
0

Texte intégral

(1)

Serveur Subversion

Debian GNU/Linux

Matthieu Vogelweith

13 janvier 2009

(2)

Résumé

L’objectif de cette page est de détailler l’installation d’un serveur Subversion [1].

Ce document a été rédigé en LaTeX en utilisant l’excellent Vim sous Debian GNU/Linux. Il est disponible aux formatsXHTMLetPDF. Les sources LaTeX sont disponibles ici :LATEX

(3)

Licence

Copyright c2009 Matthieu VOGELWEITH <matthieu@vogelweith.com>.

Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la GNU Free Documentation License, Version 1.3 ou ultérieure publiée par la Free Software Foundation ; avec aucune section inaltérable, aucun texte de première page de couverture, et aucun texte de dernière page de couverture. Une copie de la licence est disponible dans la pageGNU Free Docu- mentation License.

(4)

Table des matières

Table des matières 3

1 Présentation 4

1.1 Subversion vs CVS . . . 4

2 Installation de SubVersion 5 3 Administration du dépot 6 3.1 Création des dépots . . . 6

3.2 Premier import . . . 6

3.3 Configuration d’Apache . . . 7

4 Installation de WebSVN 8 5 Les clients disponibles 9 5.1 Pour Linux . . . 9

5.2 Pour windows . . . 9

6 Utilisation 10 6.1 Principe . . . 10

6.2 Mise à jour de la ressource locale . . . 10

6.3 Tests . . . 10

6.4 Validation des modifications . . . 10

6.5 Visualisation des modifications . . . 10

7 Références 11

(5)

Chapitre 1

Présentation

- principe - avantages

- différences par rapport aux autres

1.1 Subversion vs CVS

Subversion (SVN) est un système de contrôle des versions OpenSource distribué sous une licence compatible Apache/BSD. Cet outil en développement depuis quelques années propose un grand nombre de nouveautés par rapport à son aîné vieillissant qu’est CVS :

– Les répertoires, renommages et les propriétés des fichiers sont versionnés

– Validation des commit uniquement lorsqu ils se terminent correctement dans leur globalité – Apache comme serveur réseau, WebDAV/DeltaV comme protocole

– Authentification

– Autorisation d’accès basique – Compression à la volée – Parcourt du référentiel

– Architecture nativement client/serveur.

– Gestion des branches et tags par copie – Manipulation efficace des fichiers binaires

– Sorties interprétable donc utilisable par des scripts

– Les coûts sont proportionnels à la taille des changements et non des données – Gestion des branches et des tags simplifiée

Subversion semble donc plus adapté que CVS, notamment au niveau de l’authentification (Apache donc PAM, NIS, ...) et de la gestion des versions sur l’arborescence du dépot.

(6)

Chapitre 2

Installation de SubVersion

# a p t i t u d e i n s t a l l s u b v e r s i o n libapache2 - svn subversion - tools

- Version standalone et version module d’apache - Plutot en module d’apache, car

– permet de bénéficier des méthodes d’authentification et de sécurité d’apache – evite d’ouvrir un port supplémentaire sur le firewall

(7)

Chapitre 3

Administration du dépot

- création du dépot

- fonctionnement des branches et des tags - cycle de developpement habituel

3.1 Création des dépots

Les dépots doivent être créés, obligatoirement dans le système de fichier local, avec les com- mandes suivantes :

# mkdir / var / lib / svn

# s v n a d m i n cr eate / var / lib / svn / p r o j e t 1

# chown -R www - data : www - data / var / lib / svn

# chmod -R 700 / var / lib / svn

Dans l’exemple ci-dessus, un dépot a été créé : projet1. Il est important de bien donner les droits à l’utilisateur virtuel d’Apache (www-data) pour que le depot puisse être accéssible par le Web.

Attention, maintenant que les dépots sont créés, aucun fichier ne doit être créé, modifié ou sup- primé manuellement dans le dépot. Tout doit se faire avec les commandes fournies par Subversion.

3.2 Premier import

Respect de l’architecture préconisée : trunk, tags, branches.

# rm - rf / tmp / p r o j e t 1

# mkdir -p / tmp / p r o j e t 1 / trunk

# mkdir -p / tmp / p r o j e t 1 / tags

# mkdir -p / tmp / p r o j e t 1 / b r a n c h e s

# svn imp ort / tmp / p r o j e t 1 / file :/// var / lib / svn / p r o j e t 1 -m " C r e a t i o n i n i t i a l e de l ’ a r b o r e s c e n c e "

(8)

3.3 Configuration d’Apache

Comme indiqué précédemment il est possible de configurer le dépot subversion en tant que module apache, ce qui permettra notamment de s’appuyer sur les mechanismes d’authentification offerts par ce dernier. La configuration décrite ci-dessous utilise un authentification LDAP mais il est tout a fait possible d’utiliser les autres mechanismes d’authentification d’Apache.

Pour créer le VirtualHost, enregistrer les informations suivantes dans le fichier /etc/apache2/sites- available/svn :

# V i r t u a l host pour la g e s t i o n du depot SVN

< V i r t u a l H o s t e x a m p l e . org >

# Con fig g e n e r a l e du Vhost S e r v e r n a m e svn . e x a m p l e . org S e r v e r A d m i n w e b m a s t e r @ e x a m p l e . org

# Dro its d ’ acces au r e p e r t o i r e

< D i r e c t o r y / var / lib / svn / >

O p t i o n s I n d e x e s F o l l o w S y m L i n k s M u l t i V i e w s A l l o w O v e r r i d e None

Order allow , deny allow from all

</ Directory >

# Acces URL

< L o c a t i o n / >

DAV svn

# SVN root path

S V N P a r e n t P a t h / var / lib / svn

# LDAP a u t h e n t i c a t i o n A u t h B a s i c P r o v i d e r ldap A u t h T y p e Basic

A u t h z L D A P A u t h o r i t a t i v e off A u t h N a m e " S u b v e r s i o n R e p o s i t o r y "

A u t h L D A P U R L ldap :// ldap . e x a m p l e . org / ou = Users , dc = example , dc = org A u t h L D A P G r o u p A t t r i b u t e m e m b e r U i d

A u t h L D A P G r o u p A t t r i b u t e I s D N off

R e q u i r e ldap - group cn = svn , ou = Groups , dc = example , dc = org

# Cha nge s t y l e s h e e t

# S V N I n d e x X S L T "/ st yles / s v n i n d e x . xsl "

# Use d e f a u l t E r r o r D o c u m e n t E r r o r D o c u m e n t 404 d e f a u l t

</ Location >

E r r o r L o g / var / log / a p a c h e 2 / s v n _ e r r o r . log

C u s t o m L o g / var / log / a p a c h e 2 / s v n _ a c c e s s . log c o m b i n e d

</ VirtualHost >

Pour que le vhost soit actif, il faut enfin l’activer puis recharger Apache avec les commmandes suivantes :

# a 2 e n s i t e svn

# / etc / init . d / a p a c h e 2 re load

Si tout ce passe correctement, le dépot SVN est maintenant disponible. Par exemple, si le dépot projet1a été créé comme indiqué dans le paragraphe 3.1, l’arborescence doit être visible via un navigateur web à l’adresse http://svn.example.org/projet1.

(9)

Chapitre 4

Installation de WebSVN

- Visualisation du dépot

# a p t i t u d e i n s t a l l we bsvn

- indiquer le chemin du répertoire parent des dépots lors de la configuration.

- supprimer le lien de /var/www/websvn.

- Ajouter l’alias qui va bien - éditer la config dans le fichier /etc/websvn/config.inc

(10)

Chapitre 5

Les clients disponibles

Plusieurs clients SVN sont disponibles sur les plateformes UNIX et Windows. Dans les deux cas, il est toujours possible de visualiser le contenu du dépot ainsi que les modifications et les commentaires de chaque fichier/dossier via un navigateur Web.

5.1 Pour Linux

– svn en ligne de commande – Navigateur Web

– RapidSVN – esvn

– Eclipse + PHPEclipse + Subclipse

5.2 Pour windows

– Navigateur Web

– Explorateur Windows avec TortoiseSVN – Eclipse + PHPEclipse + Subclipse – RapidSVN

(11)

Chapitre 6

Utilisation

Ce chapitre décrit rapidement le fonctionnement de Subversion pour une utilisation de tous les jours.

6.1 Principe

– Mise à jour de la ressource locale avec les sources du serveur subversion – Modifications

– Tests sur le serveur de tests

– Validation des modifications sur le serveur subversion

6.2 Mise à jour de la ressource locale

$ svn upd ate

6.3 Tests

http :// s e r v e u r _ d e _ t e s t / m a _ p a g e . php

6.4 Validation des modifications

Lorsque les tests sont réussi, en fin de journée ou lorsque les modifications sont validées et considérée comme correctes, on peut mettre a jour le code sur le serveur Subversion. Cette opération est réalisée simplement par la commandecommit:

$ svn com mit

6.5 Visualisation des modifications

(12)

Chapitre 7

Références

[1] Site officiel de subversion.subversion.tigris.org.

[2] Site officiel du projet debian.www.debian.org.

[3] Documentation de subversion.svnbook.red-bean.com.

Références

Documents relatifs

Avant de pouvoir accéder à votre parcours, vous devez compléter votre profil, et notamment les champs obligatoires s’ils ne le sont pas déjà.. Pour compléter votre profil, vous

Ajout / Suppression d'adresse IPv4 ou IPv6 à une interface hosts: files mdns_minimal [NOTFOUND=return] dns mdns Ajout d'adresses IPv4 et IPv6 pour l'interface eth0 Liste des

– si vous comptez faire cohabiter Windows et Linux sur le même ordinateur, gardez tous ces fichiers dans un répertoire tempo- raire de votre partition Windows.. – sinon, copiez tous

— ainsi, quand on ne fait pas l’installation à partir d’un cédérom, les autres fichiers d’installation pourront être récupérés directement sur un serveur Debian —,

Entrer votre mot de passe, dans notre cas nous avons choisi « root ».. 18 On active ensuite la réception des logs distantes en éditant /etc/rsyslog.conf. On décommentant les

Le mode Bridge (Pont), géré par le switch virtuel VMnet0, permet aux machines virtuelles de se connecter sur le réseau physique, celui de l'ordinateur hôte, et de

— ainsi, quand on ne fait pas l’installation à partir d’un cédérom, les autres fichiers d’installation pourront être récupérés directement sur un serveur Debian —,

Toujours dans le cas d’une installation déjà existante, pour installer le paquetage &#34;Développement / Outils de développement&#34;.. allez dans &#34;Applications&#34;