[〜#〜] edit [〜#〜] Apache2エラーログに500エラーが実際には表示されません。 IEではなく、すべてのブラウザでNTLM認証を試すようにmoodleの設定を切り替えました。サーバー500エラーは表示されなくなりました。認証の失敗の問題を調べる必要があります。
Apache 2.4およびMOODLE 2.6.2でUbuntu 14.04を実行し、SSOをWindowsドメインで動作させようとしています。 Apache2.confに次を追加しました。
<IfModule !mod_auth_ntlm_winbind.c>
LoadModule auth_ntlm_winbind_module /usr/lib/Apache2/modules/mod_auth_ntlm_winbind.so
</IfModule>
<Directory "/var/www/moodle/auth/ldap/">
<Files ntlmsso_magic.php>
NTLMAuth on
AuthType NTLM
AuthName "Moodle NTLM Authentication"
NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
NTLMBasicAuthoritative on
require valid-user
</Files>
</Directory>
また、MOODLEでNTLMを有効にし、wbininfo -uとwbinfo -gの両方がドメインコントローラーからバインドされたアカウントとグループを持っていることの証明を返すため、winbindがインストールされ動作しています。
smb.confが変更され、以下が追加されました。
[global]
security = ads
realm = mydomain.local
password server = server.mydomain.local
workgroup = mydomain
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U
template Shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2
SSOをテストしてログインしようとすると、メッセージAuto-login failed, try the normal login window...
どのログで確認できる唯一の証拠はスローされる500内部サーバーエラーがあるということであるため、どのログをチェックするかはよくわかりません。
これを修正するには:
usermod -a -G winbindd_priv www-data
chgrp winbindd_priv /var/lib/samba/winbindd_privileged
ln -s /var/lib/samba/winbindd_privileged/pipe /var/run/samba/winbindd_privileged/pipe
Apacheモジュールは、winbinddパイプソケットが/var/run/samba/winbindd_privileged/
。ただし、ファイルの新しい場所は/var/lib/samba/winbindd_privileged/
。
ソース: https://bugs.launchpad.net/ubuntu/+source/Apache-mod-auth-ntlm-winbind/+bug/130495