odules/mod_ssl.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_svn_module "C:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Subversion/bin/mod_authz_svn.so"
加载模块, mod_ssl当然是用来支持https通信方式的. Mod_ldap以及mod_authnz_ldap是用来提供LDAP认证必须的模块.
最后两个模块是Subversion的模块.
11.2
Include C:/Apache/Apache22/conf/extra/httpd-ssl.conf
在httpd.conf里面找到这一行把前面的”#”注释号取消,后面会讲httpd-ssl.conf的配置.
11.3
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600
这些设置来源于apache的文档,照抄的
11.4
<Location /repos>
DAV svn
SVNParentPath c:/repos #版本库所在位置
AuthBasicProvider ldap file #支持ldap和密码文件混合认证,支持密码文件的目的是可以建立非ldap, 仅访问版本库的账号
AuthType Basic
AuthzLDAPAuthoritative off #在ldap找不到账号的情况下可以使用其它的认证方式(如,密码文件)
AuthName "Subversion repository"
AuthLDAPURL "ldap://yourIP:389/dc=nnn,dc=com?sAMAccountName?sub?(objectClass=*)" NONE #这是你的ldap的设置,使用windows ad作为ldap库, yourIP是DC的地址
AuthLDAPBindDN "someone@nnn.com" #有读权限的AD内用户账号
AuthLDAPBindPassword 111111 #该账号的密码
AuthUserFile c:/repos/passwordfile #密码文件
AuthzSVNAccessFile c:/repos/authz SVN的权限控制文件.
# Satisfy Any
Require valid-user
SSLRequireSSL
</Location>
12 httpd-SSL.conf
Httpd 2.2.X以后的conf文件是模块化的,很多东西提取出来了,根据前面这句 Include C:/Apache/Apache22/conf/extra/httpd-ssl.conf ,我们需要编辑相应的文件主要编辑2个地方
一个是 SSLCertificateFile 标记, 后面跟SERVER.crt的路径,另一个是 SSLCertificateKeyFile 标记, 后面跟 server.key 的路径.
设置好以上数据, 可以重新启动httpd了.
13.c:/repos/authz 文件内的账号名字要和 sAMAccountName 名字相同。
TODO:想办法使SVN的权限多样化,不再是只有rw.
9 7 3 1 2 4 8 :
本文来源:不详 作者:佚名