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

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

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

51Testing软件测试网{*@6r%S`x
51Testing软件测试网"|4J+o"B/~g
CVS服务器的安装:
w!f(K5_y)D01
。查看你的操作系统上是否安装了CVS
51Testing软件测试网5KBnq1N
#> rpm -qa|grep cvs51Testing软件测试网J*JV}2Y:_+G2[
51Testing软件测试网*O'?7K~"Q:Y6fM
如果没有安装你可以在Redhat2张光盘上找到,另外你也可以在网上下载到最新的rpm包。很容易找,其实不存在什么linux版本。

;v5GI'y"P%H?f)@051Testing软件测试网f^k#y"M
2
。建立cvs用户组:

2EKw@o_+@y~9{0
8diN9]3Iv4?8{ {^0#> groupadd cvs51Testing软件测试网a)W\KOyi8z
51Testing软件测试网8k5o;_ d^T&gv
3
。建立cvs组的cvsroot用户和所属的目录:

"NX@-N.nuw$VP*dT051Testing软件测试网#I.mqq7{a'I@K
#> useradd -g cvs -G cvs –d /cvsroot cvsroot
EZ hVBR6rm)D a0
Y~z"bP)m(SD04
。为cvsroot用户添加密码:
51Testing软件测试网+oj{VZ/Pj{

CuY5{P2v0#> passwd cvsroot51Testing软件测试网7H&fj!a6bj(Q$y/Y
51Testing软件测试网(W+n FiP#aF
5
。改变/cvsroot/的目录属性:

AOn7D Q#T051Testing软件测试网(FuQ$s)d;w?0?
#> chmod –R 770 /cvsroot51Testing软件测试网5J4vOKA

] nV5Er06
。改变用户登陆身份:
51Testing软件测试网2rCBc+[N
51Testing软件测试网[gDl)z'{ZE#F
#> su cvsroot51Testing软件测试网c `#Fii

0J!^W N p V+JP07
。开始创建单个项目:
51Testing软件测试网6J4U n4dS`0h
51Testing软件测试网&N f-F \N/HKcu)Ox
#> cd /cvsroot51Testing软件测试网4C&] KB8U%J&OXCF Z
#> mkdir project1
'I#h9ND%jQ%e0#>mkdir project2
Y#eA8_-@:IQ)g5CG08
。开始建立仓库:

C3V-E,kG&S4}|051Testing软件测试网3v}/Q~Z(O
#> cvs –d /cvsroot/project1 init
f+O y8Y1m0#> cvs –d /cvsroot/project2 init
;s*o,Ec,l,JVN"L0#> chmod –R 770 ./project1/ ./project2/
B^_O2XI~9X/q_"w3|051Testing软件测试网3J \E}txO@5xk } r
9
。建立CVS服务启动文件,我们使用xinetd方式:
51Testing软件测试网;l2rv/z#tf)Bz4Z2{

$D6G(X'j%h/Z2E0#> [Crtl]+[d]
切换到root用户身份
51Testing软件测试网3L,m%^A-U!`
#> cd /etc/xinetd.d
h M+]:N0S5RuT0#> vi cvspserver
;q%YC IT6N(@:jH0
KcX|0@ {+G {j0service cvspserver51Testing软件测试网 T$bNp+vv6_ v
{
N;[h7H:mg Hh [0disable = no
z$z([v g O1h)m0flags = REUSE
0xP@6sg{.m e\0socket_type = stream51Testing软件测试网*b)|9bN DQ\av
wait = no51Testing软件测试网n0[2[0`*@7P
user = root51Testing软件测试网%R`&@as
server= /usr/bin/cvs51Testing软件测试网5gm*br)s1GZN rqe
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID
HE%G NN/Q0}
$T#z!C~s-Pc051Testing软件测试网\zl0u2Wp OkV
注:由于xinetdserver_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:

9]`*Qa8v u'c0
0q p%S(N3_0#> vi cvspserver51Testing软件测试网6g+XBI,a

Yg&j7j2t sL0service cvspserver
:xM ]*yynd0{
%v@f%R*]G Ng0disable = no
%Q"qa'm!eF0flags = REUSE51Testing软件测试网w {'`%Wm`
socket_type = stream51Testing软件测试网n3yG5w2S/b\w
wait = no
1P6c.|8ce^,W'Ns0user = root51Testing软件测试网+atNz;ro7k$Z0n
server = /cvsroot/cvs.run
)F-NTH,elQdW0log_on_failure += USERID51Testing软件测试网 W`^h$Z ~:i-A
}51Testing软件测试网5]~EN-jn{"N
51Testing软件测试网GDQg'z,V(|#C
编写cvs.run脚本
51Testing软件测试网"ZFk)e$D
51Testing软件测试网t5b%B]7{-m
#> vi /cvsroot/cvs.run51Testing软件测试网a)rF `"Am
51Testing软件测试网,K |6FCy!H1w
#!/bin/bash51Testing软件测试网E2D c.[qGI
/usr/bin/cvs -f
8g!NR!URQ/iQ_0--allow-root=/cvsroot/project151Testing软件测试网&p|w'Gg(N
--allow-root=/cvsroot/project251Testing软件测试网rjElQ bD3VS
pserver
R}.DPr5z rh0
MH C+yss0#>chmod +x /cvsroot/cvs.run51Testing软件测试网Uyjj^`7V/\#V
51Testing软件测试网&~W$w:c!^ @3E3Z
10
。加入cvs服务:
51Testing软件测试网 ` pr}IYT~+Y^

l3ir"c1h7yg0#>vi /etc/services
Mtu_}`(a051Testing软件测试网!R2vUr BBu
cvspserver 2401/tcp #pserver cvs service51Testing软件测试网9NG w,YI%O9u5\*[
cvspserver 2401/udp #pserver cvs service51Testing软件测试网7D+KE T&R2E w9\k
11
。启动cvs服务:
51Testing软件测试网];h!tW+POH.p X
51Testing软件测试网/k]#Y:}Wvi&nH
#> /etc/init.d/xinetd restart
U:b-x5\-L051Testing软件测试网;jt#m2f2eW Afr
12
。检查cvspserver服务是否已经启动:
51Testing软件测试网 `,\lE+F:J&pP0v+T

t+xIz&A0#> netstat -l |grep cvspserver51Testing软件测试网)m?@'S%\)A$[O4O
应该有如下结果:
51Testing软件测试网b3\;QCRZ[

8B*a]$@FL UM{0tcp 0 0 *:cvspserver *:* LISTEN51Testing软件测试网7["};P"a:k;~&P

s0q;bmk9tjM9t L0
二。CVS服务的用户管理:

2G2u6E2R0WL#Uei051Testing软件测试网1M.kb$S(Ju@ I
上面我们已经建立了project1project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。

k[7RjU/a'c0
(mu9[Z-e8A4g013
。创建可以登陆cvs服务器的用户名和密码:

|7D!h PpYv$|;tF051Testing软件测试网kx+~+fgL
#> su cvsroot
[A}$C d'Ya0#> vi /cvsroot/project1/CVSROOT/passwd
Z6P8~R,b;H|(Q3d0
0A Agu,k+t[*@0trotter:*****:cvsroot51Testing软件测试网X$ri0Na?
mimi:*****:cvsroot51Testing软件测试网]b r ? U@_H2re
51Testing软件测试网7V%fB {p8P
#>vi /cvsroot/project2/CVSROOT/passwd
!d?9rD[B d7j0
]:vxw6TZ `Q0trotter:*****:cvsroot
"C6@*s[-h,zLJ0gary:*****:cvsroot51Testing软件测试网 s)[9a`b kn$}

| It-XrsZ0
这两个文件的意思是有trottermimigary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1project2的使用权限。登陆后的权限是cvsroot权限。

o%b2yF(Oz"~O0
注意:这里的cvs用户和系统用户是不同的。
51Testing软件测试网{M6A3qK3R/[a#g

8^y-wPsX!k014
*****为密码,由以下文件生成:

U }5sLH.e5s051Testing软件测试网Ey @.kJN c5?
#> vi /cvsroot/passwd.pl
:h7DL1Dx7hUhY051Testing软件测试网.DLp,Q k)]v
#!/usr/bin/perl
/J VlI4@!{*@ ]yOv0srand (time());51Testing软件测试网:gh'_d*eD1xQG \v
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
2tO F4F H[0my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
f sn!hB^5Rt0my $plaintext = shift;
(rZ5QugP.o#V'm0my $crypttext = crypt ($plaintext, $salt);51Testing软件测试网~7t0Eh"y
print "${crypttext}51Testing软件测试网3r/D2p ?t.`6ye
";
{ uj(Yjy9h#?O0
4M[*dy,G!HQ5^0#>chmod a+x /cvsroot/passwd.pl
(l]lOr{'j'I051Testing软件测试网${B,n-r6o*Q&N2~"jt'Ni!d
15
。如果你想生成一个密码是123456”,则:

U6d%Xja051Testing软件测试网~P:L9m Xj5B(K/J
#> /cvsroot/passwd.pl “123456”51Testing软件测试网 t J"d@*w7B

OGmr\Z"U-Y0
回车即可得到加密密码,用其替换passwd文件中的
*****51Testing软件测试网.Bl\"hY8_6i$g)p
51Testing软件测试网*{9|| v-[
16
Okcvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1project2的权限,你就给/cvsroot/project1/CVSROOT/passwd/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:

U(F jD l#N0
x'e/J4aq ]0#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
?#D-~0N]051Testing软件测试网z.jHr I:F'J
敲入命令回车后提示输入trotter的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是
192.168.1.200)
TZ#r Y%na7N;J051Testing软件测试网 ~%JGn}*{I
51Testing软件测试网FEU1en7\'z

3YqG^5b z051Testing软件测试网:T(L k&^#i f7o@)_0a
***CVS
服务器建立和权限配置

k!|X[1xX1e KO0
Fv$irPEjz051Testing软件测试网;N2apt?9B
51Testing软件测试网AdT7Qs2SM@"W
建立一个源代码库主要有以下几步:
51Testing软件测试网4CJ FD8r-A

v3Oda${jX g i0
1)初始化cvs服务器环境。
51Testing软件测试网W0Vw C4E)l |+P}y
#cvs -d/usr/local/source init
-Cu^$L eNV0
之后进入/usr/local/source,可以看到有一个目录CVSROOT,下面是初始化后的CVS服务器配置文件。暂且保持不动。
51Testing软件测试网2v If}8f c r
51Testing软件测试网8l8~d^;jL
2)把cvs服务放到xinetd系统服务中。

#m$UV%uf"g^u:m0
首先在/etc/xinetd.d目录下生成任务配置文件cvspserver,文件名称可以随便用。
51Testing软件测试网/F"c/A,Y,{:z\

"Q:K E5s7UZQ9?0
其中内容大致如下:

.r/_ O5N.d5sr$B%tJ051Testing软件测试网~Da%Y5x7|.R
service cvspserver
I1IQ E Y;o0{
+G7vM7B1Rx3d-O v0flags = REUSE51Testing软件测试网\9}4qh}J*fu
socket_type = stream51Testing软件测试网)Y b.Wm;dP
wait = no51Testing软件测试网$S/[d,E6};Lp(W
user = root51Testing软件测试网$U!O:HB&qc"j
protocol = tcp51Testing软件测试网%J3D5m:Ru/BN
server = /usr/bin/cvs51Testing软件测试网'K;K[j;AZI7P6A
server_args = -f --allow-root=/usr/local/source pserver51Testing软件测试网4?tiC t6tv6w+y8p
disable = no51Testing软件测试网2R#e q)VK~ j9O*Q
}51Testing软件测试网8i8A#fD1c5|(M7f

%Bn C3|_X`T0
C9z$s8Bc e7pR2j051Testing软件测试网MgFg._#s
其中server_args一个参数指定了源代码库路径,一个指定了服务器使用密码认证方式。
51Testing软件测试网;P8M*b5^|d3g {&O*Lk
第二,要确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp
51Testing软件测试网RlkWh([%Ly
第三,重新启动xinetd服务,cvs服务就可以用了。

;^S-~uSo H)}hs0
]KWm\o,`9Nk0
3测试。假定cvs服务器在192.168.0.205上,系统上有一个用户cvs。登陆另一台linxu机器,执行下列命令可以完成测试:

2`$J!v Ss'F9p'g%B#l0$export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source51Testing软件测试网VAP$lD3ERI`
$cvs login
uJ is|2M0
输入密码,没有出错提示表示登陆成功。

T9u)B[x051Testing软件测试网&D!\Od~$yWF([q
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。

2@,b^} z.D0
5j5}h.Pe0
第一步时候要注意使用一个不同路径。
51Testing软件测试网 {:?,Xh3MAi U
第二步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,例如cvspserver1,文件中service名称一定要区分第一个,例如service cvspserver1server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,例如:cvspserver1 2402/tcp。重新启动xinetd服务
.51Testing软件测试网0I2?"IA5R6sJ;@
51Testing软件测试网 G X:oTxI
第三步测试时候,可以这样设定:

/Z{q#^t#[aa0$export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source151Testing软件测试网4K/c;X/nO3_Z|
......

)Pys;k;a*q/nO%K0

TAG: 我的BIOG

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-19  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

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

RSS订阅

Open Toolbar