众所周知,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
检测apache是否加载svn模块
[root@rer-svn ~]# ls /etc/httpd/modules/ |grep svn
如果没有加载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
3.创建svn仓库
[root@rer-svn ~]# svnadmin create rer
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
(添加以下配置)
<Location /repos>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Authorization svn"
AuthzSVNAccessFile /svn/auth/access.conf
AuthUserFile /svn/auth/authz.conf
Require valid-user
</Location>
(重启apache)
[root@rer-svn ~]# /etc/init.d/httpd restart
5.通过浏览器访问测试