Opzetten CVS-server (RH9)

Pagina: 1
Acties:

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Voor mijn huiselijke projecten zou ik vanaf nu graag gebruik gaan maken van een CVS-server. Ik heb reeds een thuis-server draaien met daarop RH9.

Op deze server draait ook al mijn test-software (jboss, apache, ftpserver, ...)
En nu was ik dus bezig met de installatie van een CVS-server (www.cvshome.org).

Alles van de installatie is goed gegaan (denk ik) en nu wou ik dus een connectie maken met mijn server als volgt:
code:
1
[root@HOMEserver root]# cvs -d :pserver:root@localhost:/cvs login

Maar als ik dan mijn wachtwoord ingeef, krijg ik volgende foutmelding:
code:
1
2
3
4
Logging in to :pserver:root@localhost:2401/cvs
CVS password: 
cvs [login aborted]: connect to localhost(127.0.0.1):2401 failed: 
Connection refused

Ik heb gebruik gemaakt van deze tutorial: http://www.linux.ie/articles/tutorials/cvs.php

Iemand die deze foutmelding herkend? Want op dit moment zit ik een beetje vast (en zou toch graag een CVS hebben draaien :))

  • Plato-II
  • Registratie: Mei 2002
  • Laatst online: 01-11-2018
"Connection refused" klinkt alsof pserver niet actief is. Klopt de configuratie in /etc/xinet.d/ wel en heb je xinetd al eens herstart?

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Ja, heb xinetd herstart met /etc/init.d/xinetd restart

in /etc/xinetd.d/ heb ik een file: cvspserver met volgende content
code:
1
2
3
4
5
6
7
8
9
10
11
service cvspserver
{
        port            = 2401
        socket_type     = stream
        protocol        = tcp
        wait            = no
        passenv         = PATH
        server          = /usr/bin/cvs
        server_args     = -f --allow-root=/usr/local/cvsroot pserver
        user            = cvs
}

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
code:
1
2
cvs [login aborted]: connect to localhost(127.0.0.1):2401 failed: 
Connection refused
Zo te zien heb je je CVS server nog niet draaiende. Waardoor het nog niet mogelijk is om een connectie naar je CVS server te maken. Heb je alle (x)inetd stuff goed gezet en gedaan? Draait (x)inetd wel?
De fout moet volgens mij in die richting zitten.

Btw, heb je ook al een blik geworpen op Subversion? Ik vind zelf SVN namelijk een stuk prettiger werken dan CVS, maar ieder zijn eigen keus natuurlijk. :)

Veel succes!
offtopic:
Ik ben weer eens traag...


Edit:
Ik moest in mijn cvspserver file nog een regeltje 'disable = no' zetten voordat het geheel op gang kwam. Blijkbaar disabled mijn xinetd services standaard oid. Voor de rest was mijn config hetzelfde.

[ Voor 19% gewijzigd door Mac_Cain13 op 03-08-2004 11:32 ]


  • Plato-II
  • Registratie: Mei 2002
  • Laatst online: 01-11-2018
'disable = no' in de configuratie van pserver voor xinet.d lijkt me inderdaad ook een goede toevoeging. Daarnaast zou ik eens in /var/log/messages zoeken naar eventuele foutmeldingen.

Succes!

Edit: Na jouw configuratie in een van mijn systemen ingevoerd te hebben start pserver ook niet. Hierin blijkt de user 'cvs' niet op het systeem aanwezig te zijn en het probleem te veroorzaken. De standaard RH rpm package voegt de user blijkbaar niet toe...

Edit 2: Te laat :)

[ Voor 48% gewijzigd door Plato-II op 03-08-2004 11:44 ]


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Subversion ken ik.. maar ik wou het toch even houden bij CVS aangezien dit eigenlijk nog steeds de standaard is en ook standaard ondersteund wordt door een groot aantal IDE's.

'disable = no' maakte hier iig geen verschil.

/var/log/messages bracht me wel wat meer duidelijkheid
code:
1
2
3
4
5
6
7
8
9
xinetd: xinetd shutdown succeeded
xinetd[2897]: Unknown user: cvs [line=10]
xinetd[2897]: Error parsing attribute user - DISABLING SERVICE [line=10]
xinetd[2897]: missing service keyword [line=21]
xinetd[2897]: missing } in last service entry [line=21]
xinetd[2897]: Service cvspserver missing attribute user - DISABLING
xinetd[2897]: xinetd Version 2.3.10 started with libwrap options compiled in.
xinetd[2897]: Started working: 1 available service
xinetd: xinetd startup succeeded


geldige user toegevoegd en krijg nu deze melding:
code:
1
cvs [login aborted]: reading from server: Connection reset by peer

[ Voor 10% gewijzigd door -FoX- op 03-08-2004 11:46 ]


  • lordgandalf
  • Registratie: Februari 2002
  • Laatst online: 13-02 15:00
hij probeert de server te starten met de user cvs maar die bestaat schijnbaar niet en daarom wil cvspserver niet starten en kun je je cvs server niet starten.

draait je cvs server nu wel ???

staat je CVSROOT variable wel goed ???

[ Voor 20% gewijzigd door lordgandalf op 03-08-2004 12:14 ]

Steam: Profile / Socialclub: Profile / Uplay: minedwarf / Origin: lordgandalf3


  • Plato-II
  • Registratie: Mei 2002
  • Laatst online: 01-11-2018
-FoX- schreef op 03 augustus 2004 @ 11:42:
geldige user toegevoegd en krijg nu deze melding:
code:
1
cvs [login aborted]: reading from server: Connection reset by peer
Geeft /var/log/messages nog iets noemenswaardigs weer hierover?

  • Wilke
  • Registratie: December 2000
  • Laatst online: 23:18
1 vraagteken per vraag volstaat hoor.

Ontopic: het lijkt er op dat je nog geen user 'cvs' hebt aangemaakt, en als je de server dan als die user wilt laten draaien, dan werkt het niet. Ook zal /usr/local/cvsroot eigendom moeten zijn van de user 'cvs'.

Volgens mij moet je toch eens gewoon wat beter in de documentatie gaan duiken, want dit zijn echt wel allemaal standaard-dingen volgens mij.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Plato-II schreef op 03 augustus 2004 @ 12:13:
Geeft /var/log/messages nog iets noemenswaardigs weer hierover?
euhm ja, juist even gekeken:
code:
1
xinetd[3068]: 3068 {general_handler} (3068) Unexpected signal: 11 (Segmentation fault)

met als gevolg dat xinetd dus crasht

Verwijderd

User cvs moet idd bestaan.

Tevens dacht ik inloggen met cvs -d :pserver:root@localhost:/usr/local/cvsroot login
Of de andere cvsroot: cvs -d :pserver:root@localhost:/usr/bin/cvs login
Ligt er dus aan waar jij je CVSROOT gedefineerd heb.

Testen of cvs werkt: telnet localhost 2401
pleur er wat neer en je ziet wel of hij exit met een
cvs [pserver aborted]: bad auth protocol start:
Wat jou dan zegt dat de server wel degelijk up is.

Users checken:
Voorbeeld:
root@donald:/usr/local/cvsroot/CVSROOT# cat passwd
rte:<stukje md5meukpass>:cvs

Waarbij rte een user is die niet systemwide is maar een cvs user.

dat md5meukpass is vervolgens met dit script te maken:
root@donald:/usr/local/cvsroot/CVSROOT# cat /home/cvs/crypt.pl
#!/usr/bin/perl

srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = pleurhierjepass;
my $crypttext = crypt ($plaintext, $salt);

print "${crypttext}\n";

Hier heb je vast wel wat aan.

Heb even niet meer tijd om het 1 en ander verder toe te lichten, vanavond meer.
Succes.

  • sjokki
  • Registratie: Juli 2002
  • Niet online
-FoX- schreef op 03 augustus 2004 @ 11:09:
code:
1
[root@HOMEserver root]# cvs -d :pserver:root@localhost:/cvs login
Dus je wil via een plaintext verbinding als root inloggen op je eigen computer? Het verbaast mij dat je hier ook nog eens geholpen wordt met dit prachtige streven.

Een CVS-pserver is alleen aan te raden als je anonymous access wil geven. Omdat je zegt dat het huiselijke projecten zijn vermoed ik dat je dat niet wil en dus die hele pserver kan vergeten.

Je kan CVS gebruiken via SSH door op de host waarvan je contact wil maken de volgende environment-variabelen te zetten:

code:
1
2
export CVSROOT=':ext:user@host:/pad/naar/cvsroot'
export CVS_RSH='ssh'


Je kan dan CVS-commando's geven als of de CVS-repository op de lokale computer staat. Er wordt alleen telkens een wachtwoord gevraagd maar dat kan je oplossen met bijvoorbeeld ssh-keychain. Op de computer waarop de CVS-repository staat hoef je helemaal niets te doen om CVS via SSH mogelijk te maken.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
sjokki schreef op 03 augustus 2004 @ 16:20:
[...]

Dus je wil via een plaintext verbinding als root inloggen op je eigen computer? Het verbaast mij dat je hier ook nog eens geholpen wordt met dit prachtige streven.
Heb ik ooit gezegd dat ik daarom dit alles wil opzetten?? neen, ik gebruikte deze manier van inloggen enkel maar om te zien of mijn CVS-server werkte...

  • sjokki
  • Registratie: Juli 2002
  • Niet online
-FoX- schreef op 03 augustus 2004 @ 17:28:
[...]

Heb ik ooit gezegd dat ik daarom dit alles wil opzetten?? neen, ik gebruikte deze manier van inloggen enkel maar om te zien of mijn CVS-server werkte...
Ik probeerde duidelijk te maken dat je helemaal geen cvs-server moet draaien. Of wil je wel anonymous access geven?

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
sjokki schreef op 03 augustus 2004 @ 17:48:
Ik probeerde duidelijk te maken dat je helemaal geen cvs-server moet draaien. Of wil je wel anonymous access geven?
Neen, het enige wat ik wil bereiken is een CVS-server, waar 2 of meer personen die aan een bepaald project werken kunnen inloggen en hun files committen.. liefst wel adh van een wachtwoord. Daarom maak ik gebruik van de pserver.
Op welke wijze zou ik het anders moeten doen?

  • Infern0
  • Registratie: September 2000
  • Laatst online: 23-01 09:14

Infern0

Hou die ontzettende rust!!

Misschien beetje offtopic, echter kan ik uit ervaring spreken dat subversion vele malen eenvoudiger te installeren is dan CVS. Verder vind ik subversion ook veel prettiger werken dan de standaard cvs client.
http://subversion.tigris.org/

http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL


  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
-FoX- schreef op 04 augustus 2004 @ 17:04:
Neen, het enige wat ik wil bereiken is een CVS-server, waar 2 of meer personen die aan een bepaald project werken kunnen inloggen en hun files committen.. liefst wel adh van een wachtwoord. Daarom maak ik gebruik van de pserver.
Op welke wijze zou ik het anders moeten doen?
Geen pserver voor nodig. Gewoon ssh voor gebruiken. Zie hierboven ^^, daar werd het al ergens genoemd.

Lokaal heb je helemaal geen rsh/ssh/pserver nodig. Gewoon je CVSRoot goed instellen en de rest gaat vanzelf.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
hmmm, nu kan ik ff niet meer volgen...

Als ik vanuit mijn Java-IDE (eclipse, intelliJ) mijn project wil committen, dan moet dat toch gewoon via de pserver gaan, ofniet?
Voor alle duidelijkheid, ik wil die CVS niet lokaal gebruiken maar in client/server omgeving

  • sjokki
  • Registratie: Juli 2002
  • Niet online
De meeste CVS-clients ondersteunen ook SSH. Bijvoorbeeld voor eclipse: Eclipse CVS FAQ

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
OK, het begint stilaan te werken.. :)

Ik zal eens proberen al mijn stappen te overlopen die ik totnogtoe uitgevoerd heb...


installatie rpm
code:
1
$>rpm -ivh cvs-1.11.17-1.i386.rpm



cvs user/group aangemaakt
code:
1
2
3
$>groupadd cvs
$>useradd -c "CVS user" -d /home/cvs -p start cvs
$>chmod 755 /home/cvs



"/etc/services" gecontroleerd op volgende regels:
code:
1
2
cvspserver      2401/tcp                        # CVS client/server operations
cvspserver      2401/udp                        # CVS client/server operations



"/etc/xinetd.d/cvspserver" aangemaakt met volgende content:
code:
1
2
3
4
5
6
7
8
9
10
11
12
service cvspserver
{
        disable         = no
        port            = 2401
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = cvs
        passenv         = PATH
        server          = /usr/bin/cvs
        server_args     = -f --allow-root=/home/cvs pserver
}



initialiseren van de repository
code:
1
$> cvs -d /home/cvs/ init



user toevoegen aan writers file
code:
1
2
$> vi /home/cvs/CVSROOT/writers
fox



wachtwoord toevoegen aan wachtwoord file
code:
1
2
3
$>htpasswd -nb fox testpwd >> /home/cvs/CVSROOT/passwd
$> cat /home/cvs/CVSROOT/passwd
fox:jFoQet6NfGpmg

handmatig de groep CVS toevoegen aan de user, zodat we volgende krijgen:
code:
1
2
$> cat /home/cvs/CVSROOT/passwd
fox:jFoQet6NfGpmg:cvs



lokaal inloggen om te testen:
code:
1
$> cvs -d :pserver:fox@localhost:/home/cvs login



ok, tot hier zijn we nu reeds. Wat raden jullie mij aan nog in te stellen / te wijzigen voor een goed draaiende CVS server?

[ Voor 4% gewijzigd door -FoX- op 05-08-2004 16:19 ]

Pagina: 1