CVS pserver
I set up my server on my Libranet server which is based on Debian. I am using Sarge sources. If you are running a different distribution, some files may differ but are essentially the same.
First you need to install CVS if it is not already installed. Type apt-get install cvs.
Once the server is installed you would want to make sure that you check the /etc/services and /etc/inetd.conf
This is /etc/services.
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
This is /etc/inetd.conf
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs –allow-root=/home/cvs/rep pserver
Next, you will need to create the repository directory. This is where your projects will reside, you can put it anywhere you want and call it whatever you want. I chose to put it in /home/cvs/rep. Also when creating this directory you want to make sure that the user that will be using this has ample permissions to the directory.
Depending on which shell you use you will need to set your environment variables for the cvs. I use bash so I will need to edit my ~/bashrc file and add the lines for the CVSROOT variable.
Here is an example for the local machine.
CVSROOT=”/home/cvs/rep”
export CVSROOT
Here is a remote example.
CVSROOT=”:pserver:username@servername:/home/cvs/rep”
export CVSROOT
Next you want to initialize the repository. You want to make sure you run this as the CVS user.
cvs -d /home/cvs/rep init
Now, everything should be working. It’s time to add projects to the repository. The way I like to do it is as follows.
Create a directory, or you can copy an existing directory with files. for example lets use ~/devslash.
mkdir devslash
cd devslash
cvs import devslash devslash start
Everything should be in your repository now under the directory of devslash. If you want to make sure, go into an empty directory and type cvs checkout devslash and all of the files should propagate down.
That should be enough to get you going. If you have any other questions or need more help you can get me as always by email.