(以下设置在RHL 9中通过)
一 安装CVS服务器
当安装RHL 9 后一般默认就安装上了,版本是cvs-1.11.2-10,你可以通过
[root@localhost /]rpm –qa cvs
来查询本机有没有安装,如果没有可以通过“添加和删除程序”添加“开发工具”里的cvs选项来添加,就可以了,如果想下载最新版,可到官方网站下载
二 CVS服务器配置
#more /etc/services | grep cvspserver
看看是否有:
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations
这2行。系统自带了CVS时,这2行也已经有了,只需要确认一下。如果没有,请自己加上去。然后创建启动脚本:
#vi /etc/xinet.d/cvspserver
内容如下:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_success += USERID
log_on_failure += USERID
}
其中server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs。server_args指定源代码库路径及认证方式等,例子中把源代码存放在cvsroot的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式,这种方式的安全性要差一些,但操作起来比较简单。(请注意每行等号左右都有一个空格,否则无法启动服务,最好在/etc/xinet.d/目录下复制一个文件来进行修改,然后重命名为cvspserver即可)
三 创建用于CVS的组和用户:
#groupadd cvs
#useradd cvsroot -g cvs
#passwd yourpsw
用户已经建立好了,cvsroot就是我们做CVS操作使用的。
四 初始化CVS
切换到cvsroot用户,然后进行初始化:
#cvs -d /home/cvsroot init
这个路径应该与cvspserver文件中指定的路径相同,初始化后会在此路径下面创建CVSROOT目录,存放用于CVS管理的一些文件。此时重新启动xinetd服务,CVS服务器应该能够启动了。:
#service xinetd restart
当然,重新启动计算机也可以。确认是否启动:
#netstat -l | grep cvspserver
如果能看到:
tcp 0 0 *::cvspserver *::* LISTEN
说明已经正常启动,没有的话请重新检查配置过程是否有错误或者遗漏。最后还必须检查防火墙的设置,把2401端口打开。
五 用户管理
[root@terry root]# chown -R cvsroot.cvs /home/cvsroot
[root@terry root]# chmod -R ug+rwx /home/cvsroot
[root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config
为了CVS系统的安全,我们要修改/home/cvsroot/CVSROOT/config文件,将"#SystemAuth =no"的前而的注释号#去掉,即改为:
SystemAuth =no
这样CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。
此外还必须配置读写权限,使用CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意,readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。
然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:
[root@terry root]# useradd -g cvs -M user1
[root@terry root]# passwd user1
上面的命令就创建了一个并没有Home目录的用户user1,接着将系统的shadow文件复制到CVSROOT, 并重命名为passwd:
[root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd
[root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd
然后修改passwd文件,将除刚才设定的可使用CVS的用户user1之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:
user1:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot
然后,删除掉刚刚在系统中添加的那个用户user1:
[root@terry root]# userdel -f user1
好了,做到这里,CVS的服务器端就已经安装设置好了,这样你的CVS用户就只能用passwd中规定的用户来登陆你的CVS服务器了,可以照此逐一为开发者们建立用户了
六 测试登录
# cvs -d :pserver:user1@127.0.0.1:/home/cvsroot login
输入密码如果没有出现其它的任何提示就表示登录成功了,否则要根据提示进行相应的修改。