众所周知,Subversion有两种运行方式,一种是基于HTTP,另一种是基于Subversion Standalone Server的。本文的目的是要配置一个基于Apache HTTP服务器的SVN服务器。这样的服务器有以下几个好处:
1、能使用WebDAV协议;
2、能使用浏览器作为客户端工具浏览源码库;
3、支持SSPI和LDAP认证;
4、能获得Apache的安全认证支持,如:SSL连接等。

 

实验环境
system:centos 6.5
hostname:rer-svn
ip:192.168.1.211

 

1.安装apache和svn
yum install -y httpd mod_dav_svn subversion
2.验证安装
[root@rer-svn ~]# httpd -version
wKiom1UKaTeh1DFSAACDF6BhWlU891.jpg

检测apache是否加载svn模块
[root@rer-svn ~]# ls /etc/httpd/modules/ |grep svn
wKioL1UKanDi9oatAAB1ifcsqxU946.jpg

如果没有加载svn模块,请添加以下配置
[root@rer-svn ~]# vi /etc/httpd/conf/httpd.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

[root@rer-svn ~]# svn --version
wKioL1UKan7CmXu0AACBRR5GJqc389.jpg

3.创建svn仓库
[root@rer-svn ~]# svnadmin create rer

wKioL1UKapHChlogAADTu4Nqv0Y047.jpg

linux下svn与apache整合搭建_第1张图片

4.配置
(修改所有者)
[root@rer-svn ~]# chown apache:apache /svn/rer/ -R
(创建密码文件)
[root@rer-svn ~]# mkdir /svn/auth
[root@rer-svn ~]# touch /svn/auth/authz.conf
(生成账号)
[root@rer-svn ~]# htpasswd /svn/auth/authz.conf kim
输入密码,生成kim账号
(权限分配)
[root@rer-svn ~]# vi /svn/auth/access.conf

(添加以下配置)

(svn与apache整合)
[root@rer-svn ~]# vi /etc/httpd/conf.d/subversion.conf
(添加以下配置)

   DAV svn
   SVNParentPath /svn
      AuthType Basic
      AuthName "Authorization svn"
AuthzSVNAccessFile /svn/auth/access.conf
      AuthUserFile /svn/auth/authz.conf
      Require valid-user

(重启apache)
[root@rer-svn ~]# /etc/init.d/httpd restart
5.通过浏览器访问测试

linux下svn与apache整合搭建_第2张图片

linux下svn与apache整合搭建_第3张图片