Here is a little memo to set up anonymous CVS server using PServer.
Getting Started
First, you need to get CVS and cvsd. cvsd is a program that will run the CVS PServer in a chroot jail.
Setting up cvsd is a very straight forward process.
You can follow the steps described in the document linked below.
"No Such Repository" Error ?
After configuring cvsd, you may run into a problem such that you or anonymous users cannot access cvs by pserver method. The symptom is that you get "no such repository" error, even though the repository does exist.
The most common, less obvious cause of this problem is that you forgot to list the repository using an --allow-root option in your xinetd configuration file.
Example configuration for xinetd.conf is here.
service cvspserver
{
socket_type = stream
protocol = tcp
wait = no
user = root
passenv =
server = /usr/bin/cvs
server_args = --allow-root=/cvs/root pserver
}
The --allow-root=/cvs/root portion is a security measure, to make sure that people can't use CVS to get pserver access to repositories that are not supposed to be served remotely. Any repository intended to be accessible via pserver must be mentioned in an --allow-root. You can have as many different --allow-root options as you need for all of your system's repositories (or anyway, as many as you want until you bump up against your inetd's argument limit).
Links
Copyright (C) 2004 Akihiro Nakao.
All rights reserved.