只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。
CentOS6安装完成后自带的有Apache2.2和subversion1.6,那我们就先来看系统自带的如何配置:
一、用系统自带的Apache和svn配置
1、添加svn用户
1
|
# useradd -r -s /sbin/nologin svn |
2、配置Apache的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# mkdir -pv /www/svnroot/ # 为svn建立库目录 # chown -R svn.svn /www/svnroot/ # 更改权限 # cd /etc/httpd/conf.d # 编辑配置文件 # vim subversion.conf LoadModule dav_svn_module modules / mod_dav_svn.so
LoadModule authz_svn_module modules / mod_authz_svn.so
<Location / svn / > # 定义访问是的路径;例如http://IP/svn
DAV svn
SVNParentPath / www / svnroot # SVN的库路径
SVNListParentPath on # 允许列出目录
AuthzSVNAccessFile / www / svnroot / authz # 认证文件
#RedirectMatch ^(/svn)$ $1/
AuthType Basic # 基本认证
AuthName "Subversion Auth" # 认证提示信息
AuthUserFile / www / svnroot / password # 认证密码文件
Require valid - user # 必须为有效的用户
< / Location>
# service httpd start |
3、创建版本库并测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# cd /www/svnroot # svnadmin create platform # chown -R svn.svn * # cp platform/conf/authz . # vim authz [aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups] # 定义组
group_platform_admin = admin # 组内成员
[ / ] # 根目录所有用户的浏览权限
* = r
[platform: / ] # 每个版本库的对应权限
@group_platform_admin = rw # 权限
# htpasswd -c password admin # 生成密码文件和添加用户 到此,就可以正常访问了。 |
此时可以在浏览器里输入地址访问,也可以是用客户端访问。
二、源码编译安装
1、解决依赖包
1
2
|
yum - y install pcre - devel perl - ExtUtils - Embed perl perl - devel
yum - y remove subversion
|
2、下载需要的源码包
1
2
3
4
5
6
7
|
apr - 1.5 . 1.tar .bz2
apr - util - 1.5 . 4.tar .bz2
httpd - 2.4 . 12.tar .gz
sqlite - autoconf - 3080802.zip
subversion - 1.8 . 10.tar .bz2
zlib - 1.2 . 8.tar .gz
expat - 2.0 . 1.tar .gz
|
3、编译
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
apr . / configure - - prefix = / usr / local / apr
make && make install apr - util
. / configure - - prefix = / usr / local / apr - util - - with - apr = / usr / local / apr /
make && make install httpd - 2.4 . 12
. / configure - - prefix = / usr / local / apache - - sysconfdir = / etc / httpd24 - - enable - so - - enable - ssl - - enable - cgi - - enable - rewrite - - with - zlib - - with - pcre - - with - apr = / usr / local / apr - - with - apr - util = / usr / local / apr - util - - enable - modules = most - - enable - mpms - shared = all - - with - mpm = event - - enable - proxy - - enable - proxy - fcgi - - enable - dav - - enable - dav - fs - - enable - maintainer - mode
make && make install # 编译完成后添加环境变量: vim / etc / profile.d / apache.sh
export PATH = / usr / local / apache / bin / :$PATH
. / etc / profile.d / apache.sh # 生效
expat . / configure
make && make install sqlite . / configure - - prefix = / usr / local / sqlite - - enable - libtool - lock
make && make install subversion . / configure - - prefix = / usr / local / svn - - with - apr = / usr / local / apr / - - with - apr - util = / usr / local / apr - util / - - with - apxs = / usr / local / apache / bin / apxs - - with - apache - libexecdir - - with - sqlite = / usr / local / sqlite / - - with - openssl - - enable - maintainer - mode
make && make install # 编译完成后添加环境变量: vim / etc / profile.d / svn.sh
export PATH = / usr / local / svn / bin / :$PATH
. / etc / profile.d / svn.sh #生效
|
以上编译过程请注意是否有报错,如果有报错,解决后在进行下一步的安装操作。
4、配置Apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 在Apache编译完成后,由于系统自带的Apache是不需要卸载的,直接到/etc/init.d/目录下。 cd / etc / init.d /
cp httpd{,.bak} vim httpd apachectl = / usr / local / apache / bin / apachectl
httpd = ${HTTPD - / usr / local / apache / bin / httpd}
prog = httpd
pidfile = ${PIDFILE - / var / run / httpd / httpd.pid}
lockfile = ${LOCKFILE - / var / lock / subsys / httpd}
# 把这个几个对应的路径改一改,pidfile在配置文件中要定义下路径,并把error log的路径也写全了,这样方便排错 # 然后在配置文件中添加如下行: 在LoadModule装载的路径后面添加下面两行: LoadModule dav_svn_module modules / mod_dav_svn.so
LoadModule authz_svn_module modules / mod_authz_svn.so
# 注意:把启动的用户和组改成SVN使用的用户和组,否则没有写权限,或者把SVN的目录的属主属组更改为运行Apache的也行。 # 在其他位置添加如下: <Location / svn / >
DAV svn
SVNParentPath / data / svn
AuthzSVNAccessFile / data / svn / authz
#SVNListParentPath on
AuthType Basic
AuthName "Subversion Auth"
AuthUserFile / data / svn / password
Require valid - user
< / Location>
# service httpd restart |
5、配置svn的库以及认证文件,如第一个配置是一样的。
6、访问测试
测试如上。客户端访问也是一样的。
本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1613007,如需转载请自行联系原作者