网普技术论坛 网普科技  
» 游客:   网普主页 | 注册 | 登录 | 帮助
 

作者:
标题: 如何在linux下搭建CVS?请高手指点 上一主题 | 下一主题
??????????
网普朋友





积分 2
发贴 2
注册 2004-6-27
状态 离线
#1  如何在linux下搭建CVS?请高手指点

目前公司为了对每位员工的日工作进行管理,需要建一个管理平台,我觉得CVS比较实用,想自己建一个,怎么着手啊?

2005-1-31 08:17 PM
查看资料  发送邮件  发短消息   编辑帖子  引用回复 顶部
网普科技
网普管理员

网普科技人民公仆


积分 3080
发贴 2863
注册 2004-6-26
来自 网普科技
状态 离线
#2  

如果大家都用WINDOWS
那么用VSS也不错啊

呵呵



天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。



网普科技,优质美国主机服务!
美国Linux主机,美国虚拟主机
支持PHP+MYSQL+cPanel+EMAIL
为用户负责,拒绝反动、赌博及色情内容! QQ:126818

发送QQ消息
2005-1-31 08:34 PM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部
网普科技
网普管理员

网普科技人民公仆


积分 3080
发贴 2863
注册 2004-6-26
来自 网普科技
状态 离线
#3  网上找到的一篇文章,希望对您有参考价值

CVS服务器的安装与管理

作者:Trotter
邮箱:trotter@kekerde.net
出处:www.gbunix.com

转载请保持文档完整,注明出处。

CVS服务器的安装与设置相关文档网上已经很多了,但是对于如何管理CVS服务器技巧方面的文档很少。笔者就曾经遇到这样的情况:有好几个团队同时开发好几个项目,共享一台CVS服务器,需求是各个团队CVS权限分开,不可以互相访问。但是PM,测试工程师需要同时拥有好几个项目的权限。这样就出现了交叉权限。权限怎么分配呢?有很多朋友第一个概念就是使用操作系统的组的权限去划分,我也是被这种思路整整困了好几个月。我告诉大家的是,使用操作系统的组去进行权限的划分与传递,会给管理带来很大的困难。由于篇幅的关系,具体原因我就不进行阐述了。如果你有兴趣,可以自己试一下就明白了。这篇文档我主要想说明通过CVS多仓库(多cvsroot)来实现权限的分离与交叉。

一 CVS服务器的安装:

1。查看你的操作系统上是否安装了CVS:

#> rpm -qa|grep cvs

如果没有安装你可以在Redhat 9.0的第2张光盘上找到,另外你也可以在http://www.cvshome.org 下载到最新的rpm包。

2。建立cvs用户组:

#> groupadd cvs

3。建立cvs组的cvsroot用户和所属的目录:

#> useradd -g cvs -G cvs –d /cvsroot cvsroot

4。为cvsroot用户添加密码:

#> passwd cvsroot

5。改变 /cvsroot/ 的目录属性:

#> chmod –R 770 /cvsroot

6。改变用户登陆身份:

#> su cvsroot

7。开始创建单个项目:

#> cd /cvsroot
#> mkdir project1
#>mkdir project2

8。开始建立仓库:

#> cvs –d /cvsroot/project1 init
#> cvs –d /cvsroot/project2 init
#> chmod –R 770 ./project1/ ./project2/

9。建立CVS服务启动文件,我们使用xinetd方式:

#> [Crtl]+[d] 切换到root用户身份
#> cd /etc/xinetd.d
#> vi cvspserver


service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server= /usr/bin/cvs
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver
log_on_failure += USERID
}


注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:

#> vi cvspserver


service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /cvsroot/cvs.run
log_on_failure += USERID
}


编写cvs.run脚本

#> vi /cvsroot/cvs.run


#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/cvsroot/project1 \
--allow-root=/cvsroot/project2 \
pserver


#>chmod +x /cvsroot/cvs.run

10。加入cvs服务:

#>vi /etc/services

cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

11。启动cvs服务:

#> /etc/init.d/xinetd restart

12。检查cvspserver服务是否已经启动:

#> netstat -l |grep cvspserver
应该有如下结果:

tcp 0 0 *:cvspserver *:* LISTEN


二。CVS服务的用户管理:

上面我们已经建立了project1和project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。

13。创建可以登陆cvs服务器的用户名和密码:

#> su cvsroot
#> vi /cvsroot/project1/CVSROOT/passwd

trotter:*****:cvsroot
mimi:*****:cvsroot

#>vi /cvsroot/project2/CVSROOT/passwd

trotter:*****:cvsroot
gary:*****:cvsroot

这两个文件的意思是有trotter,mimi,gary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1和project2的使用权限。登陆后的权限是cvsroot权限。
注意:这里的cvs用户和系统用户是不同的。

14。*****为密码,由以下文件生成:

#> vi /cvsroot/passwd.pl


#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";


#>chmod a+x /cvsroot/passwd.pl

15。如果你想生成一个密码是“123456”,则:

#> /cvsroot/passwd.pl “123456”

回车即可得到加密密码,用其替换passwd文件中的*****

16。Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1和project2的权限,你就给/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:

#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login

敲入命令回车后提示输入trotter的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是192.168.1.200)

参考文献:
http://www.gbunix.com/bbs/viewtopic.php?t=64
http://www.fanqiang.com/a6/b9/20020627/060200259.html



天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。



网普科技,优质美国主机服务!
美国Linux主机,美国虚拟主机
支持PHP+MYSQL+cPanel+EMAIL
为用户负责,拒绝反动、赌博及色情内容! QQ:126818

发送QQ消息
2005-1-31 08:40 PM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部
茱莉娅
THE BODY SHOP美容顾问

茱莉娅美体小铺


积分 3080
发贴 2863
注册 2009-5-21
来自 茱莉娅美体小铺
状态 离线
#3  赞助商信息The body shop

茱莉娅美体小铺
茱莉娅美体小铺淘宝店
茱莉娅美体小铺


茱莉娅美体小铺淘宝店
2005-1-31 08:40 PM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  




Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.
Processed in 0.012870 second(s), 7 queries, Gzip enabled
------------------------------------------------------------------------------
本论坛属网普科技交流与技术支持论坛!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
美国主机, 美国虚拟主机, cPanel+PHP+Mysql+Ftp+Email+Zend+GD2+国际域名支持
技术支持 QQ: 126818 EMail & MSN: support[AT]netpu.net
[ 联系我们 ] - [ 网普科技 ]