Apatch 2.2.11 と 2.0.63 とで LDAP認証をトライアルしているのですが、
うまくいきません。
2.0.63 は認証は通るのですが、REMOTE_USER 環境変数がセットされません。
2.2.11 は認証画面で[OK]すると Segmentation fault してしまいます。
どちらのVersion でも良いのですが、解決方法をご指導ください
LDAPサーバは MS の AD
OSはRed Hat Enterprise 2.6.9-34.ELsmp
GCC 3.4.5 20051201 (Red Hat 3.4.5-2)
./configure の option は
2.0.63 のときは
--enable-module=most --enable-shared=max --enable-so --enable-rule=SHARED_CORE
--htmldir=/var/www --prefix=/etc/httpd --exec-prefix=/etc/httpd
--exec-prefix=/usr/sbin --sbindir=/usr/sbin
--with-ldap --enable-ldap --enable-auth-ldap
2.2.11 のときは最後が
--enable-authnz-ldap
最後の3つ以外の option は現httpd 作成者の設定なのでそのまま使っています。
httpd.conf の <Directory>
2.0.63 は
<Directory "/var/www/html/ldaptest">
AuthType Basic
AuthName "LDAP Auth"
AuthLDAPURL ldap://ldap.exsample.com/DC=test,DC=local?sAMAccountName
AuthLDAPRemoteUserIsDN on
Require valid-user
</Directory>
http://httpd.apache.org/docs/2.0/ で LDAP認証 に関する記述を見つけることが
できなかったので、2.2 を参考にエラーの出る記述を削除してこうなりました。
2.2.11 は
<Directory "/var/www/html/ldaptest">
AuthType Basic
AuthName "LDAP Auth"
AuthBasicProvider ldap
AuthLDAPURL ldap://ldap.example.com/DC=test,DC=local?sAMAccountName
#AuthLDAPRemoteUserAttribute sAMAccountName
AuthLDAPRemoteUserIsDN on
Require valid-user
</Directory>
2.2.11 がどこでこけているのか探しあぐねています。
ブラウザのBASIC認証の窓にて password 無しで[OK]したとき、mod_authnz_ldap.c の
380行にある次のエラーメッセージが logs/error_log に出てきていないので、
この関数 authn_ldap_check_password() 以前らしい というところまでです。
/* Get the password that the client sent */
if (password == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
"[%" APR_PID_T_FMT "] auth_ldap authenticate: no password specified", getpid());
util_ldap_connection_close(ldc);
return AUTH_GENERAL_ERROR;
}
ただ、、、
いずれのバージョンでも fileでのユーザ認証を行ったときにも REMOTE_USERが
設定されないので、LDAPの性ばかりではないかもしれない。
というところで行き詰っています。
よろしくお願いします。
# REMOTE_USER が設定されない ってのは初めての経験です。。。
2.2.11 は BASIC認証画面が出る前に Segmentation fault でした。