SVN用户多了之后管理会变得越来越繁琐,由于我有Windows域环境,于是考虑让SVN使用域用户认证。
当然SVN本身是没办法支持域认证的,我们要依赖Apache,Apache上众多模块可以满足我们的需求,本例中我们使用的均是官方提供的模块。
先下载需要的软件
Apache:在http://apache.freelamp.com//httpd/binaries/win32/ 下面有最新版本,这里我下载的是httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
SVN服务端有很多,有兴趣的可以去http://subversion.apache.org/packages.html 找自己喜欢的,我下载的是http://sourceforge.net/projects/win32svn/上的Setup-Subversion-1.6.13.msi
好了,经过N个下一步以后,重启使svn的path目录生效,接下来我们开始配置
首先确定一下SVN主目录,如D:\SVN,我们所有SVN库都放到这个文件夹下
然后先创建一个库用于配置测试
1 | cd d:\svn |
接下来拷贝SVN的模块文件(mod_authz_svn.so和mod_dav_svn.so在Subversion\bin目录下)到Apache的modules文件夹下
修改Apache的conf/http.conf文件
增加模块,找到
1 | #LoadModule dav_module modules/mod_dav.so |
修改为
1 | LoadModule dav_module modules/mod_dav.so |
增加svn和域认证的配置,这里我们使用svn为主目录做配置,不单独配置库的目录
1 | DAV svn |
根据自己实际情况在进行修改,然后再创建d:/svn/svn.authz文件,这里为了测试方便,所有域用户都可以读写,生产应用的话根据自己需要设置权限即可
1 | [/] |