First decide where you want to store all cvs repositories. Let's take /usr/cvsrepositories

First decide where you want to store all cvs repositories. Let's take /usr/cvsrepositories

# mkdir /usr/cvsrepositories

# mkdir /usr/cvsrepositories

Now you can create directories for different projects.

Now you can create directories for different projects.

# cd /usr/cvsrepositories

# cd /usr/cvsrepositories

# mkdir mycompany

# mkdir mycompany

# mkdir myprivatestuff

# mkdir myprivatestuff

This projects must have chmod 770 to separate them from each other.

This projects must have chmod 770 to separate them from each other.

# chmod 770 mycompany

# chmod 770 mycompany

# chmod 770 myprivatestuff

# chmod 770 myprivatestuff

# Creating user groups

# Creating user groups

You should create a group for projects, where people are working together.

You should create a group for projects, where people are working together.

# group add mycompanyname

# group add mycompanyname

You should now assign this group to the project directory they belong.

You should now assign this group to the project directory they belong.

# cd /usr/cvsrepositories

# cd /usr/cvsrepositories

# chgrp mycompanyname mycompany/

# chgrp mycompanyname mycompany/

# cvs init

# cvs init

Before you can either checkout or import anything, you have to init your projects root directory. To keep the path short for the CVSROOT environment variable, I recommend using symlinks to the repository from the root /.

Before you can either checkout or import anything, you have to init your projects root directory. To keep the path short for the CVSROOT environment variable, I recommend using symlinks to the repository from the root /.

# cd /

# cd /

# ln -s /usr/cvsrepositories/mycompany mycompany

# ln -s /usr/cvsrepositories/mycompany mycompany

Now create the cvs repository using

Now create the cvs repository using

# cvs -d /mycompany/ init

# cvs -d /mycompany/ init

# Creating users

# Creating users

Now create users that are allowed to check out from your repository. Keep company workers in the group you have created before.

Now create users that are allowed to check out from your repository. Keep company workers in the group you have created before.

# useradd -G mycompanyname -m john

# useradd -G mycompanyname -m john

And set a password for the user john

And set a password for the user john

# passwd john

# passwd john

It's your decision if you want to grant the users shell access or not.

It's your decision if you want to grant the users shell access or not.

# Setting environment variables

# Setting environment variables

Please set the environment variables CVSROOT and CVS_RSH. Bash or ksh users please use export.

Please set the environment variables CVSROOT and CVS_RSH. Bash or ksh users please use export.