只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。
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,如需转载请自行联系原作者