Select Page

Here are some handy instructions for setting up a CVS server. I’m really posting them for my own benefit, but perhaps this will help someone else out there. I’ll be posting a follow up sometime with a walk-through of basic cvs use.
Server Setup

  1. .On your Red Hat 7.1 or higher box (I recommend this because it’s what I’ve used), make sure cvs is installed. If it’s not, get it and install it.
  2. .Decide where you’re going to put CVS. I installed it in /home/cvs/cvs
  3. .Edit the file

    and add the variable


    as well as adding


    to the list of variables in the export list.


  4. .At the prompt, type:


  5. .The console should return:
    /home/cvs/cvs is a directory
  6. .If it doesn’t, at the prompt, type:
    export CVSROOT=/home/cvs/cvs


  7. .Go to the directory you want to be the repository (i.e.

    ). Once inside, at the prompt, type:

    cvs init



  8. .This will create a folder within your repository called

    . Enter that directory.

  9. .Now we will set up users. For the first user, type:
    htpasswd -c passwd username


  10. .You will be prompted to enter the user’s password. Make sure you remember it.
  11. .For each additional user, type:
    htpasswd passwd username
  12. .For each additional user, you’ll enter a password.
  13. .Edit the file

    where you will see each user in the following format: username:scrambled password. Add to the end of each one :projectname so that each user is now username:scrambledpassword:projectname

  14. .Make a new file in





  15. .In that file, put the following:
    # CVS configuration for xinetd don't forget to specify your CVSROOT in
    #  /etc/cvs/cvs.conf.
    service cvspserver
            disable             = no
            socket_type         = stream
            protocol            = tcp
            wait                = no
            user                = root
            server              =/usr/bin/cvs
            server_args         = -f --allow-root=/home/cvs/cvs pserver
            log_type            = SYSLOG authpriv
            log_on_success      = HOST PID
            log_on_failure      = HOST


  16. .Restart the xinetd service.
  17. .Run
    netstat -pant

    to see if the server is now listening on port 2401.