软件测试是为了发现错误而执行程序的过程。 QQ: 12585990 MSN:sunxy5291@hotmail.com

CVS使用速成配置 ---我给公司搭建CVS服务器就是参照这个的

上一篇 / 下一篇  2007-08-06 17:09:10 / 天气: 阴雨 / 心情: 平静 / 精华(1) / 置顶(1) / 个人分类:我的BIOG


#G8}k4Zk PX051Testing软件测试网%^&`'hhn
CVS服务器的安装:
*R1r nF@!ezz1z01
。查看你的操作系统上是否安装了CVS

8_O`tg7u0#> rpm -qa|grep cvs
)a \y'P{R0
.x'P9cOf9?_0
如果没有安装你可以在Redhat2张光盘上找到,另外你也可以在网上下载到最新的rpm包。很容易找,其实不存在什么linux版本。
51Testing软件测试网5jn9l]&T%L)czL"yC

%`|/x$x'^P/pog R(XG8_02
。建立cvs用户组:

s rf)gC(D:x.y2v*{0
Z&el5FBM0#> groupadd cvs51Testing软件测试网RW4q;Nx0E&O;U
51Testing软件测试网(H0l4?$n%@U
3
。建立cvs组的cvsroot用户和所属的目录:
51Testing软件测试网`0c6f0rKm\1T
51Testing软件测试网k k{+a/E L
#> useradd -g cvs -G cvs –d /cvsroot cvsroot
r6v;`v(O"X0
Z ASk"Js*N*W04
。为cvsroot用户添加密码:
51Testing软件测试网wMG La/m%`h z

hd{ BD6K0#> passwd cvsroot51Testing软件测试网v*m~K z(f
51Testing软件测试网"h-_v"pRX f U:Y5H&I
5
。改变/cvsroot/的目录属性:

+FB C YF6Su"J,}6Xdi0
}!P i9c&M Ut3wg0#> chmod –R 770 /cvsroot51Testing软件测试网.?;f$n~'a

? ?mTgY1Dz06
。改变用户登陆身份:

0I SK@0^!F(~0
DOs@"o+V8Mz0#> su cvsroot51Testing软件测试网 `a-gAQ j

d `PuY/V`uA07
。开始创建单个项目:
51Testing软件测试网.OVHX0M@s+`

7Tk$NHK0#> cd /cvsroot
2Q0xpz ~0#> mkdir project1
@`7J&t)i @9}t0#>mkdir project2
a0E'N1`~,`6F08
。开始建立仓库:
51Testing软件测试网,\CqX/z m4oe[
51Testing软件测试网"D G I)\ yI,H6w,f,u5T"M
#> cvs –d /cvsroot/project1 init51Testing软件测试网$\{,mGwn
#> cvs –d /cvsroot/project2 init
"b-V4x3bv E!FF:n6qD^0#> chmod –R 770 ./project1/ ./project2/
Q,}0\ osP4z6w2e$Al051Testing软件测试网rt:D}Mj _
9
。建立CVS服务启动文件,我们使用xinetd方式:
51Testing软件测试网],Q0Ra:O@

;g Xg }||0#> [Crtl]+[d]
切换到root用户身份

?5Yq@Gh B0#> cd /etc/xinetd.d51Testing软件测试网!B P;ecFMS1^
#> vi cvspserver51Testing软件测试网~0kA(W5Q#YxR
51Testing软件测试网0YN#BK7xm(zd xs8Ca
service cvspserver
#sf,T!|9I[~6j;e)fb0{51Testing软件测试网/J%ZdI-C\6?dK
disable = no51Testing软件测试网&`*s mM3u:{x8e
flags = REUSE51Testing软件测试网e }h:o9x+{a
socket_type = stream
z5iU4Pm HQ0wait = no51Testing软件测试网\D J1d8t1d2{]
user = root
:Oe7`#x m0server= /usr/bin/cvs51Testing软件测试网IO%y:V([
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID51Testing软件测试网qA`i5m0s+Ork
}
Eob"mX}2[,sp0
/^z{*A s0
注:由于xinetdserver_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
51Testing软件测试网(qG w6gI*G

R N"D*h:Jr&y,t0#> vi cvspserver
%Q H+w"jC1q^051Testing软件测试网1`(~FX]E
service cvspserver
EyxUm+{0{51Testing软件测试网!mX8f9J9C
disable = no51Testing软件测试网0r}_q'f3dh
flags = REUSE51Testing软件测试网o7L`A%uH `z
socket_type = stream51Testing软件测试网 r[}ps`!C9h*D
wait = no
N'jIhd0T_gCY J0user = root
S?Er x},em0server = /cvsroot/cvs.run51Testing软件测试网~G.L}!~a J
log_on_failure += USERID51Testing软件测试网$F*M j[0U N
}51Testing软件测试网 ZB,E;R+Yqf
51Testing软件测试网C9~ hF3VC5_/[a
编写cvs.run脚本

"C$[d%r"S1c_$a051Testing软件测试网Yt6zy(nh
#> vi /cvsroot/cvs.run
J^)O1~)@ N051Testing软件测试网+D7V7wV"q W
#!/bin/bash
V0YgE;kJ0/usr/bin/cvs -f
KM-Sm2] | ]7m Ma5X0--allow-root=/cvsroot/project151Testing软件测试网2jRg` wH{-o J
--allow-root=/cvsroot/project251Testing软件测试网K+R$@Heh
pserver51Testing软件测试网1s"bo8a3EXB+K
51Testing软件测试网-_%k?N N6RH)V$@1];H
#>chmod +x /cvsroot/cvs.run
} J#NUk&t0Qp051Testing软件测试网/v4\`TX1a @9YW
10
。加入cvs服务:
51Testing软件测试网(\bJX9k6Mh&`p
51Testing软件测试网 Y?#U| jjs
#>vi /etc/services
5t&}D RB fc(j051Testing软件测试网I/f)q*{ WK
cvspserver 2401/tcp #pserver cvs service
){KDRSE P0cvspserver 2401/udp #pserver cvs service
-^'F2k&@@h%\011
。启动cvs服务:

2w"~*g"}-M U9xC,b0
q6`m*x+m~ s3m5{ w0#> /etc/init.d/xinetd restart51Testing软件测试网0M8b3S:M/q+V%`O

![1Bw k:k}}y012
。检查cvspserver服务是否已经启动:
51Testing软件测试网$K Vr;rBU0f

cq!}2?-T+v0#> netstat -l |grep cvspserver
#r@vp M0T0
应该有如下结果:
51Testing软件测试网qRH{dM:W _y R f
51Testing软件测试网R(VoR(SL}q
tcp 0 0 *:cvspserver *:* LISTEN51Testing软件测试网&Q[!ax:@7hXS+z'v:j
51Testing软件测试网3j+wLi;SdD
二。CVS服务的用户管理:

cQ*W8A K#|&t0
K1t!oy"eh2B0D0
上面我们已经建立了project1project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。
51Testing软件测试网8T3Zo1_+T.T;LxG0^
51Testing软件测试网N0y0m{/o1k-v
13
。创建可以登陆cvs服务器的用户名和密码:

'T ]2Q&`#U4s5r051Testing软件测试网~*h,yV0?-]*m
#> su cvsroot51Testing软件测试网:D7d7a'R8KF/`
#> vi /cvsroot/project1/CVSROOT/passwd51Testing软件测试网1RF*XO(X'j

'U|3A-Q!isZ0trotter:*****:cvsroot51Testing软件测试网J ~E5\ih{g ?
mimi:*****:cvsroot51Testing软件测试网9re%OkeWZ

$]epe%En7vf DX,x0#>vi /cvsroot/project2/CVSROOT/passwd51Testing软件测试网@{"UEC-Ku
51Testing软件测试网8?.y%x(r3e&G
trotter:*****:cvsroot51Testing软件测试网 K\1E}aCG/a
gary:*****:cvsroot51Testing软件测试网4M ?Wt.y|bG1{x

DY3fQ(dU ? [-H0
这两个文件的意思是有trottermimigary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1project2的使用权限。登陆后的权限是cvsroot权限。

&`.};_%Q'gUs J0
注意:这里的cvs用户和系统用户是不同的。

8s U+X3rn[1zuPA0
)iUf8vmu'w)?1T014
*****为密码,由以下文件生成:

'sm/Nqb!j+A{051Testing软件测试网)m0i w;M0Fq
#> vi /cvsroot/passwd.pl51Testing软件测试网1u wN u7a7Y _Zg

ZgA WW H0#!/usr/bin/perl
d1]+DR$ONbp4jL0srand (time());51Testing软件测试网*ymA*]/] R
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";51Testing软件测试网Aot'_x7pp
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);51Testing软件测试网IH8|z#q;Y(WL
my $plaintext = shift;51Testing软件测试网^-q#G;o@2E9G
my $crypttext = crypt ($plaintext, $salt);
"_4Sxf?q!uh6_0print "${crypttext}
Z5mo^"r(HK d9L0";
k'[ L;[1q051Testing软件测试网%X0?'H,lcz}_
#>chmod a+x /cvsroot/passwd.pl51Testing软件测试网{%X.zuuL$PFo
51Testing软件测试网&J:H*u f;B(h
15
。如果你想生成一个密码是123456”,则:

#F9F/^d `0
0_U3AGo4M0#> /cvsroot/passwd.pl “123456”
n]5l `_ f'_7h/g051Testing软件测试网S{iO+E(l1x%m
回车即可得到加密密码,用其替换passwd文件中的
*****
)nr&o9NX0
8g+]aF){$n016
Okcvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1project2的权限,你就给/cvsroot/project1/CVSROOT/passwd/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:

(K z(dl;M.NvId0
-xYSY Q t,Gfx0#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login51Testing软件测试网Ai$?k.p:e~'vnO
51Testing软件测试网1A*H#`2F8l#v `
敲入命令回车后提示输入trotter的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是
192.168.1.200)51Testing软件测试网w]Xwt(p~-i
51Testing软件测试网}YNZG0jeg

(L l7xr/]AA'Cwv0
t,x Ygm XY3J1M0
1L%r \!f c7_w0***CVS
服务器建立和权限配置
51Testing软件测试网ZH`.e@(TUGW+{ n$d

u`5P&vV*N5O"Y0
:lDu;JJ,DH\0
$?inWP)Kr^0
建立一个源代码库主要有以下几步:

~ v/y Q0A0
L(Z0wBy:`"b0
1)初始化cvs服务器环境。
51Testing软件测试网!ce"m7K'H
#cvs -d/usr/local/source init
/M)p/{o"h6r"P"H0
之后进入/usr/local/source,可以看到有一个目录CVSROOT,下面是初始化后的CVS服务器配置文件。暂且保持不动。
51Testing软件测试网L7b|:B\I&z
51Testing软件测试网.yF8A\)N({@V S
2)把cvs服务放到xinetd系统服务中。

K,zQk/zL \f0
首先在/etc/xinetd.d目录下生成任务配置文件cvspserver,文件名称可以随便用。
51Testing软件测试网mA6RR8h"b2n

7jGWs X!i)v$M0
其中内容大致如下:

](] lak5Q,nb4y`.K051Testing软件测试网p gn_(f/lzU8R {
service cvspserver
~L,[2|-N&NH8R0{51Testing软件测试网;[5m!P j&M(pl
flags = REUSE
8T0XeU&B{2h*s'GtO0socket_type = stream
X4\9KV6YoOhR0wait = no51Testing软件测试网6`,k5T;A,J [h sVUu
user = root51Testing软件测试网 qlsf%A'?
protocol = tcp
w!~0c0EvE*g+J&l0server = /usr/bin/cvs51Testing软件测试网;g0o^)[/B0K+Q
server_args = -f --allow-root=/usr/local/source pserver51Testing软件测试网Q;B&s'o0Drvf
disable = no51Testing软件测试网-^$gltl:zB
}
3@ImLh.w*t+L0
fk`Jd$E&L0
5y5I"{U p#Y051Testing软件测试网2M [9v!@D4i(_t-I%V9f
其中server_args一个参数指定了源代码库路径,一个指定了服务器使用密码认证方式。

?L&MM)^8m0
第二,要确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp
51Testing软件测试网%v)KVbz6Z1Fz
第三,重新启动xinetd服务,cvs服务就可以用了。
51Testing软件测试网wY y&x-}
51Testing软件测试网 Z!HucD1[
3测试。假定cvs服务器在192.168.0.205上,系统上有一个用户cvs。登陆另一台linxu机器,执行下列命令可以完成测试:
51Testing软件测试网/Cj'] z)E\c$g
$export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source
4b s$k9[_0$cvs login51Testing软件测试网5PJ"Z8o8\9r RY
输入密码,没有出错提示表示登陆成功。
51Testing软件测试网T_Xj0z6tRJ
51Testing软件测试网yhW\d{(f
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
51Testing软件测试网J \\Cv7z

1t4X!g6z/RmVb tv0
第一步时候要注意使用一个不同路径。

P0pB8oE.p.O tj0
第二步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,例如cvspserver1,文件中service名称一定要区分第一个,例如service cvspserver1server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,例如:cvspserver1 2402/tcp。重新启动xinetd服务
.51Testing软件测试网~;E`;T.Da

i d K1^ L_p9{0
第三步测试时候,可以这样设定:
51Testing软件测试网 A+p3w(dqA$NV3b
$export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source1
$U%@&u8en}A:r*^0......

v jX!{!r0

TAG: 我的BIOG

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 42669
  • 日志数: 49
  • 图片数: 2
  • 建立时间: 2006-12-26
  • 更新时间: 2014-05-06

RSS订阅

Open Toolbar