今天开发组的同事让我帮忙部署一个版本控制系统并要求是CVS平台,上网整理了点资料,折腾了两天算是搞定了吧,下面把步骤共享给各位
我的系统平台是RedHat AS4U6
在shell下使用rpm -qa | grep cvs查看一下,一般都是集成了cvs的程序包,不过如果你不幸的话,就自己安装一下,安装特简单没有必要在这里浪费时间,我的主程序版本是这个cvs-1.11.17-
9.RHEL4
一般cvs版本控制的分区希望是单独划分的给足空间,我的是/cvs目录
我们先来创建使用cvs的用户
groupadd cvs    先创建用户组方便管理
useradd  -g cvs -d /cvs user1
password user1
useradd  -g cvs -d /cvs user2
password user2
chgrp -R cvs /cvs
cvs -d /cvs init   初始化cvs源代码库
查看cvs目录下会生成一个大写的CVSROOT目录,它里面全是配置文件
查看一下/etc/services其中要有
cvspserver 2401/tcp
cvspserver 2401/udp
如果没有就手动添加即可
将cvs添加到xinetd服务
vi /etc/xinetd..d/cvspserver
service cvspserver
{
flags             = REUSE
socket_type       = stream
wait              = no
user              = root
server            = /usr/bin/cvs
server_args       = -f --allow-root=/cvs pserver
log_on_failure   += USERID
disable           = no
}
这里注意cvspserver的定义名要和services中cvspserver匹配,别瞎写
cp /etc/shadow /cvs/passwd我是为了节省时间,哈哈,偷懒的
我们把passwd的文件修改成以下格式
user1:$1$DoZmfSHe$V/g//YEr11EgKZf0k6ibo1:uesr1
user2:$1$QQ947//p$czAbpGzan08UAQpftnuHw1:user2
中间的长字符是他的密码
这里我们还要创建两个文件一个是writers一个是readers内容如下
vi /cvs/CVSROOT/readers
anonymous
vi /cvs/CVSROOT/writers
user1
user2
看明白了吗,这两个文件是控制权限的,如果只是让他读就到readers里,如果是读写就到writers中,readers优先级高于writers。
配置好了,我们重启xinetd服务
/etc/rc.d/init.d/xinetd restart
然后确定一下cvspserver服务是否启动成功
netstat -l | grep cvspserver
tcp   0      0 *:cvspserver      *:*     LISTEN看到这个结果就是正常的了
登陆另外一台linux系统使用
cvs -d :pserver:user1@cvsserver:/cvs  login
如果没有返回任何结果就表明正常其次就可以使用windows客户端来连接使用了