配置CVS服务器

来源:互联网 发布:淘宝快递盒子 编辑:程序博客网 时间:2024/04/29 13:48

首先安装了RHEL 4。默认情况下,如果你选中了RHEL的开发包,CVS就会默认安装了。RedhatCVS是把客户端和服务端放在了一个rpm包中了。害我找了半天的cvsd L

 

 

 

如果是编译安装,需要你在/etc/service文件中添加下面的两行:

cvspserver 2401/tcp # cvs client/server operations
cvspserver 2401/udp # cvs client/server operations

 

 

 

由于我是RHEL自带安装的,所以这两行在暗转过完成后就有了。

 

 

 

之后需要我们配置xinetd

/etc/xinetd.d/目录中创建一个文件,文件名随意。推荐:cvspserver。这个名字会作为你的CVS服务的名字出现在System Services配置列表中【输入setup命令然后选择System Services】。

在这个文件中输入:

service cvspserver

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/bin/cvs

env = HOME=

server_args = -f --allow-root=/cvs/cvsroot pserver

log_on_success += USERID

log_on_failure += USERID

}

注意:

1.         这里不要修改什么格式,每个参数行前最好不要有空格。参数行中等号的两侧各有一个空格!千万不要弄错了,我就在这上面花费了两天的功夫;

2.         最后一行中的pserver要放在行末。不然会出现—allow-root 错误

3.         如果有多个CVS库,可以这样写:server_args = -f –allow-root=/cvs/cvsroot –allow-root=/cvs/cvsrootold pserver  这里,每个库之间都有一个空格格开。不然就会有 no such repository错误

 

 

 

完成之后,输入 /etc/init.d/xinetd restart 启动服务;

使用netstat –l 看看cvs服务是否已经启动。

 

 

 

下面就是服务端的设置问题了。

#useradd –d /cvs/cvsroot cvs              //创建一个cvs用户,home/cvs/cvsroot 参见xinetd定义

#groupadd cvs                                   //创建一个cvs用户组

#usermod –G cvs  cvs               //设置用户cvs的属组是cvs

#chmod 755 –R /cvs/cvsroot        //设置cvsroot目录让其他的用户都能访问

#su – cvs

$cvs –d /cvs/cvsroot init                     //初始化cvsroot目录

$exit

-d 后面跟要初始化的数据库路径,要绝对路径,init参数告诉cvs命令对-d后面的目录进行初始化。初始化的结果是在数据库目录下创建一个CVSROOT子目录,下面包括了cvs库使用的配置文件。

 

 

 

接下来是创建用户。由于前面指定了服务器的安全模式为pserver,这种模式的用户认证是建立在一个passwd文件之上的。进入你的cvs数据库的目录下,如/cvs/cvsroot,再进入CVSROOT子目录,在这个目录下创建一个passwd文件,文件的内容为:

  user1:XXXXXX:luser1

  user2:XXXXXX:luser1

  user3:XXXXXX:luser2

其中userX为登录cvs的用户名,XXXXXX为加密后的用户密码,luserXlinux本地用户,这个本地用户要求至少有对cvs数据库目录的读权限。简单地说,用户以userX身份在客户端登录,服务器验证密码通过后使用后面跟着的luserX用户对cvs数据库文件进行存取。luserXcvs数据库目录的存取权限决定了用户使用cvs的权限。创建passwd文件有一个简单的方法,就是使用apachehtpasswd命令创建用户及其密码的文件,这个命令创建的文件没有上面要求的linux本地用户,手工添加上适当的本地用户后就可以作为passwd文件使用了。

 

 

 

有了用户后,就可以使用客户端进行cvs的操作了。首先要进行一些配置。前面说了,在cvs数据库目录下的CVSROOT子目录存放的是这个库的配置文件,其中有些是有必要进行重新配置的。

  先用客户端登录,取出CVSROOT的所有内容。在客户端编辑文件config,把SystemAuth=no前面的#号去掉,这个配置项禁止了客户使用linux用户名进行登录。修改LockDir的内容,给它指定一个路径并且注意给这个路径合适的权限。这个LockDircvs用来存放lock文件的。config文件其他的配置项就不需要改了。修改完成后,在客户端把config文件commit,提交到数据库中,cvs发现配置文件被修改,就会自动重新加载配置文件的内容,使配置生效。

原创粉丝点击