SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3582|回复: 2

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

[复制链接]
发表于 2010-7-9 12:34:35 | 显示全部楼层 |阅读模式
配置了几天的linux服务器上的apache和svn好使了,写下这个文档(有点乱),以便自己能记住。也希望有相同兴趣的朋友可以指点我配置过程中的不足。以下这些是我的整个装虚拟机及配置过程,帖出来给有需要的朋友看,也希望那些已经会的朋友,指出我不足,QQ:171670146。
; e; R$ z4 b) j4 k' p) G
8 ?3 x  p6 D# G; k5 K+ a. C申明:我是在虚拟机上配置的。! z5 q' r" Z6 R& F3 G6 h' W6 p

+ d8 r) G7 ?! Y4 Y1 U, l- L一、安装虚拟机5 i( ?) G" `% Q$ T6 Q
9 I2 ~  F( S: ?9 R+ Z. a+ U' m
具体哪个版本的记不住了,不过这个简单,直接下载安装重启就OK了。# ~( p' j; [% H6 e& T
! T7 o1 I/ f+ v8 R
二、新建虚拟机
2 M0 d" ~6 D! ~5 a6 D: C& S2 q* V% ?) n0 i
我用的是CENTOS 5.3,所以客户机操作系统的版本选择的是Red Hat Enterprise Linux 5,在新建虚拟机的时候可以根据自己的操作系统版本进行选择(不知道可以在网上搜,一般能搜索到)。
/ V$ ~- L' B1 V; e5 @) S* n6 s
打开虚拟机,点新建一个虚拟机然后点下一步,自定义——Workstation 6——Linux(Red Hat Enterprise Linux 5)(客户机操作系统及版本选择)——虚拟机名称及位置(名称采用默认也可,位置可以选在自己电脑磁盘空间相对大的地方)——处理器配置(默认)——内存(我的是512MB)——网络连接(桥接)——选择I/O适配器类型(默认)——选择一个磁盘(创建一个新的虚拟磁盘)——虚拟机磁盘类型(SCSI(推荐))——磁盘大小(我的是60G)(根据自己的磁盘空间而定)——指定磁盘文件(默认)——完成。& P$ ^; h, l6 \. ^! f8 E2 j3 L
5 F5 [2 p! K9 s; L" }+ ?
到此虚拟机已经建好,下一步在虚拟机里装linux操作系统。/ j5 y2 L  W6 L  B# m# \. F" M% W
% I1 i6 _2 K7 p
三、在虚拟上安装linux系统
+ @3 x1 @  U% H7 h+ F0 [, g
7 \) Y4 V, e. D/ |6 S1.设置:设置虚拟机的CD-ROM,双击虚拟机的CD-ROM,设置为:打开电源时连接,并将使用ISO镜像作为VMware的光驱。(没有光盘的情况下)。
& e: ^7 G$ C; [3 N. O+ [
- z0 S- W* M# H7 u2.启动该虚拟机,装linux系统。(下面提到的是可以选择的,没有提到的均选择默认的)( o5 z. t  e6 D5 ]8 v5 q/ j

' h! E% ^1 k2 G0 A/ s6 rA.语言:简体中文./ y) H$ ]: b: F4 m5 b4 p0 k9 c

4 K3 @9 [" p' H" B! C  E; G5 o9 n+ mB.键盘:美国式英语。
; o! y( Y) S% O& j% W8 A* O8 ^. ^* y" ?7 r
C.设置网络设备:
$ M# b# u2 H/ @& o0 e
1 |9 e1 h+ U! F' la.点编辑设置:
4 M7 v' n5 v$ x" C. l) @6 d' }/ d0 x
选择Enable IPv4 support            Manual configuration   
" ?1 V% l7 y0 B3 r9 v% I, D' D! ~, u- k9 O
设置IP和子关掩码(例如192.168.0.*及255.255.255.0).并且把Enable IPv4 support的勾去掉。$ G4 W. ^( O) B# ]) @8 I7 q

6 }$ r$ ^4 W/ {* }b.设置网关及主DNS      如:网关:192.168.0.1           主DNS:192.168.0.1
* H- _. t9 I0 I1 {7 `- [0 G, i! D: ?: c8 Z, d+ m4 G/ i7 L6 G
D.防火墙:禁用。, d. h1 X1 j, ]5 q, o3 R8 Z- k* _
3 a" {9 L& U- J
3.调整虚拟机的分辨率。
7 T" e# c' ?1 _& p% g7 J% W
, t: Z: d: @* S# c' w- u: h虚拟机的系统装好之后,默认的分辨率是800*600,如有需要可调整其分辨率。% i# D5 i3 H  R( v
' B& s0 E( `4 r" d6 f
调整分辨率:虚拟机——安装VMware Tools。0 }0 \( s5 E" n" v& T4 ~6 `
: }; d- U2 w' z) R4 `
这个过程有时候比较慢,需要耐心等待。直到桌面上出现VMware,此时可打开将其COPY到桌面上。然后点VMwareTools-6.0.2-59824.i386.rpm进行应用安装,安装成功后,解压缩VMwareTools-6.0.2-59824.tar.gz,解压缩后文件名为vmware-tools-distrib,打开后点vmware-install.pl,让其在终端中运行。一直按回车即可。装好以后点系统——显示——调整自己需要的分辨率。
( g" ?) V* C0 b5 K# U6 m" ^) {- e6 X1 m
重启虚拟机即可。- U' P6 _% s" Q7 v$ B

" T9 d- P$ O: h( h四、安装apache,svn并配置。! q& R3 ?% n& M* S

, D6 T7 g6 ^% S% u& B- c  x3 U. h在此我选择的是用yum安装。
8 y& `* T" H* l% v  r: B& T$ [( t& x3 A5 p" s
所用安装的有apr,apr-util,httpd(即apache),subversion.1 w; {+ {0 ^. ]1 w' m2 F
% L+ y/ Q6 {2 R5 D  w2 v, ]$ z
打开终端:
) s+ x0 m3 }* |8 z! k# n
: g5 I- [# w! H. R1.安装apr
- T8 D1 e4 U" G; q' B" S  a' N% Q! f0 b
输入yum install apr*              #根据提示安装apr相关的一些东西,包括apr在内。(也可用yum install apr,这样将只安装apr,可能会缺失一些东西,没有试过。)
! r% ], y$ g$ r& \1 z
3 U9 l4 g& W6 T, n4 V9 m2.安装apr-util2 Y1 G( A2 C& d( J# m% v

! _8 C5 p* h  F如果上面用的是yum install apr*,则已经装上apr-util了。
( G. I7 o  O* T: n" v
$ r# F( T4 r  V( s: V, j5 j& Q8 y0 E! u3.安装subversion
# O9 Q' j& s" t* [/ h* ^7 @& x0 Q8 O- [5 w. m+ _8 m
yum install subversion*! ]* r+ P% O; H; \
+ U* w. q: }/ H+ y2 C0 V$ |: B8 I! ~; ^
4.安装httpd
# `& J4 }4 X4 y# U. X* o" x: G3 L
yum install httpd*
: J) j. ]- z! z: U$ J) d# j' V/ Y" J% F. n
到此为止所有的都已经安装完毕。
4 i8 ?7 ?6 y( Z8 j" q' k
0 Z& E; N/ l! B. q5 t5.安装dav模块
( ^( Q% W! ~. ~0 |+ N/ s  I# ]8 x$ O# c7 G3 b# I
yum install mod_dav_svn
/ A! t6 M  i$ e' r
$ b& K' T0 h  e4 Y- H3 R, t  L+ d注:yum安装命令语法为:  yum   install   软件名,后面加*则下载所有相关的。
3 V3 `: N  s! r3 K5 I0 }; M. l3 m1 G0 B% {4 Z) W' }
6.配置svn和apache8 k+ P5 a' J1 B# p

7 q4 Q- K3 d+ ~+ Z  U打开apache的httpd.conf文件,应该在/etc/httpd/conf/httpd.conf下4 G  J: v' W/ O2 c% x" w
) j8 G3 y6 Z1 L/ v% K7 U
将231,232行改为User apache        Group apache ,如果已经改过来就不用改了。
/ H+ x3 R8 J* p. c; r: e, t) p/ r. J2 ^/ h) C  Z
在最后添加(注意:要在英文状态下输入,并且#后的注释内容不要写的配置文件里,否则apache启动不了). x2 E0 J7 w7 v

, H) s' x8 m; {  L; g<Location /repos>
8 `/ X6 J4 L) N) O   DAV  svn6 u! \& s. Y7 _- p  Q1 P: X) X
" I) e7 u; n, a/ l; R
   AuthType Basic
8 m+ D2 E2 ^( n( T1 |   # SVNPath   /usr/linux/xiu                                  #单库时需要这么写,xiu为库名。. a* ^% Z1 A8 x) K% B: W3 F
   SVNParentPath   /usr/linux                                #库路径(多库),根据实际情况而定。5 ?4 C9 \# Y- ?) }' {& ?- r
   AuthName "repos-project"                                  + `7 h. `  }$ c. b& M
& K, F' g5 u, a- L
   AuthUserFile    "/etc/httpd/passwd"                  #存放用户名及密码的文件路径。1 K- c. v( l& h/ W
   AuthzSVNAccessFile   "/etc/httpd/accessfile"     #存放权限的路径。
) X) p+ ?) X2 c% i   Require valid-user
: P. A8 g) H  `  k   # Satisfy Any
3 q1 @) W5 x% {, w2 B</Location> # Z6 a9 \2 I; t% Q
6 \1 ?! P: V% Y) ]7 d$ z8 s
五、建项目仓库并导入文件
) \6 a6 l' W' u( P! {/ @0 x$ N. R0 F
( }' W! V' ]  N# H" X; ?1.建项目仓库
5 v7 `. h. d  w# v. [
* ~0 n6 o" C5 p, T. D2 Scd  /etc/subversion(subversion目录)
% {3 l% C# y  m+ w8 C
- h) b3 a, |: L) X首先在/usr 下建一个空文件夹,名字自己起, 在此我建的是名为linux的文件夹。xiu即为所建仓库的名字,可根据自己的意愿起名。' T/ z1 B, U, h" q* B
* G5 J! q2 L5 P1 f# B& S: @/ T
mkdir  /usr/linux
3 m# M6 x$ T4 [3 P8 w; S$ i6 v$ B: {' ]- P' d, a
svnadmin create /usr/linux/xiu+ x5 \" d( @, D7 J. b- X

. M, r+ ?7 J5 b; Fsvnadmin create /usr/linux/xiu1; J3 g' B' i9 k/ Q: K+ t: n+ l
# @5 t! C* Z% D$ p
将项目仓库的所有者设为apache
  h2 J1 n( E. @  H
' Q8 E) ~: n* z  ?cd  /usr2 a9 |0 e  j( ]) s5 y+ W
4 A; J+ u2 j  o: |" x. \- i
chown  apache:apache  -R  linux                                          #   -R指设置对linux的子文件夹及文件也有效。# V: @5 X+ c! q1 n5 \; |
7 O# N. ]) g) K3 U+ {5 l5 A
2.导入文件至项目仓库5 C' ?# d8 [6 V) ?5 C6 J
, m* M" s8 s- R  Y; U* r6 E
svn import  要导入项目的路径   file:///usr/linux/xiu (项目仓库路径)    -m   "提交信息"8 Z: T/ d  r& T4 {6 n8 N( ]6 d* n
( G7 L) L( f7 o- H3 B* Q2 C1 e
六、权限设置
. c6 S6 E" M) x- U8 a
2 k5 u- w& x9 p9 D6 v9 \4 y8 [$ W1、建用户名      username:用户名,自己起的名字。' I* S: q( p6 m: x% F  q

6 H% ]. N" F1 g# N5 ?. d; z! S第一次建:htpasswd  -c  路径(/etc/httpd/passwd)  username               #  因为没有passwd文件,故用-c创建
' a; e3 h$ j3 u  p# G: |/ Z- |9 ^$ y! n1 \3 m# U( o1 U
第二次建:htpasswd  -m 路径(/etc/httpd/passwd)  username
  Z; T: X. J" ^4 U: A/ e) a! m6 l0 N) H
7 }/ N. v0 x* V. n% {- ~2.权限设置
4 a, |- S) X" U4 y+ Y8 j( o  b  x) U$ o; ~
在目标位置(/etc/httpd下)建个名为accessfile的空文档,在里面添加以下内内容。 8 L  n1 n" I1 q/ a, P& G- J9 j

0 I2 W; r8 `; Y4 S0 v8 R并将其所有者设置为apache,命令:chown  apache:apache  accessfile9 g) [" |$ g  }7 }2 |6 d" A

& p; P/ Q4 t3 c' `4 O8 ma.多库
9 F) ?' {# U! k2 y  e1 Y9 }
4 l9 |8 A+ c: a5 \2 T+ \[groups]! k% S9 ?3 Y7 Y7 E% X& U7 ^& o
admin=user1,user2,...$ b, @3 q8 Z1 d" A. e
dev=user1,..& b! p1 K% C' s; B

1 d0 Y& e* m! C' {8 a- l+ w[项目名:/]
1 K" ]9 E$ R4 _9 C5 B% S" n; o$ I: n
@admin=rw
2 ?  i& _; G$ @, j@dev=r
& r+ w: O; [$ Q- @/ K/ |, O3 A. D/ y: ^9 L5 A! g/ e% [
b.单库
( h3 `9 N5 e  Z. R: r  ]; m" z4 A, M6 s( A
[groups]1 Q3 s: T0 Q2 B. ?
admin=user1,user2,...
2 D  a" `. I2 a4 M9 p% w/ }dev=user1,..7 G5 r4 Y4 X4 z" u4 ~
4 L4 B% C2 U8 N
[/]
) O: [" t# A  i2 [$ @2 D. n8 f' z/ J! M# V0 J
@admin=rw+ y( k, t- o; n+ I' b+ e! r
@dev=r
! U" |# k( X) S/ J+ z& c' _/ P
- W; k0 o& {0 v然后启动apache,用service httpd start 或者 httpd -k start7 v) U  k6 R9 d7 l5 Q
2 z( O# z& \( G2 y- p3 w
客户端访问路径:http://IP:80/repos/xiu       (xiu即库名),根据自己的实际情况而定。如果不出意外,能看见到刚才添加进去的内容。
, L% h3 z/ F! u8 L  m1 F5 U* o! B
七、注意:* v# d3 Z% v6 U8 n

; F# W4 r4 D4 X4 P1.可能所有的配置好了,在客户端可以访问项目仓库,但是貌似没有写的权限,提交或者添加文件时会提示,Can't create directory '...svnroot/db/transactions/0-1.txn': Permission denied ,这样的话,修改/etc/sysconfig/selinux,把SELINUX设定为disable,下次启动系统后将不会自动启动SElinux即可。
* r2 b. X/ X) ?- f" }5 J; G2 I# G6 F& f! C
2.linux下如何设置apache开机启动  _' q. f" U% Z0 p( }

  W) _4 ^% T) N  X$ h在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start4 P; G1 D- Z" `2 x1 o! ~8 S3 F8 D

) u7 I4 `& B3 T1 i# P/ w( @9 \; ][ 本帖最后由 yjh4866 于 2010-7-9 23:55 编辑 ]

评分

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

查看全部评分

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

回复 楼主 的帖子

感谢楼主yjh4866分享经验心得!
( Z. \1 b( L: @* Q6 M8 |) o
0 D% w9 B$ }( ^+ g  Q/ G安装配置搞定了,下一步就是使用了,期待楼主分享Linux下使用SVN的经验心得!
回复 支持 反对

使用道具 举报

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

回复 沙发 的帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-4-25 01:21 , Processed in 0.071252 second(s), 11 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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