众所周知,Subversion有两种运行方式,一种是基于HTTP,另一种是基于Subversion Standalone Server的。本文的目的是要配置一个基于Apache HTTP服务器的SVN服务器。这样的服务器有以下几个好处:
1、能使用WebDAV协议;
2、能使用浏览器作为客户端工具浏览源码库;
3、支持SSPI和LDAP认证;
4、能获得Apache的安全认证支持,如:SSL连接等。
一、SVN安装
安装方式:yum install
安装如下模块:
yum install httpd httpd-devel
yum install subversion
yum install mod_dav_svn
必须安装mod_dav_svn模块。
安装成功后,可用svn --version命令验证。
二、Apache配置
一定要保证下面的两句话存在于apache配置文件(/etc/httpd/conf/httpd.conf)中,否则将无法加载svn模块:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
三、SVN配置
1、代码仓库目录配置
代码仓库就是存放代码目录结构的服务器目录,我们在/var/local下新建一个svn目录,这样/var/local/svn就可以作为所有项目的根目录。
以test为例,来配置Subversion:
# mkdir -p /var/local/svn
# cd /var/local/svn
# svnadmin create test
创建完成后,可以看到生成了test的目录。
2、用户权限配置
用户权限配置在/svn/auth/access.conf
认证配置文件在/svn/auth/authz.conf(直接新建)
添加用户组和权限(具体方式不细说)。
3、生成用户密码文件
因为Apache基于HTTP传输的密码是加密的,所以需要用htpasswd命令来建立用户文件,并对密码进行加密。
# htpasswd -m /svn/auth/authz.conf testusername
四、Apache配置文件
修改/etc/httpd/conf/httpd.conf文件,为末尾加上:
<Location />
DAV svn
SVNPath /usr/local/svn/test/
AuthType Basic
AuthName "svn for test"
AuthUserFile /svn/auth/authz.conf
AuthzSVNAccessFile /svn/auth/access.conf
Require valid-user
</Location>
重启Apache服务器,打开浏览器输入:http://ipaddress/test,就可以看到效果了。
本文出自 “Lonely(技术群:1991706)” 博客,请务必保留此出处http://304076020.blog.51cto.com/7503470/1436643
原文:http://304076020.blog.51cto.com/7503470/1436643