Newsgroup: it.comp.os.linux.sys
Titolo: CVS, pserver e RedHat 9

Salve NG,
sto provando a configurare un server CVS su una RedHat 9.
Con il cvs non ho problemi, nel senso che in locale il tutto funziona quindi
credo che tutti i permessi siano impostati correttamente.
Ho adesso necessità di accere in remoto a questo server da una macchina
windows (in particolare da un client scritto in java jCVS).
Non necessitando di particolari accorgimenti per quanto riguarda la
sicurezza (devo effettuare delle modifiche al client quindi il repository
CVS è solo per test) avrei intenzione di utilizzare pserver.
Il problema sorge appunto con pserver, non è ben capito se necessità di
altri eseguibili oltre a quello del cvs stesso.
ho trovato in rete alcune spiegazioni ma non riesco a farlo funzionare.
in /etc/xinetd.d/cvspserver ho scritto:
service cvspserver
{
        disable     = no
        port        = 2401
        socket_type = stream
        protocol    = tcp
        wait        = no
        user        = root
        passenv     = PATH
        server      = /usr/bin/cvs
        server_args = -f --allow-root=/var/lib/cvs pserver
}
in /etc/services ho:
...
cvspserver 2401/tcp
cvspserver 2401/udp
...
se provo a connettermi con:
export CVSROOT=:
pserver:us...@127.0.0.1:2401/home/cvshome/baseCVS
cvs login
..immetto la password UNIX dell'utente user2 che fa parte del gruppo cvs che
ha accesso al repository...
ottengo:
cvs [login aborted]: connect to 127.0.0.1(127.0.0.1):2401 failed: Connection
refused
Non riesco neanche a fare telnet su 
127.0.0.1:2401
.
Come posso risolvere questo problema??
Esiste un modo semplice per accedere il server cvs da remoto??

 ha scritto nel messaggio
news:3O28b.68663$R32.2...@news2.tin.it...


 gino
Ciao, 
grazie dell'interesse, questa mattina ho rifatto tutta la procedura,
ho creato un gruppo cvs con due utenti user1 e user2,
ho creato il repository e lo ho inizializzato in
/home/user1/repository
ho dato chmod -R 775 /home/user1/repository in modo da renderlo
accessibile
agli utenti del gruppo quindi ad user2.
user2 riesce ad accedere senza problema con
CVSROOT=/home/user1/repository
ora ho creato il file passwd in CVSROOT con 
altrouser:"passwordcrittata":user2
(per farlo ho usato htpasswd)
ho modificato xinetd.d/cvspserver e riavviato xinetd
poi ho provato a collegarmi con perser:
user2$cvs -d :
pserver:altr...@192.168.1.69:2401/home/user1/repository/
login
mi fa inserire la password ma poi dice "no such repository" (anche se
la password non è corretta)
Ho seguito il manuale della versione cvs che devo usare 1.11.2 ma non
riesco a venirne fuori, ti ringrazio per l'aiuto.
ciao,
nigno

 riesco a venirne fuori, ti ringrazio per l'aiuto.
allora, per prima cosa installa cvs (da rpm o da sorgenti, come ti pare).
poi crei una directory che sara' il repository dei sorgenti
per esempio: /home/cvsroot
quindi dai:
# cvs -d /home/cvsroot init
poi crei un gruppo cvsusers, e aggiungi gli utenti che ti interessano a
questo gruppo. usi le password di unix (quindi comando passwd) per
assegnare le parole d'ordine a questi utenti.
se usi inetd, aggiungi questo a /etc/inetd.conf (tutto sulla stessa riga):
2401 stream tcp nowait root /usr/bin/cvs cvs –f --allow-root=/home/cvsroot pserver
se usi xinetd (visto che hai rh9, userai sicuramente questo) puoi usare
questo, aggiustando eventuali percorsi:
service cvspserver
{
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = root
        id                      = cvspserver
        passenv                 = PATH
        log_type                = FILE /var/log/xinetdlog
        port                    = 2401
        log_on_failure          += USERID
        server                  = /usr/bin/cvs
        server_args             = -f --allow-root=/home/cvsroot pserver
        log_on_success          += USERID DURATION
        log_on_failure          += HOST USERID
        disable                 = no
}
riavvi xinetd e dovrebbe andare.
-- 
signature: No such file or directory

 questo, aggiustando eventuali percorsi:
[cut]
ho provato ma non funziona inoltre, se tento di fare telnet sulla porta 2401
a volte funziona altre no!!!
presumo che se funziona telnet il servizio sia attivo, 
se telnet và provo con:
cvs -d :
pserver:altro...@192.168.1.69:2401/home/user1/repository
ed ottengo che non trova il repository
se telnet non va mi dice che non è possibile collegarsi.
nel primo caso credo che sbaglio ad inserire la stringa CVSROOT ma non
capisco dove, sia sul solito manuale che sull'HOWTO è spiegato cosi.
se puoi aiutarmi te ne sarei grato perchè è da ieri che ci provo ad avrò
rifatto la procedura almeno 100 volte!!
Ciao,
nigno

 la password non è corretta)
hai controllato il file config in CVSROOT: la riga SystemAuth serve per
indicare al cvs se far fare l'autenticazione al sistema e non guardare il
file di pass in CVSROOT.
ciao

Ho risolto, vi sono davvero grato!!!
Cio che sbagliavo era il file cvspserver
messo apposto come consigliato da voi è andato tutto bene!!
(non so bene perchè se letto con less non era indentato bene,
lo ho riscritto da zero con vi, e telnet andava... ho provato con cvs e
andava...)
ora funziona sia con autenticazione tramite sistema che tramite
CVSROOT\passwd. (ho provato sia con SystemAuth=yes che credo sia il default
e SystemAuth=no)
Grazie ancora,
nigno.