SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3551|回复: 2

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

[复制链接]
发表于 2010-7-9 12:34:35 | 显示全部楼层 |阅读模式
配置了几天的linux服务器上的apache和svn好使了,写下这个文档(有点乱),以便自己能记住。也希望有相同兴趣的朋友可以指点我配置过程中的不足。以下这些是我的整个装虚拟机及配置过程,帖出来给有需要的朋友看,也希望那些已经会的朋友,指出我不足,QQ:171670146。
: C& G) P4 z. i& H& r8 I4 H/ q9 a/ m
. L3 ?. l% j8 X/ V; B/ i) N申明:我是在虚拟机上配置的。
! f  I: D6 ]' ]% b0 `4 N0 J
" }1 Z1 p( Q4 O. T- n9 I一、安装虚拟机
! D* v* S  ^" k( b6 J& a
# [1 u, E6 o& J具体哪个版本的记不住了,不过这个简单,直接下载安装重启就OK了。8 B$ [( M: S0 F0 f5 q* v$ ?# t
8 ?1 s0 {: Z9 i# J: q; j7 C( y& S
二、新建虚拟机
6 o. L* N/ Z9 |0 G5 k
( O! [) N' Z7 q我用的是CENTOS 5.3,所以客户机操作系统的版本选择的是Red Hat Enterprise Linux 5,在新建虚拟机的时候可以根据自己的操作系统版本进行选择(不知道可以在网上搜,一般能搜索到)。
& K- O: o" n: \, l$ z
0 B" n0 P' c8 j打开虚拟机,点新建一个虚拟机然后点下一步,自定义——Workstation 6——Linux(Red Hat Enterprise Linux 5)(客户机操作系统及版本选择)——虚拟机名称及位置(名称采用默认也可,位置可以选在自己电脑磁盘空间相对大的地方)——处理器配置(默认)——内存(我的是512MB)——网络连接(桥接)——选择I/O适配器类型(默认)——选择一个磁盘(创建一个新的虚拟磁盘)——虚拟机磁盘类型(SCSI(推荐))——磁盘大小(我的是60G)(根据自己的磁盘空间而定)——指定磁盘文件(默认)——完成。
+ B! i. r; N" F8 J- X3 X2 U) h& V* B! M- N
到此虚拟机已经建好,下一步在虚拟机里装linux操作系统。% {$ F7 |( l9 N" c# f6 S5 R! s0 p

4 x, e5 Z" p( b7 C% J三、在虚拟上安装linux系统- V# g! A  B7 c

( [5 x3 d3 ~& O6 w, _, b: Z1.设置:设置虚拟机的CD-ROM,双击虚拟机的CD-ROM,设置为:打开电源时连接,并将使用ISO镜像作为VMware的光驱。(没有光盘的情况下)。3 o# P$ o5 ?* |1 q5 s: p
! {, g7 Y( v& ?: r9 c$ U2 E% J5 z+ v
2.启动该虚拟机,装linux系统。(下面提到的是可以选择的,没有提到的均选择默认的); S/ Y& O9 j7 b2 c3 `

+ D; x0 S% i. HA.语言:简体中文.
8 H# V; Z. {! g; b# O# y0 U. u$ h0 S: x
B.键盘:美国式英语。
" S# l2 \5 [1 ~4 S* `  J* S( }; i# k3 x# i! }' K. s" w) ]) w
C.设置网络设备:
: m1 B; F+ o; Z9 O" N
& F' I1 l. |* a& m- m' E9 ka.点编辑设置:
, g' c, i* O6 p1 O2 S( h4 o4 P3 B9 u. K, n9 O
选择Enable IPv4 support            Manual configuration   % ?3 F2 t2 j" k

. D. N% S& P( e9 v6 J设置IP和子关掩码(例如192.168.0.*及255.255.255.0).并且把Enable IPv4 support的勾去掉。  w/ w. e4 ^( _4 S" H( o

( ?: p+ O' o5 e+ Qb.设置网关及主DNS      如:网关:192.168.0.1           主DNS:192.168.0.1
: @& l4 S! e9 c2 t- }! z) [! ~4 c9 e* R
D.防火墙:禁用。
0 B- K+ C& p7 P. e% m
& M' l8 m0 k' T3.调整虚拟机的分辨率。- ?$ J% @0 ^0 d

& Z# \( e5 l, v$ Q3 ]7 S3 ^虚拟机的系统装好之后,默认的分辨率是800*600,如有需要可调整其分辨率。
8 a0 O+ O9 Z4 Z* D( H$ E6 S4 |' c
调整分辨率:虚拟机——安装VMware Tools。' A) o) u5 Z  r& [/ O* L* z
" p& m' @  a' [5 X; p) y
这个过程有时候比较慢,需要耐心等待。直到桌面上出现VMware,此时可打开将其COPY到桌面上。然后点VMwareTools-6.0.2-59824.i386.rpm进行应用安装,安装成功后,解压缩VMwareTools-6.0.2-59824.tar.gz,解压缩后文件名为vmware-tools-distrib,打开后点vmware-install.pl,让其在终端中运行。一直按回车即可。装好以后点系统——显示——调整自己需要的分辨率。+ o- r1 t( F$ v* B' B9 `

( y! ^0 q: h# }/ P4 z7 u% y6 N重启虚拟机即可。: u+ X1 Z: i2 C
/ L; |, X( ~- h; h
四、安装apache,svn并配置。, K. ]  T3 q% B! \. s

7 I. V5 f. Z1 g8 Y在此我选择的是用yum安装。+ N3 K4 r" r" |5 Q8 v1 s' ^
' U3 I1 @1 \( M2 d9 n& {9 W
所用安装的有apr,apr-util,httpd(即apache),subversion.
7 F+ M0 h( t. y" v8 o/ G: V. y, F- v7 l1 p2 Y
打开终端:
) ?, F. D4 ]( u) m; K& y6 I6 R6 o
# d# V+ L$ Z4 s0 a  Y1.安装apr! Q) b0 s0 Z1 k# B6 d" J, |' q
& j) A8 z" I7 J5 ]+ y) }! G- R, `
输入yum install apr*              #根据提示安装apr相关的一些东西,包括apr在内。(也可用yum install apr,这样将只安装apr,可能会缺失一些东西,没有试过。)
  v5 E) x8 e9 C- I( v' b  ?. n' f2 m7 E9 P+ \+ D
2.安装apr-util
9 R! _; w. F% G- s, Z+ F/ v. y% }8 N4 o% t3 C
如果上面用的是yum install apr*,则已经装上apr-util了。
4 L5 z+ v$ J0 c9 n3 l1 G6 Z+ @2 ^. S# l1 ]  j' B# O6 N6 `
3.安装subversion
4 c! ]8 l6 H' i: {% @" u% e. Q! v% n1 G( |+ c3 M. a
yum install subversion*( \5 Y% \: M+ g, X! h; R

9 v1 `; B, O4 r: x4.安装httpd
8 w! m4 h3 A1 p* V
# ?2 I2 o. }( E, w5 Eyum install httpd*/ C2 k9 T+ ~  v8 A7 m
" \% m  P- K5 o. N% ^* c7 @
到此为止所有的都已经安装完毕。) O# F/ w4 c5 O. Z# `2 z

0 Q) }# ^- J4 F. Y. g9 M5.安装dav模块
+ z. l2 F' k6 Z2 |" k
# ?; y3 Z1 z. O3 _" {& j  A1 Zyum install mod_dav_svn" R& q$ `9 A" s$ D* h, b5 Z7 i

6 p; v" r7 w  F* m) G注:yum安装命令语法为:  yum   install   软件名,后面加*则下载所有相关的。
7 F; L, @0 [1 ^1 {- R7 S; q4 B' i
, i4 n' `3 o' F( r( V% t& |2 k6.配置svn和apache( D* g/ ~3 V3 F/ t5 r
- G% M( Z. ~& i
打开apache的httpd.conf文件,应该在/etc/httpd/conf/httpd.conf下  f6 w! p0 V* }) D  U
( [  X; m* F' F6 z" M" C. `1 M
将231,232行改为User apache        Group apache ,如果已经改过来就不用改了。4 h/ K# t7 T+ n6 o' M; ~4 F

* S8 c; e% l( l# K9 f+ w# ?在最后添加(注意:要在英文状态下输入,并且#后的注释内容不要写的配置文件里,否则apache启动不了)
: H+ S$ W. F+ ]2 R5 S5 ^: H  [! M2 W; u# }) \( H8 W* m
<Location /repos>
. E' Q  G1 O" z0 Q# O8 n   DAV  svn: p5 t% i% V8 A/ ?6 l3 K4 w: x
4 F! O% c; S/ b9 w, K) V$ G+ K
   AuthType Basic% e8 F, L6 A  D2 J, Y/ ~' {2 u
   # SVNPath   /usr/linux/xiu                                  #单库时需要这么写,xiu为库名。
7 L; O7 w+ }4 G( W" B! I0 L   SVNParentPath   /usr/linux                                #库路径(多库),根据实际情况而定。1 n4 Z+ a: {2 G: z: S9 d
   AuthName "repos-project"                                  ' y# u$ X4 A, [" q3 p
: d* X8 S; B8 g5 e4 I* W
   AuthUserFile    "/etc/httpd/passwd"                  #存放用户名及密码的文件路径。
. d: d5 n) [/ d2 T$ C   AuthzSVNAccessFile   "/etc/httpd/accessfile"     #存放权限的路径。6 _6 H. z& M* c  ]
   Require valid-user* K; f$ U5 Z/ {: k0 k1 _0 l
   # Satisfy Any, }7 [5 q# i0 M. G& F, E
</Location> ( s% {: r! f5 T
* U9 {9 ?# F% f( y6 d
五、建项目仓库并导入文件
' u9 o4 i* r) x! x7 w; a
; P; z  P& m1 ~- G$ ~5 N6 l1.建项目仓库$ D* V- P' X' d& M
9 X2 C+ X! ^" F# i* l
cd  /etc/subversion(subversion目录)
7 n7 K5 s; N+ P1 M
  f3 j1 ~7 ?5 }* C' @$ r  D首先在/usr 下建一个空文件夹,名字自己起, 在此我建的是名为linux的文件夹。xiu即为所建仓库的名字,可根据自己的意愿起名。
7 u$ n/ B! [! f' s' ^# P& J5 s- e- w  O! H% |2 O/ U
mkdir  /usr/linux# R8 ^& D8 v! g: Y; z' U

" f7 `6 P, P/ z0 b" Fsvnadmin create /usr/linux/xiu
' u* o& [& `2 p$ b+ N# Y1 z
/ W3 y/ {& w. A0 L5 M, v/ u% ?svnadmin create /usr/linux/xiu1. |, F5 o+ Q4 ?9 A6 Q9 y
2 g) b% {* I7 R3 W& W6 m0 }
将项目仓库的所有者设为apache0 m5 z! l* H4 A' X

# l4 g4 o9 a( U" ?3 acd  /usr5 c/ c, m! R: r& s

# E5 r, x5 K0 P! W$ @0 o) W  R' i' gchown  apache:apache  -R  linux                                          #   -R指设置对linux的子文件夹及文件也有效。
: u0 l7 Y6 D" Q: Y" m* c
( s: t+ S" @6 \$ {7 Z# G. H2.导入文件至项目仓库- \& {" `4 u$ s' j1 L# r

4 B- f/ U% P0 O( \svn import  要导入项目的路径   file:///usr/linux/xiu (项目仓库路径)    -m   "提交信息"
. V, w5 f' Y  m: H6 \$ }( B- {( T4 ~2 |- }" C) J
六、权限设置
" ?, }! l6 i' f! H
" G* Z  z! l% t# c1、建用户名      username:用户名,自己起的名字。) A# ^. \( Z: f$ h- t: ^
! A! [! `4 e- A, V+ `# C
第一次建:htpasswd  -c  路径(/etc/httpd/passwd)  username               #  因为没有passwd文件,故用-c创建
% k. ^% f! i. Y( P4 J$ k- N' B( \8 l
第二次建:htpasswd  -m 路径(/etc/httpd/passwd)  username3 [4 s. D! X6 x& P; w; [

# J' a2 L3 X0 f8 p! l2.权限设置% U- W5 i, M( D# C
% d! f2 Z! V) V, [1 W( ]+ R0 Z
在目标位置(/etc/httpd下)建个名为accessfile的空文档,在里面添加以下内内容。 4 z/ ]) s, x. k' o# d5 f+ u
5 H9 K3 }6 ^- N, @" t9 K3 r6 B
并将其所有者设置为apache,命令:chown  apache:apache  accessfile, }$ Q* i) A9 H" H: x8 z
/ T1 f2 G! i9 s( p) E; t
a.多库
! l' H8 r2 h. _# Y( d% a: Z2 ~
[groups]; f0 |$ J. G) X
admin=user1,user2,...; W! A# \* u. y0 K4 ~, j: q; |
dev=user1,..; P  s8 e4 f, n' z1 B& D% @8 D
/ f! g( N$ u8 B  g# a; a
[项目名:/]* ?4 k0 Y3 b" t

# C; ^8 A6 v* @5 f* c- d; w@admin=rw9 l$ s/ L8 m2 r
@dev=r- x( [& |( y6 Q6 a  L0 p8 q

& b; ?& ^/ W1 ^b.单库
% e& A" C6 v* ]) n1 U7 y- A+ ?4 M, j
  [& V/ |/ o4 m9 X' r  x" c[groups]
; {5 N, X; I( @- |9 |3 xadmin=user1,user2,...5 J6 q1 @) G( l. m+ t" ]/ O9 h
dev=user1,..
1 D# D2 H, K" _. ^9 E
- ~& t. k* p- Y$ Y/ ]5 J[/]2 L+ ?" R/ y4 H" U& [' F1 ~
* }& l* m( x& @
@admin=rw
( K8 x( Y6 N2 P8 z@dev=r
7 P  k! i0 R! X6 K# p6 e6 W( C2 i1 l* x; H% x+ Y
然后启动apache,用service httpd start 或者 httpd -k start
! E. W# y- O2 M/ i# S+ G: u& ?+ M0 v# G1 w, N  r
客户端访问路径:http://IP:80/repos/xiu       (xiu即库名),根据自己的实际情况而定。如果不出意外,能看见到刚才添加进去的内容。
8 Q* @' {+ g/ Q1 O
/ J+ j. H- L" h+ ~7 F/ ]# F0 L* ^七、注意:
6 J; j& O1 }  K8 H8 Z, h* Z) C2 v& U, d
1.可能所有的配置好了,在客户端可以访问项目仓库,但是貌似没有写的权限,提交或者添加文件时会提示,Can't create directory '...svnroot/db/transactions/0-1.txn': Permission denied ,这样的话,修改/etc/sysconfig/selinux,把SELINUX设定为disable,下次启动系统后将不会自动启动SElinux即可。
4 C! a* j- H4 Z' Q; `9 p. W* p- {4 x- e$ w( t9 A
2.linux下如何设置apache开机启动' d: H' E7 H5 W! l
" |2 B' i0 w6 P
在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start: d2 K9 X1 c( M/ H7 |5 N8 ]
1 b0 b- s5 Z8 W. X7 a' T  e2 s
[ 本帖最后由 yjh4866 于 2010-7-9 23:55 编辑 ]

评分

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

查看全部评分

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

回复 楼主 的帖子

感谢楼主yjh4866分享经验心得!, M2 b8 w$ F& o' c+ R, w3 B, ]

; T6 t0 J$ n( x; L. O安装配置搞定了,下一步就是使用了,期待楼主分享Linux下使用SVN的经验心得!
回复 支持 反对

使用道具 举报

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

回复 沙发 的帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-1-23 14:52 , Processed in 0.073236 second(s), 11 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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