Windows下安装配置Apache+SVN+域认证

作者:tKC 发布时间:December 1, 2010 分类:IT技术,服务软件,微软

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库都放到这个文件夹下
然后先创建一个库用于配置测试
cd d:\svn svnadmin create test

接下来拷贝SVN的模块文件(mod_authz_svn.so和mod_dav_svn.so在Subversion\bin目录下)到Apache的modules文件夹下
修改Apache的conf/http.conf文件
增加模块,找到
#LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so

修改为
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so

增加svn和域认证的配置,这里我们使用svn为主目录做配置,不单独配置库的目录
DAV svn # SVNPath c:/subversion/repositories/repo1 SVNParentPath d:/svn SVNListparentPath on Order allow,deny Allow from all AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthName "SVN Server" AuthzSVNAccessFile d:/svn/svn.authz AuthLDAPURL "ldap://dc.local/DC=dc,DC=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN "CN=apache_bind,CN=users,DC=example,DC=com" AuthLDAPBindPassword "password" #AuthLDAPFollowReferrals off AuthLDAPGroupAttributeIsDN on AuthLDAPGroupAttribute member #SSLRequireSSL #require ldap-group CN=svnusers,CN=Users,DC=example,DC=com require valid-user

根据自己实际情况在进行修改,然后再创建d:/svn/svn.authz文件,这里为了测试方便,所有域用户都可以读写,生产应用的话根据自己需要设置权限即可
[/] * = rw

最后重启一下Apache的服务就大功告成啦!

标签: 域认证, apache, svn

添加新评论 »

captcha
请输入验证码