Instellen van de tools

Nu CVS en cvsd zijn gecompileerd, zullen we ze gaan configureren.

Aanmaken van de CVS Repository

Voor we beginnen, raad ik je ten zeerste aan de CVS handleiding te lezen welke werd geïnstalleerd met de rest van CVS. Als de stand-alone info browser of het texinfo pakket op je systeem is geïnstalleerd, kun je deze handleiding bekijken na het achter de shellprompt intikken van de opdracht info cvs.

Plan ten eerste waar je de repository wilt hebben. Onder Debian is dit standaard /var/lib/cvs. Mijn repository bevindt zich onder de directory /cvs/root, en het bevindt zich op een eigen kleine partitie. Wat je doet is afhankelijk van wat je nodig hebt.

Belangrijk

Zorg dat de repository een subdirectory is van een lege directory! Plaats bijvoorbeeld de repository in /var/lib/cvs/root (of wat je ook wilt als laatste directory) als je het gaat installeren in /var/lib/cvs . Dit omdat we een chroot jail voor de Pserver zullen creëeren!

Als je eenmaal hebt gepland waar je je repository wilt plaatsen, eventueel de benodigde partities hebt aangemaakt, start je de volgende opdracht op (we veronderstellen dat het /cvs/root) zal worden:


$ cvs -d /cvs/root init
  

Daarmee initialiseer je de repository en zet de benodigde CVSROOT bestanden op.

Instellen van de jail

Nu we de CVSROOT hebben opgezet, moeten we de van toepassing zijnde library's en bestanden voor cvsd gaan kopiëren, wat de Pserver in de chroot jail zal draaien.

De benodigde bestanden transporteren

Opmerking

Als je cvsd vanuit een pakketbeheersysteem installeerde, zoals RPM, dan is dit wellicht reeds voor je gedaan. Ga in dat geval verder met de volgende stap.

Activeer de directory /cvs (of welke directory dan ook de bovenliggende directory is van je root) en geef de volgende opdrachten:


$ cvsd-buildroot /cvs
$ mkdir -p var/lock
$ adduser cvsd
$ addgroup cvsd
   

Gelukkig wordt met cvsd het script cvsd-buildroot geleverd, dus we hoeven al het nodige kopieerwerk niet met de hand te doen. Je moet echter wel het bestand /cvs/etc/passwd bewerken, en de entry voor "root," verwijderen, gezien we dit niet nodig hebben.

Configureren van cvsd

De standaardwaarden in /etc/cvsd/cvsd.conf zijn ok, maar kunnen minder wenselijk zijn. Zorg dat RootJail is ingesteld op waar de chroot jail die je bouwde zich bevindt, en de repository is de directory waar de repository is relatief aan de chroot jail. Stel maxconnections in op wat je wilt, en zorg dat de Uid en Gid zijn ingesteld op cvsd. Mocht een reeds samengesteld cvsd.conf bestand ontbreken, dan is hier die van mij:

Voorbeeld 1. Mijn cvsd.conf


Uid cvsd
Gid cvsd
PidFile /var/run/cvsd.pid
RootJail /cvs
MaxConnections 10
Nice 1
Listen * 2401
Repos /root
Limit coredumpsize 0
    

Toevoegen van anonymous toegang

We zijn weer terug bij het configuren van CVS, maar maak je geen zorgen, we zijn er bijna! We moeten een paar nodige bestanden bewerken om anonymous toegang mogelijk te maken. Zorg er als eerste voor dat je je niet bevindt in de CVS directory, en haal de CVSROOT module op met de opdracht checkout:


# cvs -d /cvs/root checkout CVSROOT
# cd CVSROOT
  

Bewerk nu het bestand READERS. Maak het aan als het zich daar niet bevindt, en voeg een regel toe met de tekst "anonymous".

Belangrijk

Aan het einde van het bestand MOET een extra regel komen!

Het bestand READERS bestaat uit een lijst met gebruikers die read-only toegang hebben tot de CVS-repository. Mensen met schrijftoegang staan opgesomd in het bestand WRITERS. Lees de handleiding van cvs [1] voor meer informatie over deze bestanden.

Commit nu de repository met onderstaande opdracht. We gaan er hierbij van uit dat je huidige werkdirectory de directory CVSROOT is. Zo niet, dan kun je de cd stap vergeten.


# cd ../
# cvs -d /cvs/root commit
  

Je zou nu de melding moeten krijgen waarin iets wordt aangegeven als Re-building administrative files, wat betekent dat de commit met succes is verlopen.

Een laatste stap en we zijn helemaal klaar! Start de volgende opdracht en druk gewoon op ENTER nadat je om een wachtwoord werd verzocht:


# cvsd-passwd /cvs/root anonymous
  

Gefeliciteerd! Je hebt nu een veilige, anonymous CVS Pserver toegang tot de repository!

Nog niet helemaal klaar! Wijzigen van de lokatie van de lock bestanden

Er is nog een kleine feature dat in wezen buiten het kader van deze Mini-HOWTO valt, maar wat hoe dan ook waard is te worden vermeld. Het is de mogelijkheid om de directory te wijzigen waar de Pserver lock bestanden zal plaatsen.

Normaal gesproken zal de Pserver lock bestanden in dezelfde directory plaatsen als de bestanden die je zult proberen uit te checken met de opdracht `check out', maar dit kan permissiechaos veroorzaken. Doe een stap terug naar toen we de chroot jail voor cvsd compileerden; we maakten toen ook de directory var/lock aan. Hier zullen we de lockbestanden gaan plaatsen.

Dus gebruik het volgende voorbeeld, /cvs vervangend door de lokatie van je chroot omgeving, en var door de lokatie waar de lockbestanden zullen worden geplaatst. De mijne zijn geplaatst in var/lock, en er bevindt zich niets anders onder var, dus een chown -R is veilig. Vervang tevens de cvsd gebruikers- en groepsid's door de gebruikers- en groepid's waaronder cvsd draait.


# cd /cvs
# chown -R cvsd:cvsd var
# chmod -R 775 var
# cd
# cvs -d /cvs/root checkout CVSROOT
# cd CVSROOT
  

Nu willen we het bestand config bewerken. Wijzig de lock dir in de directory waarin je wilt dat de locks zullen worden geplaatst, in ons geval /var/lock.

Belangrijk

Dit is van toepassing op de Pserver ALS OOK OP DE NIET-CHROOT SSH LOGINMETHODE! Zorg dat deze directory niet alleen bestaat, maar ook dat je er naartoe kunt schrijven, relatief aan je rootdirectory. Ik heb gekozen voor /var/lock, omdat het aan die voorwaarden voldoet.

Commit nu de wijzigingen:


# cd ../
# cvs -d /cvs/root commit
  

En dat is dan dat!

Noten

[1]

info cvs, als je de stand-alone info viewer op je systeem hebt geïnstalleerd