Linux CVS Server<!----><o:p></o:p>
服务器端配置<o:p></o:p>
<o:p> </o:p>
首先添加cvs用户和用户组,以root用户运行下面命令(如果是FreeBSD 请用pw 命令):<o:p></o:p>
<o:p> </o:p>
# groupadd cvs<o:p></o:p>
<o:p> </o:p>
# useradd –g cvs cvsroot<o:p></o:p>
<o:p> </o:p>
创建cvs的主目录:<o:p></o:p>
<o:p> </o:p>
# mkdir /export #注:/export是你的cvsroot目录。<o:p></o:p>
<o:p> </o:p>
修改/export目录的属组为cvsroot用户和cvs组权限为770使同组成员可以读写该目录:<o:p></o:p>
<o:p> </o:p>
# chown cvsroot /export<o:p></o:p>
# chgrp cvs /export<o:p></o:p>
<o:p> </o:p>
# chmod 770 /export<o:p></o:p>
<o:p> </o:p>
初始化cvs服务的主目录:<o:p></o:p>
<o:p> </o:p>
# cvs –d /export init<o:p></o:p>
<o:p> </o:p>
修改/etc/inetd.conf文件使cvs服务能够响应客户端的cvs请求,在/etc/inetd.conf文件里面加入一行:<o:p></o:p>
<o:p> </o:p>
cvspserver stream tcp nowait root /usr/bin/cvs cvs -b /usr/bin --allow-root /export pserver<o:p></o:p>
<o:p> </o:p>
修改/etc/services,如果该文件里没有下面两行请自己加上:<o:p></o:p>
<o:p> </o:p>
cvspserver 2401/tcp # CVS client/server operations<o:p></o:p>
<o:p> </o:p>
cvspserver 2401/udp # CVS client/server operations<o:p></o:p>
<o:p> </o:p>
请注意这里的服务器名cvspserver是和/etc/inetd.conf文件中一致的。<o:p></o:p>
<o:p> </o:p>
重新启动inetd进程使改变生效:<o:p></o:p>
<o:p> </o:p>
# /etc/rc.d/init.d/inetd restart或运行<o:p></o:p>
<o:p> </o:p>
# killall –HUP inetd<o:p></o:p>
<o:p> </o:p>
也可以达到同样的目的。但在这里我建议你reboot<o:p></o:p>
<o:p> </o:p>
这时在cvs服务器上运行<o:p></o:p>
<o:p> </o:p>
$ netstat –na|grep 2401<o:p></o:p>
<o:p> </o:p>
就应该可以看到cvs服务侦听在2401端口<o:p></o:p>
<o:p> </o:p>
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN<o:p></o:p>
<o:p> </o:p>
这时cvs的服务器环境就基本搭建好了。<o:p></o:p>
<o:p> </o:p>
Redhat Linux pserver 启动:<o:p></o:p>
如果是Redhat Linux 在xinetd.d中加一个文件。启动pserver <o:p></o:p>
1.修改/etc/services,如果该文件里没有下面两行请自己加上:<o:p></o:p>
<o:p> </o:p>
cvspserver 2401/tcp # CVS client/server operations<o:p></o:p>
cvspserver 2401/udp # CVS client/server operations<o:p></o:p>
<o:p> </o:p>
2. 在/etc/xinetd.d/下创建cvspserver 文件。<o:p></o:p>
service cvspserver{ <o:p></o:p>
disable=no <o:p></o:p>
socket_type=stream <o:p></o:p>
wait =no <o:p></o:p>
user =cvsroot<o:p></o:p>
server = /usr/bin/cvs <o:p></o:p>
server_args = --allow-root=/cvsroot<o:p></o:p>
log_on_suceess +=USERID <o:p></o:p>
log_on_failure +=USERID <o:p></o:p>
} <o:p></o:p>
如果有多个源代码库,如下: <o:p></o:p>
server_args = --allow-root=/cvsroot --allow-root=/product <o:p></o:p>
<o:p> </o:p>
3. 重启xinet.d<o:p></o:p>