Page suivante
Page précédente
Table des matières
Par James M. Rogers
jrogers@visnetinc.com
Quand plus d'une personne travaille sur un projet, vous devez vous assurer que chacun n'empiète pas sur les modifications des autres. Quand il n'y a que quelques répertoires, le Système de Contrôle de Révision (
Revision Control System (RCS)) est parfait. Mais quand il s'agit de dizaines de projets faisant appel à dix programmeurs et que votre environnement de développement est distribué sur plusieurs machines, vous êtes face à un véritable cauchemar en gestion de projet que RCS ne va pas beaucoup vous aider à surpasser.
Ce qu'il vous faut alors, c'est le Système de Version Concurrente (
Concurent Version System (CVS). CVS
est génial car il fonctionne en réseau, travaille avec des arborescences entières de
répertoires et permet à plusieurs personnes de travailler sur le même fichier au même
moment sans perdre les changements des uns et des autres. CVS est fourni en standard avec les RedHat 6.0+.
Aussi bien que soit CVS, il ne change rien au fait que votre code source passe sur Internet sans cryptage. Ce mois ci, je vais traiter de la manière de monter un dépôt de code source sécurisé et utilisable en réseau et ceci par le biais du programme ssh (Secure Shell ou shell sécurisé). Le mois prochain, je vais vous montrer comment importer vos projets actuels dans ce dépôt, comment en extraire votre code, mettre à jour les fichiers et faire prendre en compte vos modifications.
La procédure est la suivante :
- Installez ssh sur vos machines. Ce programme est disponible à l'adresse suivante :
ftp://sunsite.unc.edu/pub/packages/security/ssh/. La société qui s'occupe
de ssh se trouve à l'adresse suivante :
http://ssh.com.
- Configurez sshd sur la machine qui va abriter le dépôt.
- Créez un nouveau compte utilisateur pour chaque groupe de programmeurs sur la machine qui abrite le compte de dépôt. Pour cet exemple, vous pouvez créer un nouvel utilisateur repository ou depot.
- Créez un répertoire .ssh sur chacun des comptes utilisateurs, y compris les nouveaux comptes créés pour le dépôt.
- Faites chmod 700 .ssh sur le répertoire personnel de chaque compte, y compris les comptes de dépôt.
- Faites créer à tout le monde une clé publique et une clé privée en utilisant ssh-keygen.
- Récupérez les fichiers ~/.ssh/identity.pub de chacun et placez les dans le fichier ~/.ssh/authorized_keys du compte de dépôt pour ceux qui ont le droit de travailler sur ce projet.
- Faites chmod 700 ~.ssh/authorized_keys/ sur le compte de dépôt.
- Testez pour voir si tout le monde peut faire ssh depot@hote_de_depot où depot est le nom du compte de dépôt et hote_de_depot est le nom de l'hôte qui abrite le(s) répertoire(s) de dépôt.
- Créez un répertoire ~/cvsroot dans la racine du compte de dépôt.
- Positionnez les deux variables d'environnement suivantes dans le script
d'initialisation que vous utilisez. Pour moi, c'était le fichier ~/.bashrc :
export CVS_RSH=ssh
export CVSROOT=depot@hote_de_depot:/home/depot/cvsroot
- Loguez vous dans une autre fenêtre afin de vérifier que vous pouvez toujours vous loguer et que ces variables d'environnement sont bien positionnées.
- Faites une commande cvs init pour tous les utilisateurs habilités à utiliser ce
dépôt : vous ne devriez pas avoir de message d'erreur.
- En cas de message d'erreur, recommencez depuis le début et répétez les instructions jusqu'à ce que ça marche.
- Si vous avez des questions, n'hésitez pas à me contacter.
- Profitez de tout cela pour vous familiariser avec CVS et SSH. Lisez la documentation
afin de voir s'ils ne peuvent pas vous servir en d'autres occasions. Si quelqu'un
voit une autre manière de mettre en place un dépôt CVS, qu'il la partage avec nous !
Je suis tout particulièrement intéressé par une méthode pour monter un dépôt cvs
public comme ceux que l'on voit partout sur l'internet.
Par ailleurs, pour ceux qui ne l'ont pas vu, il vous est montré ci-dessus comment configurer vos comptes de manière à ne vous loguer qu'une seule fois sur une machine sécurisée et ensuite à vous connecter sur les autres machines sans login. J'en discuterai plus avant dans mon prochain article de cette série.
Copyright © 2000, James M. Rogers - Paru dans le numéro 50 de la Linux Gazette de Février 2000.
Traduction française de Pierre Tane
tanep@bigfoot.com.
Page suivante
Page précédente
Table des matières