本篇主要讲述CVS服务器的安装与配置

(转载,经过验证,并作更改和添加)
一、安装

1、验证是否已安装CVS
#rpm -q cvs
如果能显示出类似这样的版本信息,证明已安装CVS:
#cvs-1.11.2-10

一般安装在/usr/bin/cvs,如果未安装,http://www.cvshome.org/下载一个最新的rpm安装即可;

2、创建CVS用户组与用户
root用户下执行以下命令:
#groupadd cvs
#adduser cvsroot
#passwd cvsroot

#输入cvsroot用户密码

3、创建CVSROOT
root用户下执行:
#mkdir /var/cvsroot 此处可改为你想要的cvsroot路径
#chown cvsroot.cvs /var/cvsroot 更改cvsroot权限

4、初始化CVS
需要在cvsroot用户下执行
#su - cvsroot
#cvs -d /var/cvsroot init 此处对应上面创建的cvsroot路径

5、修改环境变量
编辑/etc/profile或者/home下相应用户的.profile文件
此处已修改/etc/profile为例:
#exit
退回到root用户,只有root用户才有权限修改/etc/profile

#vi /etc/profile 编辑/etc/profile文件
在末尾加上以下两句:

CVSROOT=/var/cvsroot
export CVSROOT

更新环境变量:
#. /etc/profile
此时系统已经认识$CVSROOT这样的环境变量

注意:若提示无权限,则需要改变profile的权限后,再执行上一步骤;

#chmod 777 /etc/profile

6、启动cvs服务器:
在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:
# default: on
# description: The cvs server sessions;

service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/var/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24
}
其中only_from是用来限制访问的,可以根据实际情况不要或者修改。                        注意:如果路径/var/cvsroot与上面创建的不一致,或者为/var/cvsroot/,将出现no such repository问题。
修改该文件权限:
# chmod 644 cvspserver
然后重新启动xinetd:
# /etc/rc.d/init.d/xinetd restart
然后察看cvs服务器是否已经运行:
# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd                      或                                                                    #netstat -l |grep cvspserver 
tcp 0 0 *:cvspserver  *:* LISTEN
则说明cvs服务器已经运行。

二、使用管理

在 cvs 管理员用户(在我这里是 cvsroot 用户)的家目录里有一个 CVSROOT 目录,这个目录里有三个配置文件,passwd, readers, writers,我们可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:
  passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:
  {cvs 用户名}:[加密的口令]:[等效系统用户名]
readers:有 cvs 读权限的用户列表文件。就是一个一维列表。在这个文件中的用户对 cvs只有读权限。
writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。

1、创建可以登陆cvs服务的用户及密码,需要创建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件内容如下:
jiaojj:xxxxx:cvsroot
chenxu:xxxxx:cvsroot
此文件的意思是weiqiong和chenxu两个用户可以登陆cvs服务器,登陆后其权限为用户cvsroot的权限
注意:cvs用户和服务器用户是可以不一样的

※事实上必须创建jiaojj这样的系统用户

2、xxxxxx为密码,由以下文件生成:
vi /var/cvsroot/passwdgen.pl
文件内容:  
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";

3、修改passwdgen.pl为可执行

#chmod 111 passwdgen.pl 

如果需要密码为:some,则敲入:
passwdgen.pl "some"
回车即可得到加密密码,用其替换passwd文件中的xxxxxx

4、编辑 writers 文件,加入下面几行:  

 jiaojj

chenxu          

5、使用

关于CVS客户端的信息请看
TortoiseCVS,一个优秀的CVS客户端:
http://blog.o2.cn/lg/2004/11/28/tortoisecvs

WinCVS  cvs Windows客户端:目前稳定版本为1.2
http://cvsgui.sourceforge.net

Eclipse CVS客户端设置:

    Connection Type:pserver

    Host:192.168.200.193

    Repository Path:/var/cvsroot