1、需要先查看modules下是不是已经有mod_dav_svn.so、mod_authz_svn.so和libdb42.dll这三种文件,若没有就代表SVN没有安装正常,那我们新安装一下即可。
2、找到confhttpd.conf文件并打开,
3、并且在httpd.conf中找到下述三行:
LoadModule dav_fs_modulemodules/mod_dav_fs.so
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
然后把它们前面的注释号#删除,
4、去http://tortoisesvn.tigris.org/mod_auth_sspi.zip下载最新版的SSPI模块,解开压缩包后把其中的mod_auth_sspi.so文件放到modules目录下。
5、在httpd.conf中找到行“LoadModule auth_module modules/mod_auth.so”,把“LoadModule sspi_auth_module modules/mod_auth_sspi.so”加在前一行,
6、模拟在c:svn目录中放置各种SVN文件库,分别为repos1、repos2…
7、在httpd.conf文件的末尾加上:
DAV svn
SVNParentPath c:/svn
AuthzSVNAccessFile c:/svn/accessfilesspi
Require valid-user
AuthType SSPI
AuthName "Subversion 文件库"
SSPIAuth On
SSPIAuthoritative On
SSPIDomain owl-2003.owl.local
SSPIOfferBasic On
"DAV svn"表示通过Apache Web Server根目录下的svn子目录可以访问"SVNParentPathc:/svn"中定义的目录下的SVN文件库的内容;
"AuthzSVNAccessFile c:/svn/accessfilesspi”表示"c:/svn/accessfilesspi"文件中定义了域用户与文件库资源权限控制的详细信息
"SSPIDomain owl-2003.owl.local"表示在我的机器上域控制器名称为:"owl-2003.owl.local"
AuthzSVNAccessFile定义的权限控制文件举例
#用户分组,用逗号分隔;用户名区分大小写;域用户用全称,即DOMAINUserName
[groups]
admins = OWLAdministrator
developers = OWLwater
docs = OWLyouwater
#管理员组拥有所有权限
[/]
@admins= rw
#开发人员可以完全控制源程序
[/myrepos]
@developers = rw
#文档人员可以完全控制文档
[/docs]
@docs = rw
8、保存httpd.conf,然后重新启动Apache,用任意浏览器打开:http://127.0.0.1/svn/docs测试一下。最后要注意用户名输入时是要注意大小写的,需要输入域名全称。