linux / java / mysql / svn / apache / tomcat

linux(FC4)下SVN完全配置升级手册(经典)

上一篇 / 下一篇  2007-09-28 22:31:12 / 个人分类:Linux

本文出自:www.iusesvn.com作者:bndxgae

linux(FC4)下SVN完全配置升级手册(经典)

这是我这几天升级SVN以到呕吐地部的经验之作。希望能为大家作点贡献。费话不多说开始,Linux宝库w*F%K%Uba&c d

$V;G h,fi,p;me3D0工具包Linux宝库9l7GfTH%sh
httpd-2.2.3Linux宝库3de*HQwwk0T
下载地址Linux宝库AK| a mu t6G;yp
http://apache.justdn.org/httpd/
H5V'l&b:JK5|/i;~"wg0apr-1.2.7
fV%n*r9? u&rwV Z0apr-util-1.2.7Linux宝库)d*{B+i%P
下载地址Linux宝库 F'W4R;f8C-G]F
http://apache.justdn.org/apr/Linux宝库&d ?(E7Jd FQq-d!c
Oracle Berkeley DB 4.3.29 (一定要这个版本。高版本apr不支持)
:o5Hz[ZI6ymZ4[)k5a/@"L0下载地址
Z*G"X#z0W~7hy0http://www.oracle.com/technology ... ey-db/db/index.html
Bk-H9n#Ubz0_*T|h0SVNLinux宝库_r\ Ukll8x9w*j`[
下载地址
g9u&Z%p2P8r%c:w;u1j%G0http://www.iusesvn.com/bbs/download/subversion-1.4.0.tar.gz
D u"v PZ/De0|jm0开始安装
M DX/|S0Linux宝库|c{e)b$A4w@1s2E
*********这里的部骤和以前的有所改变请注意一下**********Linux宝库HrR+xh}M

2r#j lmo{ J$FrM0Linux宝库'X{GP+d\*g
首先安装Berkeley DB 4.3.29Linux宝库 [q3dpFP/^*C`+D}R
tar zxvf db-4.3.29.tar.gz
bv8eLs#O$Q.t0cd db-4.3.29/build_unix
5E m,U+fk#\0../dist/configure --prefix=/usr/local/db-4.3.29 --enable-compat185Linux宝库!m&~8^ eWP,o8f
makeLinux宝库g~ qrI}d~&w#iJ
make install
iU"sM3~!h0Linux宝库+y{m$|jcjC A(Yq
安装apr,apr-utilLinux宝库&c hdF2G
tar zxvf apr-1.2.7.tar.gzLinux宝库K#I3B]*?UOO c
cd apr-1.2.7Linux宝库 a`-@9XT/ew,x
./configure --prefix=/usr/local/apr
J QTb#l0make
;k-N+Yj#s)`BF1|0make install
3I I#pQ WuY,d?0
!n `6[1a)C`X1@0
}s)ah\9tB0tar zxvf apr-util-1.2.7.tar.gzLinux宝库B%erqd Z
cd apr-1.2.7
~e$S7g@Ra)z c0./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/db-4.3.29/        //****这里是以前没有注意到的地方
o4qtmI1tnw0makeLinux宝库n6Nm8m2DIZJ$P
make installLinux宝库X ]zb E%z5N
Linux宝库:@5k1QNd_
安装apacheLinux宝库7{T-\P2T]@
tar zxvf httpd-2.2.3.tar.gz
+aU.}6^?7t0cd httpd-2.2.3
-q/~ g6[C8W0./configure --prefix=/opt/apache-2.2.3 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
4JB`o$SH1p0makeLinux宝库sW['y5^V#FX
make install
;j H0h(m6@+[Je~0#apache2.2以后不用再jk2 ,用mod_proxy_ajp模块即可Linux宝库*I/SA'qQ M.N(i/Z1o
Linux宝库tID8{!c7c,dm3K
Linux宝库m _L"z-khv
Linux宝库 `1b%D.wG9Y?E
安装SVN
%q7?;d qu`0tar zxvf subversion-1.4.0.tar.gzLinux宝库T|{"Q!~ u+y$T
cd subversion-1.4.0
)sQ&nq%y']0./configure --prefix=/opt/subverion --with-apxs=/opt/apache-2.2.3/bin/apxs --with-berkeley-db=/usr/local/db-4.3.29/ --with-sslLinux宝库?:V YyS2k(a/Rr
makeLinux宝库 qW+]s5Ll$o d4OH
make installLinux宝库DO*_;? QL,ViT
Linux宝库f}O1Ycr)~
×××××××××××××安装完成×××××××××××××Linux宝库 Q:^'r5Ha?
如果在安装过程当中出现问题可以参考后面网址中的内容。
&x ^"BlBf"c:^T0其中有一些包之间的兼容性问题,在这里就不多说,后面有一些网址上面有些说明自己可以看看。Linux宝库;GU2SzA1d0F4E8Vw
Linux宝库 mz4g8x&zv/u2l|
配置Linux宝库h;ud+} kTM ]U
Linux宝库9~3} V_!xr:wV)L
/创建库文件所在的目录
!Gtrs'I7JD0# mkdir /home/svnroot/repository
7H(k2q$d6l0//进入subversion的bin目录
*ibmA1DK0}7v0# cd /usr/local/subversion/binLinux宝库FC!O8sVH&{w!~w
//创建仓库"test"Linux宝库8} ^dv R
# ./svnadmin create /home/svnroot/repository/testLinux宝库4eKe*`#V'EL
# cd /home/svnroot/repository/testLinux宝库:X+gY9\]B-w
//看看是不是多了些文件,如果是则说明Subversion安装成功了
,}^L+~2gmIV0# ls –lLinux宝库h7]%~(_D;r3lW:}0L
# cd /opt/subverion/bin
eSIR y3I{ Ico0//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
D!TV}4\w.p0//提交后的修订版为1。
{jM*t9n8{^j0# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"Linux宝库(X BPR4?+aQ
//不让其他人有该目录的权限    这里的用户名可以自己定
[0rI%C,g G;nd+^6f)`0Linux宝库 p5N{rS
# chown -R username:usergroup /home/svnroot/repository  //****这里也有所改变  Linux宝库}u:A2T(v*`

V:O7moo4j'U0I-Y0#后面有如何添加用户的命令
&m.w}]dM0Linux宝库 IV)C$`"g0S(A
#  修改版本库配置文件:Linux宝库 v%E S m-q'T
版本库1:
6QwHk JYwd%C0vi /opt/svndata/repos1/conf/svnserve.confLinux宝库;}AG`\u

+EW9A f/L Y!o*H4n W0内容修改为:Linux宝库9[PF6IC
[general]
HqF I/q(gzT6Y ^LA0anon-access = none
X+N)_Xv]{0auth-access = writeLinux宝库^T jB {L(wv
password-db = /home/svnroot/repository/authfileLinux宝库5LIj;X,D`m
authz-db = /home/svnroot/repository/authz.conf
%_)BK!s d$@b pv P0realm = testLinux宝库%p3B+V4`x

JoR/gmW{t G0修改Apache配置文件
J"HG k/_0I [J0# cd /opt/apache-2.2.3/binLinux宝库c(uB!J"T&v| b+\
//启动Apache
y0U*}jZ#Zan0# ./apachect1 startLinux宝库 rS5m:Z.U,HVY:o`&P
# vi /opt/apache-2.2.3/conf/httpd.conf
7m.G?TQ/f4vB0   //在最下面添加Linux宝库(]t7S~;MU&R
   LoadModule dav_svn_module modules/mod_dav_svn.so
f6D!]:X:M5t!K4u0   LoadModule authz_svn_module modules/mod_authz_svn.soLinux宝库#a_-~ @%usQ
   <Location /svn>Linux宝库ZT)hH;vR*OR
   DAV svnLinux宝库gY5Y.sz8c
   SVNParentPath /home/svnroot/repository/ //svn父目录Linux宝库$|1Bg2M\~5V
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件Linux宝库*c2_HCS a
   AuthType Basic //连接类型设置Linux宝库P W7f5b@'IC Z,U
   AuthName "Subversion.zoneyump" //连接框提示
N.eJ(p8T*m Jx0   AuthUserFile /home/svnroot/repository/authfile //用户配置文件Linux宝库lQ},?e{B j5[0f
   Require valid-user //采用何种认证Linux宝库T2g^3o)t:x"AD"RE
   </Location>Linux宝库Qc(iv q
   //其中authfile是通过Linux宝库)uOm E.X
  htpasswd -b -c /home/svnroot/repository/authfile username password
9X&v3~*L1D7?:S0   //来创建的
Un A6B,s\0   //"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
4|Dj#Pm4]V4^.C/p0   //则只能第一个用户可以访问新建库Linux宝库wm fY-QSu O

w2rR@&U"@#H0重启apacheLinux宝库#F;w-KEJ:js
cd /opt/apache-2.2.3/bin/Linux宝库p } {a_0L sO
./apachectl restart
Y,p@0G ~!a$R\ h0//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。Linux宝库[y'kS'E_u%p(UQM

s%j'keb!dD7f0这里的权限和用户可以自己去定义
Orx-fk0fX!_q;V's0
c}e%d4M1^T07.权限管理Linux宝库.N| z*LS
1)增加用户
*N;R^q%H ^0
(KDKJL5hx+?0# htpasswd /home/svnroot/repository/authfile wooin
/`fiLN7\A2q6q)JV,V0//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加Linux宝库]coA]FL:u
# htpasswd authfile 用户名(加入新的用户)
g/dt$b5w4V3h z9iX0
&j1X%BTl!yL02)权限分配Linux宝库5zx,?jW

s:aVEM/duO0配置用户访问权限:Linux宝库S#~?7Nr_/D&F
vi /home/svnroot/repository/authz.conf
b4Nd"]z YM3]V,T0Linux宝库7l { nI{;v
  为了简化配置,3个版本库共用1个权限配置文件/home/svnroot/repository/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
,w ^z,p,h g-V?J9Cxq+@,I0Linux宝库"t3}"Q.N1lm!LA-q
注意:
;U ph+h'|9C;f,v8L0* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
!E0fH*eW#\%p ?of0* 对权限配置文件的修改立即生效,不必重启svn。Linux宝库E"`e/v~Yw"U?M

q"z#A8W]0用户组格式:
1k,g0dO}0[groups]Linux宝库F| \P_
<用户组名> = <用户1>,<用户2>
$Kx'V U"QLxc A0其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
dBlKK8@0
ej Ie|]c0版本库目录格式:
7Xw E;SY&Ro*Cd]^W0[<版本库>:/项目/目录]
wx \PX0@<用户组名> = <权限>Linux宝库%_.v-Mhl,TNR
<用户名> = <权限>
O1ELK5v*HB0Linux宝库;jPf+?&GA
  其中,方框号内部分可以有多种写法:
4vT e U:@E3i CSG0/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnroot/repository。这样,/就是表示对全部版本库设置权限。
3L#Ccl9C;H0test:/,表示对版本库test设置权限Linux宝库D sAk{vs*Ar8a

3Ps2~+kAl(p$O%r0权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
V9yH9pI"C0Linux宝库^3Ns{KI
示例:Linux宝库 Yc!zw3R Q
[groups]
s*@"C0{ g0admin = mangosoft
XmN _"h ]t0Linux宝库0QP@ y:SX8g2tn
[/]Linux宝库;\0S3o(eo0~0zr ^&Nh
@admin = rwLinux宝库0gTE?;I z4d
Linux宝库lfphm)C*E
[test:/]
?"c3a7|:m`0@admin = rwLinux宝库}OH6pC;H d
lsw = rw
m!I ]9AT DU0Linux宝库oiF&y*g?MyG1Z"w1[
删除无用文件:Linux宝库,g8qh$He
rm /home/svnroot/repository/test/conf/authz
+q{9ASq5Kp7n0rm /home/svnroot/repository/test/conf/passwd
2W"PK9\f C^cN0
D |{6\ A7n2F,[03. 启动svnLinux宝库\5|M$~Y0sXV
建立启动svn的用户:Linux宝库9mwDq(M
useradd svnroot
:F/Z#~5n1jo&R"T@0passwd svnroot
Kt+`l"DS*@zZoz;y0根据提示为用户svnroot设置密码Linux宝库-H] tAy-C`h
Linux宝库]*N1L7WD{,qf
允许用户svn访问版本库:
8x:PRu3L a3s8f0chown –R svnroot:daemon /home/svnroot/repositoryLinux宝库6lfrt6cR.GY
Linux宝库2b0N)R"o C/w-]6bG K
Linux宝库i^5wOJ!R
启动svn:Linux宝库0eh-Mz"Vf&k
su -c "svnserve -d --listen-port 9999 -r /opt/svndata" svnrootLinux宝库(v sao#rTL

;H A~I.~[&W0其中:
a o"w&E,vbRt D[E0su – svn表示以用户svn的身份启动svn
?(Kj#]o/A)^W0I0-d表示以daemon方式(后台运行)运行Linux宝库W)[#c;v1U"Y&~'l
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
_\Sq _$Se e6WN0-r /opt/svndata指定根目录是/opt/svndata
&Wfg;h!@-}"\0Linux宝库i:Z joUS
检查:Linux宝库z-m$k0a1cis
ps -ef|grep svnserveLinux宝库$HX-D*n&[&weX6a

!oN1H:{+Vc0@it0如果显示如下,即为启动成功:
5_/m2P@0c&`KhS6k0svn    6941   1 0 15:07 ?    00:00:00 svnserve -d --listen-port 9999 -r /opt/svndataLinux宝库M)GJjP A
Linux宝库|0i'SF9[8b

7OP8A#u(f JY3B ty d0将这个设置完成后。重启Apache,就可以通过
"j7r6[~(B!Y-\0http://localhost/svn/test
P ZWu"a#]K(M;\*e|0这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限Linux宝库7Lm6u UcR\
Linux宝库!V7Y/bD:ep q
Linux宝库\`j,?A lE9G@
Linux宝库'\9t uLX&z2r

6D*[a([4S'lJ7Fa9@0备注:
8gN(u;x)A w{.x{j(t0
[X+rD9@-p01。 apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在 /opt/apache-2.2.3/conf/httpd.conf 文件中配置,找到文件中的这两行:
[ k2V,t:U1Ef S{0User daemon # 将daemon改为svnroot,
c$Ys0bNM+m1n1Zr0Group daemon
OGp&H4q p%}{_:f0
8Wb1MPIe2t.^Z2{ x02。Linux宝库mu`(U)]lV
Linux宝库 R[Bl"F+H'CC|
在/etc/profile的结尾设置一些svn启动时要做的工作Linux宝库o#mTnN2u^x\Hm
# start apache server for svnLinux宝库eX2e'y4yoi
/opt/apache-2.2.3/bin/apachectl startLinux宝库?pn#Q8jRz
export SVN_EDITOR=viLinux宝库)pL0Z)d;UX

Z$e#mMp!x03。/home/svnroot/respository下的文件操作权限有给svnroot.
9[HDmnk2@0Linux宝库$A4\.y$c8EP#I

Up2AK DZu2F}0Linux宝库|rBg9?k/s
相关网址Linux宝库O:rdw j/lt

6Edpk6t#F7v0http://www.newbooks.com.cn/info/52691.htmlLinux宝库Mp*x$G}b/H
http://www.neo.com.tw/archives/000614.htmlLinux宝库 nl tn;n,Z&~
http://www.goodspeed.com.cn/apache.html
8WCci[|0http://blog.java-cn.com/user1/5463/archives/2005/15238.htmlLinux宝库8R!?cJ;u2H"n.D"W
http://www.zhangjianfeng.com/?p=481Linux宝库K U Og VT.A7iP
http://blog.yening.cn/2006/08/07/165.htmlLinux宝库l]6I5V9a:dq
http://www.zeali.net/entry/359
vi/J*ho0http://www.iusesvn.com/bbs/thread-489-1-1.htmlLinux宝库,U.dD\]g?

TAG: linux Linux LINUX svn

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 12417
  • 日志数: 14
  • 图片数: 5
  • 商品数: 6
  • 建立时间: 2006-09-21
  • 更新时间: 2007-11-02

RSS订阅

Open Toolbar