apacheでLDAP認証(ActiveDirectory)
久しぶりの覚書。
昨年来続けてきたプロジェクトが無事離陸。
しばらくは、勉強をして過ごそうと思っていたところ、
新たなプロジェクトに押し込められる。
単純なテーブルのCURDで済ませられそうなので
PHPでの実装を検討。
まず認証をどうするか考え
LDAPにApacheで認証を選択。
まずは、手近にあるActiveDirectoryで試験。
Apacheでの認証は、ほとんど初めてなので覚書に残す。
Apacheで公開しているページであれば、httpd.confのの
記述。
Options Indexes FollowSymLinks
AllowOverride None
AuthName "user/password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPBindDN "CN=administrator,OU=??????,DC=???????,DC=?????"
AuthLDAPBindPassword "password"
AuthLDAPURL "ldap://host.domain.local/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
AuthUserFile /dev/null
Require valid-user
Order allow,deny
Allow from all
AJPでtomcatと連携しているのであれば、
Includeしている/extra/配下のconfファイル内の
AuthName以下を記述。
AuthName "user/password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPBindDN "CN=administrator,OU=??????,DC=???????,DC=?????"
AuthLDAPBindPassword "password"
AuthLDAPURL "ldap://host.domain.local/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
AuthUserFile /dev/null
Require valid-user
ProxyPass ajp://localhost:8008/Sample_project
なかなか、LDAP認証がうまく設定できず、まずAuthUserFileで試験してみたが
そこでも足踏みしたので、それも覚えに
1.htpasswdコマンドの使用して、AuthUserFileの作成。
apacheのインストールディレクトリ配下のbinフォルダに移動して
コマンド発行
UserFileの作成を伴う場合、optionは、-cb(ユーザー追加のみは、-b)
>htpasswd -cb ../htdocs/.htpasswd uyaji passwd
2.