UML软件工程组织

在Solaris下安装CVS服务器文档
作者:kilwenstone
假设我们的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服务器就会发现除了cvsadminKilven可以访问所有仓库以外,其他人只能访问自己组的cvs资源。

 

版权所有:UML软件工程组织