SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3606|回复: 2

[原创] LINUX下如何搭建apache和svn。(centos 5.3)

[复制链接]
发表于 2010-7-9 12:34:35 | 显示全部楼层 |阅读模式
配置了几天的linux服务器上的apache和svn好使了,写下这个文档(有点乱),以便自己能记住。也希望有相同兴趣的朋友可以指点我配置过程中的不足。以下这些是我的整个装虚拟机及配置过程,帖出来给有需要的朋友看,也希望那些已经会的朋友,指出我不足,QQ:171670146。
5 T5 L& ]. B4 {; c6 t, h& l% S3 N+ n, }  h; z! _2 D+ S
申明:我是在虚拟机上配置的。
$ H# _5 w9 L- q% k; p. j) D4 L  g9 F. }1 d+ U  x4 Y( G
一、安装虚拟机- z. x. \# a& }5 ^% Q

+ I9 J5 Y; k9 q: c! ?7 D具体哪个版本的记不住了,不过这个简单,直接下载安装重启就OK了。
; ]: M* i" ^6 F% v5 @1 \3 d$ u) n- k2 `
二、新建虚拟机9 L% C( q* E' ?) z; A" t

% {) v& e# ]5 `' @- b% {% ]我用的是CENTOS 5.3,所以客户机操作系统的版本选择的是Red Hat Enterprise Linux 5,在新建虚拟机的时候可以根据自己的操作系统版本进行选择(不知道可以在网上搜,一般能搜索到)。* z$ y& B. h9 X) m/ J& u) ]- ]
  [1 \- @- q+ B/ b
打开虚拟机,点新建一个虚拟机然后点下一步,自定义——Workstation 6——Linux(Red Hat Enterprise Linux 5)(客户机操作系统及版本选择)——虚拟机名称及位置(名称采用默认也可,位置可以选在自己电脑磁盘空间相对大的地方)——处理器配置(默认)——内存(我的是512MB)——网络连接(桥接)——选择I/O适配器类型(默认)——选择一个磁盘(创建一个新的虚拟磁盘)——虚拟机磁盘类型(SCSI(推荐))——磁盘大小(我的是60G)(根据自己的磁盘空间而定)——指定磁盘文件(默认)——完成。4 N8 K  W1 \+ H- J
/ X% G: J# X3 \
到此虚拟机已经建好,下一步在虚拟机里装linux操作系统。
3 e, w/ I3 E1 _: B! I
, ~! b* W9 c, X( T0 u6 c三、在虚拟上安装linux系统
, S0 R& Y6 i) S' B7 i/ n
( c# q# w' I3 I& Z2 z% M  l0 \1.设置:设置虚拟机的CD-ROM,双击虚拟机的CD-ROM,设置为:打开电源时连接,并将使用ISO镜像作为VMware的光驱。(没有光盘的情况下)。6 s1 N' l5 _5 i/ X+ ?8 k! L  o
4 k$ ^* B3 z6 h! p) ~& r; ~! v
2.启动该虚拟机,装linux系统。(下面提到的是可以选择的,没有提到的均选择默认的)7 A" X$ y6 d) @- ~
/ z: b& a: c1 E' n0 C) {4 q0 t* A
A.语言:简体中文.1 n) Q7 ^3 q( G3 O5 M

: q. H+ H! K6 @8 g1 |6 rB.键盘:美国式英语。8 p# W, \4 \; O, o3 X  U2 M9 v
: ~1 q5 ^7 ]( H9 _5 l0 ?
C.设置网络设备:5 U9 i' Q4 T5 [) b

) ^7 m5 D# y/ Da.点编辑设置:0 n3 i' c/ r4 [+ T" F! f

' C, ?' P4 p# L, G选择Enable IPv4 support            Manual configuration   
& ^: W8 l. g. e/ Q( |( D/ q) ~- `& b4 M% B: |- y
设置IP和子关掩码(例如192.168.0.*及255.255.255.0).并且把Enable IPv4 support的勾去掉。( m$ s$ v' ?; U7 h+ x6 p

# O  F* q( t8 c% I5 cb.设置网关及主DNS      如:网关:192.168.0.1           主DNS:192.168.0.1
% a/ ~9 t: `+ x
5 f7 \) E6 N0 x9 W& \6 v5 nD.防火墙:禁用。
. G1 P1 O+ \5 X$ X
( p" L8 D2 K9 D, F3.调整虚拟机的分辨率。
# m+ H  \" n6 D! z" X- G. d% W; x9 S* _
虚拟机的系统装好之后,默认的分辨率是800*600,如有需要可调整其分辨率。0 y$ S6 f* Y, [  U2 A$ r

7 }1 b" N1 ^; y- F8 J: L调整分辨率:虚拟机——安装VMware Tools。5 Z0 H7 E; t2 \; ^

4 P4 |; Q- O' O; k: M+ n- Y% m$ N这个过程有时候比较慢,需要耐心等待。直到桌面上出现VMware,此时可打开将其COPY到桌面上。然后点VMwareTools-6.0.2-59824.i386.rpm进行应用安装,安装成功后,解压缩VMwareTools-6.0.2-59824.tar.gz,解压缩后文件名为vmware-tools-distrib,打开后点vmware-install.pl,让其在终端中运行。一直按回车即可。装好以后点系统——显示——调整自己需要的分辨率。
4 o" P9 _- [# W5 a8 G- D& j& ]7 W- f, B0 }
重启虚拟机即可。6 Z4 o4 D' r- d/ X# s- g  I

# H+ u  ]2 r8 x, z9 _四、安装apache,svn并配置。; J6 U8 S, ~$ @- I' r/ Z
5 g, C( G# B1 b' G/ f' G
在此我选择的是用yum安装。7 G. x! K3 _+ I( I1 K' [" s) |

1 P2 A3 V3 M5 s$ x所用安装的有apr,apr-util,httpd(即apache),subversion.* M( v; A  i/ x3 w  D& H9 M4 H0 \

  _. [- C' G* s/ _( j7 k: @5 E打开终端:) M+ H9 k( z; \7 z3 n* _8 H4 n+ h
" {- Q1 P! }* ?1 s
1.安装apr% j# E& v. P4 s4 |  M+ [
' }1 A, u6 W: Q$ ]( B- o
输入yum install apr*              #根据提示安装apr相关的一些东西,包括apr在内。(也可用yum install apr,这样将只安装apr,可能会缺失一些东西,没有试过。)6 W6 [, J; I4 a( Q

7 R# a& `* ?7 c. _2.安装apr-util) K" y2 C+ O5 m% h! H) V5 E
5 }8 u; M. R9 r- Y5 O
如果上面用的是yum install apr*,则已经装上apr-util了。- z' {; _7 [6 i, D! _! j4 s' A* M

3 ^& t  }) m* P4 {  ~3.安装subversion
" ~/ I8 ^( N1 Q2 z# l1 c1 n% E) P! N2 t% T3 _
yum install subversion*3 x* |9 Y$ B# H+ t4 [

) B+ D% D  O6 D, k/ r0 c5 u4.安装httpd  N: T! g  E: e( h4 P
* t- S1 }! y, A1 ?7 D
yum install httpd*( O: ^: @- U! {

5 y: p( l9 Y& a( J! \& y( N- l到此为止所有的都已经安装完毕。& e- L" t6 M: \1 f9 |
! X, K! O0 _2 Z  m' F8 o
5.安装dav模块
! W' h6 a0 l# e+ e! {* H( C$ S' p- A6 A) U9 B5 v5 r
yum install mod_dav_svn
! @3 C/ p- S( J0 D5 W' A( [6 h; r
注:yum安装命令语法为:  yum   install   软件名,后面加*则下载所有相关的。
9 b2 ]! V5 i8 n/ Q
  w9 D: b3 V8 Y" e* Y# T6.配置svn和apache  M6 F1 {3 ]: R/ E

" n# D$ ^. G" ?) @打开apache的httpd.conf文件,应该在/etc/httpd/conf/httpd.conf下4 H1 q. a# q) ?' [0 T; o6 A

1 {4 ^% P- l3 r2 ?& P, R将231,232行改为User apache        Group apache ,如果已经改过来就不用改了。2 c1 B" k, k4 u8 i- x
0 x/ f+ Y+ @0 J# S- W- @. i
在最后添加(注意:要在英文状态下输入,并且#后的注释内容不要写的配置文件里,否则apache启动不了)4 r0 |2 j5 G; C' P. N

2 y4 c3 C# K* n: G# S" B% j1 W<Location /repos>/ z# k# @% @* s4 f7 G  K# }7 x
   DAV  svn+ G/ P+ k/ b$ D( M
  u/ s* a; Q8 b; {) B9 y: m$ v
   AuthType Basic
8 O5 k' m3 b; H  m# F   # SVNPath   /usr/linux/xiu                                  #单库时需要这么写,xiu为库名。
2 l/ \+ z: [& ]" @' [( \   SVNParentPath   /usr/linux                                #库路径(多库),根据实际情况而定。
$ }/ S2 \, b3 {- y* t   AuthName "repos-project"                                 
8 P! U) ]! O+ \9 q/ Q5 C6 F/ g* ]+ o- x5 N9 N# q' {3 t: y( _- ]
   AuthUserFile    "/etc/httpd/passwd"                  #存放用户名及密码的文件路径。
- ^$ }! n0 v, l* B  ]2 p# w7 P   AuthzSVNAccessFile   "/etc/httpd/accessfile"     #存放权限的路径。
+ Y0 K: t+ A- v/ m: h9 p   Require valid-user2 G$ \; r# s! v, D- {
   # Satisfy Any; z4 i& a1 e; b( G) R' V4 G
</Location> - S/ i: P4 D8 e

5 w& `( I6 j) ]8 j五、建项目仓库并导入文件$ H6 g3 y1 F0 B; z# R7 b$ y* n

4 A0 v0 l1 b& G% e& B/ }1.建项目仓库" F3 R4 I8 E% {# H
' m2 k' D& E* C  x8 t, J
cd  /etc/subversion(subversion目录)
' ^" N8 n+ g. R$ y; e% G% G3 L
: u- f% O3 X4 N6 I; E! U首先在/usr 下建一个空文件夹,名字自己起, 在此我建的是名为linux的文件夹。xiu即为所建仓库的名字,可根据自己的意愿起名。, S# r+ l& v- {' W) l
2 ?! f4 i* K+ f; i
mkdir  /usr/linux0 f' z2 [+ U- Y! r$ O
1 f2 A$ b3 T5 j5 t
svnadmin create /usr/linux/xiu: U. {+ \3 |- i( R- |2 z

8 o  N" `0 z2 ~! j- o! f: x" }svnadmin create /usr/linux/xiu1
3 x. x8 M7 `; D, J1 q% f
1 e. V% R9 C( p6 T3 B! ?" ^$ }将项目仓库的所有者设为apache1 i+ A. @" U, R. C6 y  d
- v$ e% t& [$ z* [( J' Z
cd  /usr# M$ h( ^. M8 P  z* u  g

6 o3 c9 m  N; r$ D5 Qchown  apache:apache  -R  linux                                          #   -R指设置对linux的子文件夹及文件也有效。: n5 |0 _6 D+ n0 _) K0 q

2 r0 z- |1 t, Y: K& D2 X6 L2.导入文件至项目仓库9 k" z3 s- ~- H1 c
9 P0 f5 \+ n  _$ c, J& h
svn import  要导入项目的路径   file:///usr/linux/xiu (项目仓库路径)    -m   "提交信息"
7 V# V0 y8 R1 L6 g8 |5 J* z; C* [' d( H  n  V" s5 o7 R
六、权限设置
! N+ Y: Y9 S/ p7 q: M* z. T( H; m# }1 J! ]! R3 o
1、建用户名      username:用户名,自己起的名字。, R4 s# G8 J  i/ _- w, b: W

& F# |% @; W  a2 o( b& k% Q第一次建:htpasswd  -c  路径(/etc/httpd/passwd)  username               #  因为没有passwd文件,故用-c创建* a+ `( L: o" u7 q% d
2 D; r+ }2 k/ K) j9 P
第二次建:htpasswd  -m 路径(/etc/httpd/passwd)  username6 I/ U; f& {6 P7 _

7 Y& ]  E# H2 ^8 j# C% o2.权限设置
6 n1 a/ H0 l% O: m+ o# ~1 H+ Q& b( w& T6 X. u- h3 ~- K: f
在目标位置(/etc/httpd下)建个名为accessfile的空文档,在里面添加以下内内容。 - a2 F$ e' S1 x! O

! Z+ D6 F9 [8 P1 W. g+ Q$ |并将其所有者设置为apache,命令:chown  apache:apache  accessfile' o% O1 x& p  h% [- ~0 n+ q  k

5 A( l; I) s  Q. o6 q! ga.多库
9 B0 p, K$ q& g- q& Q* }9 e' M  n% u" s+ W: v# O
[groups]
. g; y1 I: I' j$ h3 N  Y, X8 tadmin=user1,user2,...( f5 |. p" W( I' ^
dev=user1,..% o, e4 M) w! X

+ X" U( t7 y; `" V[项目名:/]) W; K7 K2 j  U' l2 y! |0 }0 r
  Y8 x7 n0 k. G  e% b. U; z
@admin=rw( b7 X& S, R8 i2 H" @1 [
@dev=r
" E. _+ a; d/ {7 q& N' ^3 K/ v
, P. |9 I0 A5 v) c. O6 jb.单库9 \% Z9 ~9 r8 ~6 V3 @! d* q

3 d4 K  T' [$ e0 K1 d4 S/ G" d" \: d[groups]  D  y6 ^" x3 [+ j
admin=user1,user2,...- v) \9 n& T6 V3 Z1 D
dev=user1,..
) ]" D2 O5 K# N$ S- }$ R9 V
4 Z1 O0 t% Y- ^5 p. J; J$ U4 e2 W/ f[/]
, F" V# b) O  }, |; w# P5 O' q2 s; I
@admin=rw
: \- e+ Q! ?$ L# g. ~@dev=r " L1 y$ W6 s# l4 W+ Y3 [

# E# {6 X; s+ Q然后启动apache,用service httpd start 或者 httpd -k start
2 I4 y' i; G# f( t, m/ i0 a9 l$ S
1 P( h3 ]$ R1 K  u; p客户端访问路径:http://IP:80/repos/xiu       (xiu即库名),根据自己的实际情况而定。如果不出意外,能看见到刚才添加进去的内容。% F' L9 {( C9 k/ }' [( ^

) n. \1 y0 R! |9 _七、注意:5 ~& w  [; x. i: i1 q
7 s! C7 \% f6 j
1.可能所有的配置好了,在客户端可以访问项目仓库,但是貌似没有写的权限,提交或者添加文件时会提示,Can't create directory '...svnroot/db/transactions/0-1.txn': Permission denied ,这样的话,修改/etc/sysconfig/selinux,把SELINUX设定为disable,下次启动系统后将不会自动启动SElinux即可。2 w, r/ M0 Q# R) e- R
% |5 X* w6 c7 l# k* D
2.linux下如何设置apache开机启动
1 G0 M; ^: B% i+ R
) e7 s% F" S1 j: J7 c2 |2 [在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start
! K( o0 e+ N, X5 S  ?6 J  g4 U  l0 k# q
[ 本帖最后由 yjh4866 于 2010-7-9 23:55 编辑 ]

评分

参与人数 1金钱 +5 收起 理由
CMStruggling + 5 感谢分享!!

查看全部评分

发表于 2010-7-14 23:54:50 | 显示全部楼层

回复 楼主 的帖子

感谢楼主yjh4866分享经验心得!
1 K2 q+ @; E) A0 m0 j( N# b- A' z' D$ T" I6 g% u" j/ r! _, @0 i) O
安装配置搞定了,下一步就是使用了,期待楼主分享Linux下使用SVN的经验心得!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-18 11:15:14 | 显示全部楼层

回复 沙发 的帖子

嗯,呵呵,好的,也希望朋友们能指出我的不足!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-7-17 23:33 , Processed in 0.083635 second(s), 12 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表