SVN与APACHE联动

SVN如何安装请参阅WINDOWS下SVN安装与SUBCLIPSE安装

apache安装,请去XAMPP网站上下载XAMPP安装启动即可。

SVN与APACHE配置步骤

将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;

配置apache环境下的httpd.conf,去掉前面的#号;

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

 

将下面几行添加到LoadModule部分的最后,注意svn的环境目录更改,需符号要求;

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

 

配置apache和svn,让apache告诉svn如何工作

以下是我的具体配置情况可以参考下

<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath D:
AuthType Basic
AuthName “Subversion repositories”
AuthUserFile D:/svnroot/conf/passwd
AuthzSVNAccessFile D:/svnroot/conf/authz
Require valid-user
</Location>

 

 

更为详细的解释设置 Apache 的 httpd.conf

设置

解释

<Location /svn>

意思是Subversion版本库的URL是http://MyServer/svn/

DAV svn

告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNListParentPath on

对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。

SVNParentPath D:\SVN

告诉Subversion需要查看的版本库位于D:\SVN之下

SVNIndexXSLT “/svnindex.xsl”

使用它可以在用浏览器浏览时更好看。

AuthType Basic

激活基本认证,就是用户名/密码

AuthName “Subversion repositories”

用来说明何时弹出要求用户输入认证信息的认证对话框

AuthUserFile passwd

指定使用的认证密码文件

AuthzSVNAccessFile

位置Subversion版本库的访问控制文件的路径

Require valid-user

指定只有输入了正确的用户/密码的用户可以访问URL

 

创建SVN库

svnadmin create D:\svnroot

在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:

bin\htpasswd -c passwd <username>

比如: bin\htpasswd -c D:/svnroot/conf/passwd stalvan
命令分析:
D:/svnroot/conf/passwd 表示会在 D:/svnroot/conf/目录下创建一个passwd文件
stalvan 表示用户名

权限控制文件创建

在D:/svnroot/conf/目录下创件authz文件,然后打开进行配置,可以参照下面的示例:

#建立分组:admin, developer,pm,testers
[groups]
admin=stalvan
pm=stalvan
developers=stalvan
testers=stalvan
#预置设置
[/]
*=r
@admin=rw
dangerman=
#多个项目配置,一级目录权限
[test1:/]
@developers=rw
#branches二级目录权限
[/branches]
@testers=r
@developers=rw
#tags二级目录权限
[/tags]
@admin=rw
@pm=rw
#trunk二级目录权限
[/trunk]
@admin=rw
@developers=rw

启动apache 在SVN中检出地址为 http://localhost/svn/svnroot 输入自己的用户名和密码即可