CentOS5(RHEL5)+LDAP+Apache2+WebDAV+Subversion設定メモ
LDAPの設定
設定に関してはLDAPによるパスワードの一元管理を参考にすればよいが、一点注意が必要。
記事中ではuserPassword属性に関するアクセス制限が
access to attribute=userPassword
by self write
by dn="cn=root,dc=itboost,dc=co,dc=jp" write
by anonymous auth
by * none
となっているが、CentOS5で標準のopenldap-2.3.27では
access to attrs=userPassword
by self write
by dn="cn=root,dc=itboost,dc=co,dc=jp" write
by anonymous auth
by * none
とattributeの代わりにattrsを使う必要がある。
Apache2+WebDAV
バーチャルホストの設定はこんな感じ
<VirtualHost svn.example.com> <Location "/"> DAV svn SVNListParentPath on SVNParentPath /var/repos AuthType Basic AuthBasicProvider ldap AuthName "Subversion Repository Server" AuthzLDAPAuthoritative off AuthLDAPURL ldap://ldap.example.com/ou=People,dc=example,dc=com?uid require valid-user </Location> </VirtualHost>
DAVディレクティブはディレクトリコンテキスト*1なので、Directory,Location,Fileの中にいれる必要がありますが、Directoryで指定したディレクトリとSVNParentPath,SVNPathで指定したディレクトリが同一だと301エラーが出ます。そのため、Locationディレクティブを利用するのが適当だと思います。
LDAP認証についてはResuire valid-userを利用する場合は、AuthzLDAPAuthoritativeをoffにする必要があるのが注意点となります。