Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cvs_server [Le 18/09/2009, 13:47] huit_six apturl |
cvs_server [Le 11/09/2022, 10:34] moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Dapper Edgy programmation serveur}} | + | {{tag>Xenial programmation serveur BROUILLON}} |
---- | ---- | ||
====== Mise en place d'un serveur CVS ====== | ====== Mise en place d'un serveur CVS ====== | ||
- | |||
- | |||
- | ===== Résumé ===== | ||
Cette page se propose de vous montrer comment installer un serveur CVS, opération qui parait simple une fois faite, mais qui a priori n'est pas si évidente. | Cette page se propose de vous montrer comment installer un serveur CVS, opération qui parait simple une fois faite, mais qui a priori n'est pas si évidente. | ||
- | |||
- | ===== Introduction ===== | ||
CVS est un concept qui permet à un ensemble de développeurs de développer sur un même projet, sans se préocuper de l'archivage ni même des modifications concurrentes (deux personnes sur le même fichier). Le principe étant assez complexe, je ne vais pas vous en détailler le fonctionnement et je vous renvoie chez [[http://www.google.fr|google]] qui fait ça très bien. | CVS est un concept qui permet à un ensemble de développeurs de développer sur un même projet, sans se préocuper de l'archivage ni même des modifications concurrentes (deux personnes sur le même fichier). Le principe étant assez complexe, je ne vais pas vous en détailler le fonctionnement et je vous renvoie chez [[http://www.google.fr|google]] qui fait ça très bien. | ||
- | ===== Prérequis ===== | + | ===== Pré-requis ===== |
- | + | ||
- | Avoir un système linux fonctionel. Tout est décrit à partir d'une distribution ubuntu mais fonctionne sur toutes les distributions pour peu qu'on adapte certaines choses (comme la récupération et l'installation des paquets ...). Mais si vous êtes sous ubuntu, suivez le guide. | + | * Disposer des [[:sudo|droits d'administration]]. |
- | + | * Disposer d'une connexion à Internet configurée et activée. | |
- | Attention : Plus loin j'utilise /mon/chemin/cvs qui n'est pas un vrai répertoire et qui **doit** être accomodé à vos besoins... | + | Attention : Plus loin j'utilise /mon/chemin/cvs qui n'est pas un vrai répertoire et qui **doit** être accommodé à vos besoins... |
Ligne 24: | Ligne 19: | ||
===== Installation ===== | ===== Installation ===== | ||
- | + | Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] ** [[apt>cvs]]**. | |
- | + | ||
- | Dans un premier temps, installons deux choses : CVS (la raison parait assez évidente) et xinetd qui va nous permettre d'accepter les connexions venant de l'extérieur. Je considère que si vous installez un serveur CVS, vous êtes un minimum à l'aise avec le mode console ; dans le cas contraire, faites des copier-coller, ça ira aussi. | + | |
- | + | ||
- | ==== Pour Hardy Heron et supérieure ==== | + | |
- | Lien direct [[apt://cvs|cvs]] ou : | + | |
- | sudo apt-get install cvs | + | |
- | + | ||
- | ==== Versions antérieure ==== | + | |
- | Lien direct [[apt://cvs,xinetd|cvs et xinetd]] ou : | + | |
- | sudo apt-get install cvs xinetd | + | |
Ligne 47: | Ligne 32: | ||
sudo useradd -m -g cvs -s /sbin/nologin anonymous | sudo useradd -m -g cvs -s /sbin/nologin anonymous | ||
- | Ces lignes vous permettent d'ajouter des utilisateurs associés directement au groupe cvs et sans login, c'est à dire que l'utilisateur ne peut se logger en faisant **su anonymous** par exemple... Ajoutez de cette manière tous les utilisateurs que vous voulez. Il faut ensuite modifier un fichier de cette façon : | + | Ces lignes vous permettent d'ajouter des utilisateurs associés directement au groupe cvs et sans login, c'est à dire que l'utilisateur ne peut se logger en faisant **su anonymous** par exemple... Ajoutez de cette manière tous les utilisateurs que vous voulez. Il faut ensuite [[:tutoriel:comment_modifier_un_fichier|ouvrir le fichier]] **/etc/group** et modifier la ligne contenant cvs: (tout en bas normalement) pour quelle soit comme ceci : <file>cvs:x:501:cvs,anonymous,monUser1,...</file> |
- | + | ||
- | gksudo gedit /etc/group | + | |
- | #ou pour les barbus | + | |
- | sudo vigr | + | |
- | + | ||
- | modifiez la ligne contenant cvs: (tout en bas normalement) pour quelle soit comme ceci : | + | |
- | + | ||
- | cvs:x:501:cvs,anonymous,monUser1,... | + | |
- | et ajoutez tous vos utilisateurs | + | et ajoutez tous vos utilisateurs. |
Ligne 73: | Ligne 50: | ||
+ | ==== openbsd-inetd ==== | ||
- | ==== xinetd pour Ubuntu antérieure à Hardy Heron ==== | + | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>openbsd-inetd]]**. |
- | + | ||
- | Nous allons maintenant configurer xinetd afin qu'il fasse le relais entre la couche réseau et le serveur CVS en lui même. Pour cela, lancez la commande | + | |
- | + | ||
- | gedit /etc/xinetd.d/cvspserver | + | |
- | + | ||
- | et indiquez dans le fichier nouvellement créé : | + | |
- | + | ||
- | service cvspserver | + | |
- | { | + | |
- | port = 2401 | + | |
- | socket_type = stream | + | |
- | protocol = tcp | + | |
- | wait = no | + | |
- | user = root | + | |
- | passenv = PATH | + | |
- | server = /usr/bin/cvs | + | |
- | server_args = -f --allow-root=/mon/chemin/cvs pserver | + | |
- | } | + | |
- | + | ||
- | Ces lignes permettent à xinetd d'associer une connexion entrante, à un serveur local. Dans ce cas la connexion se fait sur le port 2401 en mode TCP et le programme que xinetd appelera se trouve dans /usr/bin/cvs. server_args définit les paramètres qui seront passés à la commande serveur. Les autres paramètres définissent des options de connexion, pour plus d'information je vous suggère [[http://www.linuxfocus.org/Francais/November2000/article175.shtml|cette page]] qui en parles longuement. | + | |
- | + | ||
- | Note : Il est possible d’autoriser l’accès à plusieurs //repositories//, il suffit pour cela de répéter autant de fois que nécessaire l’option **--allow-root**. | + | |
- | + | ||
- | Attention : L'option **--allow-root** doit absolument pointer vers le dossier créé dans le paragraphe précédent. | + | |
- | + | ||
- | Attention bis : Si vous utilisez une autre distribution que Ubuntu, **server** doit pointer vers l'endroit où est placée votre commande CVS. | + | |
- | + | ||
- | Pour que ces paramètres soient pris en compte il suffit de redémarer le service de cette manière : | + | |
- | + | ||
- | /etc/init.d/xinetd restart | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== openbsd-inetd pour Ubuntu Hardy Heron et supérieure ==== | + | |
- | + | ||
- | Depuis Ubuntu Hardy Heron, xinetd et inetd sont remplacé par openbsd-inetd. | + | |
- | + | ||
- | Voici la commande pour installer le paquet gérant openbsd-inetd : | + | |
- | + | ||
- | sudo apt-get install telnetd | + | |
Voici comment configurer le service : | Voici comment configurer le service : | ||
Ligne 122: | Ligne 60: | ||
<note warning> | <note warning> | ||
- | Dans la version d'ubuntu 9.04, il apparait le message suivant à chaque fois qu'il faut utiliser gedit : | + | Dans la version d'ubuntu 9.04, il apparaît le message suivant à chaque fois qu'il faut utiliser gedit : |
(gedit:20882): Gtk-WARNING **: cannot open display: | (gedit:20882): Gtk-WARNING **: cannot open display: | ||
Ligne 153: | Ligne 91: | ||
cvs init | cvs init | ||
- | Normalement il ne se passe rien mais vous pouvez constater que dans /mon/chemin/cvs le répertoire CVSROOT a été créé ... | + | Normalement il ne se passe rien mais vous pouvez constater que dans /mon/chemin/cvs le répertoire CVSROOT a été créé ... |
Cela dit, comme nous avons précédemment décidé que le serveur cvs était encapsulé dans un groupe s'appelant **cvs**, il faut modifier les droits et le propriétaire des fichiers : | Cela dit, comme nous avons précédemment décidé que le serveur cvs était encapsulé dans un groupe s'appelant **cvs**, il faut modifier les droits et le propriétaire des fichiers : | ||
Ligne 211: | Ligne 149: | ||
</note> | </note> | ||
- | L'utilisateur anonyme peut, quant à lui, ne pas avoir de mot de passe (laissez vide le champ réservé au mot de passe pour ne pas le définir). Il est alors important qu'il ne puisse pas modifier le cvs. Pour cela, sauvegardez et fermez le fichier de mots de passe. Faites | + | L'utilisateur anonyme peut, quant à lui, ne pas avoir de mot de passe (laissez vide le champ réservé au mot de passe pour ne pas le définir). Il est alors important qu'il ne puisse pas modifier le cvs. Pour cela, sauvegardez et fermez le fichier de mots de passe. Faites |
gksudo gedit $CVSROOT/CVSROOT/readers | gksudo gedit $CVSROOT/CVSROOT/readers | ||
Ligne 266: | Ligne 204: | ||
Configurations : | Configurations : | ||
- | cd /var/lib/cvsd and build the cvsroot: | + | cd /var/lib/cvsd |
+ | # build the cvsroot: | ||
sudo cvsd-buildroot /var/lib/cvsd | sudo cvsd-buildroot /var/lib/cvsd | ||
sudo mkdir cvsroot | sudo mkdir cvsroot | ||
Ligne 283: | Ligne 222: | ||
Pour tester la connexion au serveur cvs : | Pour tester la connexion au serveur cvs : | ||
cvs -d :pserver:justin@localhost:/cvsroot login | cvs -d :pserver:justin@localhost:/cvsroot login | ||
+ | | ||
+ | En cas d'erreur : cvs [login aborted]: connect to localhost(127.0.0.1):2401 failed: Connection refused | ||
+ | |||
+ | sudo vi /etc/cvsd/cvsd.conf | ||
+ | |||
+ | changer la ligne : Listen * 2401 par: Listen 0.0.0.0 2401 ou par : Listen 127.0.0.1 2401 pour une utilisation locale | ||
+ | |||
+ | ensuite faire un redemarrage du cvsd : sudo /etc/init.d/cvsd restart | ||
+ | |||
+ | |||
+ | |||
+ | |||