在Solaris下安装CVS服务器文档
假设我们的CVSROOT在/opt/cvs
找到原代码www.cvshome.org下载回来
解压
$gunzip cvs-1-11.tar.gz
$tar xvf cvs-1-11.tar
会回生成一个叫cvs-1.11的目录,进入目录编译,
$cd cvs-1.11
$./configure --prefix=/usr/local/cvs
(--prefix参数是指定安装目录,相信大家都应该知道吧)
$make
$su root
#make install
将/usr/local/cvs/bin 加入到PATH环境变量中。
输入cvs –version测试。正确的话会显示cvs的版本号。
操作完毕后,CVS服务器需要的软件部分就安装上了,下面就要进行一些设置
建立用户组和用户帐号
创建组
groupadd group1
groupadd group2
groupadd group3
groupadd test (测试)
groupadd cvsadmin(管理员)
建立用户
Useradd –m –g cvsadmin –G GID –d /export/home/cvsadmin –s /bin/bash cvsadmin
Passwd cvsadmin
输入cvsadmin 的密码
同样的方法创建其他用户
在/opt/cvs/下建立文件夹
Mkdir group1 group2 group3 test undercontral(受控库)
初始化CVS服务器,初始化过程中将 CVS将创建它所用的系统文件,并写入原始内容。
#cvs –d /opt/cvs/group1 init
#cvs –d /opt/cvs/group2 init
#cvs –d /opt/cvs/group3 init
#cvs –d /opt/cvs/test init
#cvs –d /opt/cvs/undercontral init
查看 /opt/cvs/group1、/opt/cvs/group2、/opt/cvs/group3、/opt/cvs/test、/opt/cvs/undercontral目录,每个文件夹该生成一个CVSROOT文件夹,且该目录下面有很多系统文件。
编辑/etc/services文件并且加入:
#vi /etc/services
cvspserver 2401/tcp #cvs server tcp port
cvspserver 2401/udp #cvs server udp port
编辑/etc/inetd.conf文件并且加入:
#vi /etc/inetd.conf
cvspserver stream tcp nowait root /usr/local/cvs/bin/cvs cvs -f --allow-root=/opt/cvs/group1 --allow-root=/opt/cvs/group2 --allow-root=/opt/cvs group3 --allow-root=/opt/cvs/test --allow-root=/opt/cvs/undercontral pserver
从新启动inetd进程
#ps -ef |grep inetd(查inetd的进程号)
#kill -1 inetd的进程号
telnet localhost 2401
如果出现光标闪动 输入ok 回车 出现
[bash-2.03]root@solaris:/data/project>telnet localhost 2401
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ok 回车
cvs [pserver aborted]: bad auth protocol start: ok
则说明cvs服务器已经正常运行了。
权限管理
进入/opt目录
Chgrp sys –R cvs
Chmod –R 755 cvs
进入/opt/cvs目录
Chgrp –R group1 group1
Chgrp –R group2 group2
Chgrp –R group3 group3
Chgrp –R test test
Chgrp –R cvsadmin undercontral
Chmod –R 770 group1 group2 group3 test undercontral
编辑/etc/group
把cvsadmin或者其他管理员帐号(例如:Kilven)加入到cvsadmin group1 group2 group3 test五个组中
cvsadmin::102:cvsadmin,Kilven
group1::104: cvsadmin,Kilven
test::105:cvsadmin,Kilven
group2::106:cvsadmin,Kilven
group3::107:cvsadmin,Kilven
此时你再访问cvs服务器就会发现除了cvsadmin和Kilven可以访问所有仓库以外,其他人只能访问自己组的cvs资源。