Apache2+mod_auth_ldap+ActiveDirectoryでLDAP認証

Windows の Apache2 から ActiveDirectory で Basic 認証しようとしてハマった。OpenLDAP などとは違い、ActiveDirectory で LDAP 認証を行うには、AuthLDAPBindDN ディレクティブで

AuthLDAPBindDN admin@mydomain.com

のように AD の principal name を指定しなくてはいけないらしい。それから Win32版の Apache 2.0.55 では、認証を行おうとするとなぜか Apache ごと落ちてしまう。これは 2.0.59 に上げたら直った。

とりあえず 2.0.59 で httpd.conf に下記のような記述を行って、今のところうまくいっています。

LoadModule ldap_module modules/util_ldap.so
LoadModule auth_ldap_module modules/mod_auth_ldap.so

<Location “/hoge/”>
  AuthType Basic
  AuthName “ldap login”

  ## for Windows2003 ActiveDirectory
  AuthLDAPBindDN admin@mydomain.com
  AuthLDAPBindPassword adminpassword
  AuthLDAPUrl  “ldap://ldap.mydomain.com:389/
dc=mydomain,dc=com?sAMAccountName?
sub?(objectClass=*) ”

  require valid-user
</Location>

コメントを残す

メールアドレスが公開されることはありません。