你的位置:面向PHP >> 资讯 >> Linux & *nix >> 配置&技巧 >> 详细内容 在线投稿

apache + subversion for linux 安装

热度134票  浏览49次 【共0条评论】【我要评论 时间:2009年7月12日 10:12

ksbL$N%g"G0SVN是管理工程本版的必备工具,相对vss以及其前身cvs来说都有着无与伦比的优势

k9G8i`qZ)g0

+r$O _)c!i[R,Zv0以下是apache+subversion服务端安装步骤:

g6e H K-BU#S ?(SX"S~)u0

.h_ U,|1J*Y0一、准备好安装包:面向PHP-_OSF,? O*v bC

.l(y}(V9jby0apr-1.3.6.tar.gz   下载地址:http://apr.apache.org/

,pV9x Y4^0 面向PHPG*yN.D#Y7j%u QY

②apr-util-1.3.8.tar.gz

z}6^ Rf;Ci K ?0 面向PHP&EXC c0jC

③subversion-1.6.3.tar.gz  下载地址: http://subversion.tigris.org/面向PHP \ E0L~5@_.K^

c.h6X@q'r+r,| W;|0④subversion-deps-1.6.3.tar.gz

k,Wo9Nx0 面向PHP;F;e7^'Xr W"g-Ih

⑤httpd-2.2.9.tar.gz 下载地址:http://httpd.apache.org/面向PHP%`z$s/a_,y6^o

面向PHPH2s{#E7C-Xc8G

注意:apach的版本 与 subversion版本的兼容问题,官网都有介绍的面向PHPyMPuC Xq,W

面向PHP^^"x R0dQm$|

二、开始安装:把以上安装包上传至/usr/local目录,cd /usr/local 进入该目录

)?C's7pN Td X*S0 面向PHP#tUB"[*O0X*G }

1、安装apr面向PHPa[:i y Tk#\-q

面向PHPNs ?0bB7Nj*ZA

      tar zxvf  apr-1.3.6.tar.gz #解压包面向PHP-EUvU$p"mX0l

面向PHP+z V o*d"]-E

      cd apr-1.3.6

qB)wV"x0 面向PHPP1O qAt)~

      ./configure面向PHP5V;s`}D;r

0{"jn:Q!C o7E,w0      make

P [9{0I2yKL0 面向PHPh6Pxj U

      make install面向PHPJO#t7bOc[2U

;~Y#]G5L!t8i&aP02、安装apr-util

h(WA|8u0

'dK_/l$KQ FI0      tar zxvf apr-util-1.3.8.tar.gz面向PHP&G [^*\XAv

!U'E&{%`3J0V"iE0      cd apr-util-1.3.8

r2M.H1D ^ T0 面向PHPX:c*gjZ:C_L&~

      ./configure --with-apr=/usr/local/apr面向PHP+i8`&Z@^ p,T

面向PHP5D M2G$x_Kp [

      make

l X X5{2Ou J Oz$V0

_"fj3Pu2`@(Q4Q,C-V0      make install

,Zu0l:QAzd2~0 面向PHPt#w&Ay[L5aQ

3、安装 apache面向PHP7_ O7vP(_3]0yXDH

面向PHPI0UN"z@)gDZ(h.O

      tar zxvf  httpd-2.2.9.tar.gz面向PHP} }X0?n

面向PHPR U+I? b^'j

      cd httpd-2.2.9

#c"_%N:o+TF0 面向PHP t5ZN!b5Wp]r!`

      ./configure --prefix=/usr/local/apache2.2.9 --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config  #--prefix表示把apache安装在指定目录

6RYk#O6n{pr0

I(dK)r CE8]k0      make面向PHP oZ,Y Q$Vx.B

面向PHP'|+x1A8Hd%|He

      make install

5a$A6g?5X-H8E0 面向PHP M}CC[+x,[%Ty

4、安装subversion面向PHP3? \xCU?j1@3Nb

面向PHPM Ge8_%h;A1Ct9c

      tar zxvf  subversion-1.6.3.tar.gz 面向PHP_x4jD{$pQ

0J^ PT{G0      tar zxvf  subversion-deps-1.6.3.tar.gz面向PHPZp hv Ok

7p/Jiv+Za+T0      cd subversion-1.6.3

uwe7@9J0

'|-b%a:S{s)r0      ./configure --prefix=/opt/svn --with-apxs=/usr/local/apache2.2.9/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr面向PHP/HeZB@ E(fz.Av

面向PHP)Yw&D r*{$s0iN

      make面向PHPd#d:~_oW{Sx-\

面向PHP5I.z+j G}'uR_4ib)kK

      make install

1}RL3T$bD0

3G9x"@ k+e0      至此,安装基本完毕,再配置下就可以使用了

"k'q1Y.q,j'~uj:v0 面向PHPh:wk-yu:N{(Z b

 面向PHPxe/a/G&mZ~7@,D:?

面向PHPz8N-i5~t-s1s)E\

      注意:因为这些安装包需要gcc编译,所以要确保linux上装有gcc程序,否则是没办法进行安装的

.gX`0wC.b$p5W'Q%V0

*x a(?9B'tL Tm0 

G HQR)? r/`0T0

'd[I)]@T(f0 三、在apache中配置SVN面向PHP:N\j9uOtxJe

面向PHP[l{X(S"G [

      vi /usr/local/apache2.2.9/conf/httpd.conf

:`:Engj0 面向PHPJH y3GK-k0WS:w

     ① 如果你看到如下两句,说明安装是成功的面向PHPLj)r]q1v(D5^B[M

(M#k:a t8k;V0      LoadModule dav_svn_module     modules/mod_dav_svn.so面向PHPi?V.C*dCueJtf
      LoadModule authz_svn_module   modules/mod_authz_svn.so面向PHP] R{$K Q%[v

面向PHP+V _AG$s&B

      如果有下面一句就用#注释掉面向PHP#N,Wk].zB%nL

面向PHP4Q-^)EV,P'c ?:O

      #LoadModule foo_module modules/mod_foo.so面向PHP u.n!CSi1ppt*K

面向PHP G]/D,am9S`

      面向PHP\KIe ](b
     ② 定义apache访问svn配置:面向PHP:uW0y H"LA%p+D%u
      <Location /svn>
qN MA0BB0              DAV  svn
] Cp*G-E0      #      SVNPath /opt/svndata面向PHP&P\N*~R \8z
              SVNParentPath /opt/svndata
y(HC"| ~}0              AuthzSVNAccessFile /opt/svn/conf/authz.conf
j'L2G)F Kiu0              AuthType Basic
;X\hTps wG WY0              AuthName "Subversion repository"
,FU"An+V0              AuthUserFile /opt/svn/conf/passwd.conf面向PHP;ks7J/k2MX%M1sb9\
              Require valid-user面向PHPo,y5d:XMbLr(ACx
      </Location>面向PHPo5C*kS6E:q2Px

Wo)LMoL OQj0 四、配置svn面向PHPU'`'k)m.S|

`,W9YY(} D0      ①建立svn版本库目录

F'IL1QF0

)|'LZ2W5G0      mkdir -p /opt/svndata/repos #可以多建版本库目录面向PHP2tz~ Gnqw k

O3Kd4{6J,I L0      ②建立svn版本库

;N:N q,L7rt0

YD&kiFb.o0      svnadmin create /opt/svndata/repos面向PHP \#T]7E9n

v0{'i f F4p'p-mBB0      mkdir -p /opt/svndata/repos #可以多建版本库

Xv[Q x6C4aR0 面向PHP rg g%W5b

      ③建立本地访问控制文件面向PHP qlai~5Xn

`7S/A~[$h)W0      /usr/local/apache2.2.9/bin/htpasswd -c /opt/svn/conf/passwd.conf  username

pmB;A n4D0 面向PHPTpZ$xD y-t(w9r*Vs

      然后输入密码即可,默认是MD5加密的

"J4H AvQ1d v0 面向PHP D2^ w1D+B:rG7w

      /usr/local/apache2.2.9/bin/htpasswd  /opt/svn/conf/passwd.conf  username1 #追加用户

"f'f7k owi4\_wQob0 面向PHP]@:s#S Bg y n*D ^

      ④建立本地项目控制文件

!COWh_oSM0 面向PHP*Hc}N @'[ L D1T

      touch /opt/svn/conf/authz.conf
.j*`E%| Osb)@0      

c RpRa;n:i0 面向PHP#D.KO.b Jb'[

      本例authz.conf内容为:面向PHP)E5~9Qzcn Teq

"p9sx^ Wi4S#H(s Y0      

Ts_i^&i6o4f!Y!OE0 面向PHP"Q4F9x$RW,{3c]v

      [groups]面向PHPJ*]&[-G [}y H
      #<groupname1>=<username1>,<username2>
#oiA0gQ'G\ w0      admin=username

Fl.Lh^ J"x4`bD9M0

%L,@'{'C g-Q [0      #[<versionLib>:projectName/directory]面向PHP(]6L2C0U-A+Q/df
      #@<groupsname>=<authorities>
GyS m/MyI~0      #<username>=<authorities>面向PHPN z{K Da6K&~X

~.Q1t@+Pd7^+i9j{0      [/]
|Ho"P!z |#]0      @admin = rw      #指定用户组成员可以读写根目录所有应用

9g6|TB2PA d0 面向PHPJ/e,]bb

      [repos:/abc/aaa]面向PHPQ_wd\+fz
      username1= rw      #指定用户username1可以读写:/abc/aaa目录的文件

9Oq)C0m0O5H.H0 面向PHP@aR$n\Xej0NzF

至此,整个安装过程完成了!面向PHP q;VxKr%H {E8v5[

面向PHP~z4Fu9sTS6J~'TvZ#s

五、测试连接面向PHPHJ,L+kk1Wf

面向PHP+U"X%DaB3h {,cV

     ① 启动apache 面向PHP3vQY kD o;C

2Z5T/G;UB0      /usr/local/apache2.2.9/bin/apachectl start

t qJOkjP0

GJ2B x!S0|(c0     ② 打开浏览器,输入http://192.168.1.107/svn/repos #本例服务器ip是192.168.1.107面向PHP/K dM2Pa9L%TS

面向PHPYLMm:X:MHC:\ k+M?

      使用刚才创建的权限用户名与密码登录即可访问

Xdl_d&_5GDE0 面向PHPi$n vqh!B

      注意:在你上传文件的时候可能会有如下权限不足的提示面向PHPJ7{-e$?)cX&K

面向PHPl*|2FMi/B)RCJ%A

      Permission denied
3dLM LP7c0      svn: Commit failed (details follow):面向PHP5Q^'{Fm{y"H q5[
      svn: Can't create directory '/opt/svndata/repos/db/transactions/0-1.txn': Permission denied面向PHPV}:@3W]P#f R

面向PHP+YmB3pd1yzP1E

      这是因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者

UlzE&@'} W,bC&^0 面向PHPw{~Zc6R-Wl oY

      本例apache属于daemon拥有者,而svn仓库属于svn拥有者面向PHP:Q3lFN](s

面向PHPl)K)t,Gs ?,C

      解决方法:面向PHP.`z:rxsap

`ZvwR0      chown -R daemon /opt/svndata/repos面向PHP r8Gd0t&\?EM/bY

9~*T#mqR)Xv v0      chmod -R 755 /opt/svndata/repos

.aF+l4Ayl4vW0 面向PHP2cR3l/M1M ED+~

     面向PHP'H[;@QP

O6Lp)VS9Lb s0       重启下apache:

2L3c'q?J.Y U(N i0 面向PHP`$D(x0T1v

       /usr/local/apache2.2.9/bin/apachectl stop面向PHPA1t&r/sU3zT

J4?n1G5aY}4C0       /usr/local/apache2.2.9/bin/apachectl start

9a{;}A(~"l:CHQ2S*Y$Q0

u'?V Y:mjfQS@pq0      面向PHPcHLI#a5Q&xZG

面向PHPo0_0h:`8\

本例是通过Eclipse的svn插件客户端测试的,上传下载完全正常!服务器系统是 linux Fedora 7。

rR.e'}/svn0
TAG: Apache Linux subversion apache linux
顶:12 踩:10
对本文中的事件或人物打分:
当前平均分:-1.19 (36次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.79 (38次打分)
【已经有38人表态】
10票
感动
4票
路过
2票
高兴
4票
难过
5票
搞笑
3票
愤怒
5票
无聊
5票
同情
上一篇 下一篇
发表评论

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】