CVS, serveur

De Diablotins.org.


Installation d'un serveur de gestion de versions CVS
Image:brush.png
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:

  # cat /tmp/CVSROOT/access
  user1
  user2

Si il faut:

  # cvs add access

Éditez alors le fichier /tmp/CVSROOT/checkoutlist et ajoutez l'entrée 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 l'utilisateur : toto
Nous devons d'abord le créer:

  # adduser toto

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

Nous allons mettre sous CVS le 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 :