CVS在Redhat 下的配置
上一篇 / 下一篇 2007-11-17 00:29:19 / 个人分类:linux
CVS在Redhat下的配置
.服务器的安装略过不提,因为安装了开发工具的话默认就已经有了CVS。如果忘记安装,可以在Linux的XWindows界面通过添加删除程序来安装。
检查CVS是否已安装:
rpm –qa|grep cvs
如果显示类似如下输出则显示已安装
cvs -1.11.1p1-3
1.首先创建用于CVS的组和用户:
代码:51Testing软件测试网 b)Jr H1}8r&EPa @ \
#groupadd cvs
;\([H;^:gH(M0#useradd cvsroot -g cvs
8nZUZ N.T0#passwd cvsroot
OK,用户已经建立好了,cvsroot就是我们做CVS操作使用的。
2.修改配置文件
代码:
:G p n
{1F-S0Hg0#more /etc/services | grep cvspserver
看看是否有(这里是查看/etc/services文件中是否已经配置cvs)
代码:51Testing软件测试网v-r \|nc#e8zb
cvspserver 2401/tcp #CVS client/server operations
:^BJZ8q6j0cvspserver 2401/udp #CVS client/server operations
这2行。系统自带了CVS时,这2行也已经有了,只需要确认一下。如果没有,请自己加上去(如上显示的2句)。
O4cVIF2@2F-{0然后必须创建启动脚本:
代码:
.Y+RVJ#f||Fk
j*B0#vi /etc/xinet.d/cvspserver
内容如下
代码:
"c'w+k*Y)\i#H0service cvspserver
P@2f{
Y%{ B3J5l f}0{
Jw1u(l[!{0disable = no
9C0rMBDJj0flags = REUSE51Testing软件测试网6O/N)L5\&A.v
socket_type = stream
D:xO m
Cw0wait = no51Testing软件测试网 Zg*uy6@ h|F*a
user = root
*['U"h5]-FWW,kp
cwG0server = /usr/bin/cvs51Testing软件测试网v^iEMV
server_args = -f --allow-root=/home/cvsroot pserver51Testing软件测试网Tis9{7D-S#dR H
log_on_success += USERID51Testing软件测试网@
~qu#_'e
log_on_failure += USERID51Testing软件测试网W nj#_fj
}
其中server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs。server_args指定源代码库路径及认证方式等,例子中把源代码存放在cvsroot的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式,这种方式的安全性要差一些,但操作起来比较简单。请注意每行等号左右都有一个空格,否则无法启动服务。
3.初始化CVS51Testing软件测试网;RO_Zu
切换到cvsroot用户,然后进行初始化:
代码:
B!M'W6A{6b6aVf0#cvs -d /home/cvsroot init
这个路径应该与cvspserver文件中指定的路径相同,初始化后会在此路径下面创建CVSROOT目录,存放用于CVS管理的一些文件。此时重新启动xinetd服务,CVS服务器应该能够启动了。
代码:
VU9C!X(P8T/}0#service xinetd restart
当然,重新启动计算机也可以。确认是否启动:
代码:51Testing软件测试网m+w(Vh4c7J TtC
#netstat -l | grep cvspserver
如果能看到
代码:51Testing软件测试网%_x5vf
R5F&i:N
tcp 0 0 *:cvspserver *:* LISTEN
说明已经正常启动,没有的话请重新检查配置过程是否有错误或者遗漏。最后还必须检查防火墙的设置,把2401端口打开。
4.用户管理51Testing软件测试网HZtJXjV;i
CVS默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。CVS用户名和密码保存在CVSROOT目录下的passwd文件中,格式为:
代码:
!^/neFy} ~ d0用户名:密码:系统用户
也就是说,它把CVS用户映射到系统用户,这样我们就可以通过系统用户的权限设置来分配给用户不同的权限,而不需要让用户知道系统用户名和密码。51Testing软件测试网7r`PRh'\L:p
passwd文件默认并不存在,我们必须自己创建。文件中的密码字段使用MD5加密,不幸的是CVS没有提供添加用户名的命令,所以我们借用Apache的命令来完成这项工作:
代码:51Testing软件测试网[F['l&q8jP m
#htpasswd passwd username
这个命令为username指定密码,并保存在passwd中,文件不存在时会自动创建。htpasswd命令不是为CVS而设,因此总有一些遗憾,它不能自动添加映射到的用户名,不过没关系,我们设置好密码后,自己把这部分加上。我的做法是映射到cvsroot用户,如果需要映射其他的用户,请注意给相应的目录设置好权限,否则CVS用户可能无法访问源代码仓库。
\i#T_;L@0要彻底防止使用系统帐号登陆,可以编辑CVSROOT目录下的config文件,把
代码:51Testing软件测试网{[[X({e
#SystemAuth=no
这一行前面的#去掉,CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。
8` IXPX%v8\_0此外还必须配置读写权限,使用CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意,readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。
配置完毕,先测试一下:
代码:51Testing软件测试网;{Pa
X]6At
#cvs -d :pserver:username@127.0.0.1:/home/cvsroot login