CVS, serveur

Un article de Diablotins.org.

(Redirigé depuis Serveur CVS)


Image:brush.png

Installation d'un serveur de gestion de versions CVS




Vous voulez installer un serveur de gestion de versions concurrentes sur votre machine,
pour vos sauvegardes, mise Ă  jour de scripts et de fichiers de configuration, pour dĂ©velopper un projet en Ă©quipe ?

Dans cet article, nous avons choisi de présenter CVS.

Sommaire

Configurer

Ajout d'un utilisateur

Pour cela, vous devez ajouter dans le fichier /etc/group, le groupe «cvs».

  # vi /etc/group
  -- 
  [...]
  cvs :* :1020 :cvsuser
  [...]

CVS, est livre dans le monde de FreeBSD, car c'est un des éléments primordiaux de la mise a jour du système.
Voici la marche à suivre pour installer rapidement un serveur CVS: Apres avoir crée un groupe UNIX cvs et un utilisateur membre de ce groupe «cvsuser»:

  # adduser cvsuser

La création de cet utilisateur se fait sans password, sans Shell, et ayant pour espace la repository “/usr/local/cvs-root”, soit la “cvsroot” du serveur. Il ne doit être évidement membre que du groupe cvs et d'aucun autre sans plus de privilèges, tel que l'appartenance au groupe wheel.

Création de la répository

Créer un répertoire de Repository.

  # mkdir /usr/local/cvs_root

Lancement du Pserver CVS

Editez /etc/inetd.conf, rajoutez-y :

  # vi /etc/inetd.conf
  -- 
  [...]
  cvspserver stream tcp nowait cvsuser /usr/bin/cvs cvs --allow-root/usr/local/cvs_root pserver
  [...]

Redémarrez votre super démon Inetd:

  # pid inetd
  # kill -HUP <pid>

Initialisation de la CVSROOT

Initialisez le CVSROOT de cette façon :

  # export CVSROOT=/usr/local/cvs_root
  # cvs init

Mise en place d'un contrôle d'accès built-in CVS

Si vous voulez limiter les droits d'accès au serveur CVS, faites un check out de CVSROOT dans un rĂ©pertoire  :

  # cd /tmp
  # export CVSROOT=/usr/local/cvs_root
  # cvs co CVSROOT
  # cd /tmp/CVSROOT

CrĂ©ez ou Ă©diter un fichier : “/tmp/CVSROOT/access” contenant la liste des utilisateurs autorisĂ©s.
Exemple :

  # cat /tmp/CVSROOT/access
  user1
  user2

Si il faut :

  # cvs add access

Éditez alors le fichier “/tmp/CVSROOT/checkoutlist” et ajoutez-y «access»
Enfin:

  # cvs commit
  # cvs release CVSROOT
  # cd ..
  # rm -rf CVSROOT 

Utilisation

Petit exemple d'utilisation :
Nous avons créé un logiciel nommĂ© "prog", ses sources se trouvent dans un rĂ©pertoire "prog". Nous somme le user : toto

Nous devons d'abord crĂ©er cet utilisateur, en tapant :

  # adduser toto

Il faut que toto appartienne au groupe cvs, crée précédemment .

Nous allons mettre sous CVS ce code source :

  # cd prog
  # export CVSROOT=":pserver:user@:/usr/local/cvs_root"
  # cvs login
  # cvs import prog prog VERSION_INIT

[ le projet se place sur l'arborescence CVS ]

C'est terminĂ©, vĂ©rifions maintenant que tout s'est bien passĂ© :

  # cd ..
  # cp prog prog.bak 
  # cvs checkout prog

Vérifiez aussi:

  # ls -Rsal prog/
  # rm -rf prog.bak 

C'est terminé.

Projets :
Boîte à outils