google了半天,终于决定在测试机redhat 7.2上装cvs了。
一般的,装完redhat,cvs就已经装上了,不过我装这台测试机的时候,由于光驱是坏的,找遍全公司终于搜出来一张能用的软盘,就直接跑到hk的redhat ftp镜像上网络装了,居然连ftp、telnet之类的命令都没装上去,只好手工装了。
到www.cvshome.org下载了份tar.gz包,一如既往的,解包,configure、make、make install,完装完毕。
先建了个cvs的组,然后再创建一个用户useradd -g cvs -d /cvs cvs,然后su cvs
$export CVSROOT=/cvs/test
$cvs init
瞅了一下/etc/services,关于pserver的配置是打开的,省得自己去删#了
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
在/etc/xinetd.d/下面建了一个cvspserver文件
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = cvs
protocol = tcp
server = /usr/bin/cvs
server_args = -f --allow-root=/cvs/test pserver
log_on_failure += USERID
}
执行service xinetd restart 命令,用netstat -an瞅了瞅,pserver的2401端口起来了。就这么简单!
在cvshome.org上下了个w2k上用的cvs命令工具,在工作机上试了一下,一切正常
D:\cvsnt-2.1.1-bin>set CVSROOT=:pserver:cvs@61.166.153.14:/cvs/test
D:\cvsnt-2.1.1-bin>cvs login
Logging in to :pserver:cvs@61.166.153.14:2401:/cvs/test
CVS password: ********
正常是正常了,但总不能老用linux的系统帐号来玩吧?继续。。
机器上刚好装过apache,就借用apache的htpasswd了
#/www/apache_1.3.29/bin/htpasswd -bc /cvs/test/CVSROOT/passwd wuyu passwdtest
#vi /cvs/test/CVSROOT/passwd
anonymous::cvs
test:ETvlR5E7l1HY6:cvs
test2:ETvlR5E7l1HY6:cvs
test3:ETvlR5E7l1HY6:cvs
.......
然后创建了个writer文件,把有写权限的用户加进去
#vi /cvs/test/CVSROOT/writers
test
test2
test3
再建一个readers文件,把只允许读的用户加进去
# vi readers
anonymous
收工!
来源:http://wuyu.mblogger.cn/posts/307.aspx
补充:
用Apache的htpasswd工具创建了passwd文件后,这个文件里只有用户名和密码,如“test:ETvlR5E7l1HY6”,需要在后面再加上“:cvs”,成为“test:ETvlR5E7l1HY6:cvs”,才能将虚拟用户映射为真实的cvs用户,该虚拟用户才能登录CVS。