Back to page

− Links

 Print 

Source of Gentoo Linuxな生活​/ApacheのBasic認証をLDAPで :: Nest Of Hawk

Source of xpwiki:Gentoo Linuxな生活/ApacheのBasic認証をLDAPで

« Prev[3]  
*Webページのユーザ認証もLDAPで [#lf189950]
[[htdigestを使用してパスワード認証させてみる]]のページで、既に認証設定はなされておりますが、これまた、認証ユーザ/パスワードは別物。これをLDAPアカウントで認証させてあげれば、LDAPにアカウント登録されている人は、自動的にそのHPにもアクセス権をもつことができます。

*Apache自体の設定 [#h4073888]
**/etc/conf.d/apache2 [#x7ab32ef]

APACHE2_OPTSに、-D LDAP -D AUTHNZ_LDAPを追記してあげてください。
**HP側での認証の設定。 [#t7921420]
Gentooの場合は、/etc/apache2/vhosts.d/default_vhost.includeとか、/etc/apache2/vhosts.d/default_ssl_vhost.includeに、閲覧させるHPの設定が書かれているはず。例えばこんなかんじ?
 <Directory /home/var/www/localhost/htdocs/board>
   Options -Indexes FollowSymLinks MultiViews
   AllowOverride All
   SSLRequireSSL   ←SSLしかゆるしません(一つ前の設定が残ってるのね)
   AuthType Digest  ←MD5ダイジェスト認証を要求 
   AuthName "User Only" ポップアップするパスワード入力窓に表示させるメッセージ
   AuthDigestFile /etc/apache2/userpasswd ←パスワードファイルの指定
   require valid-user       ←パスワードファイルに記述されている全てのユーザが参照できる
  <IfModule mod_access.c>
         Order deny,allow
         Allow from all
   </IfModule>
 </Directory>

注意です。LDAPを使用する場合は、Digest認証サポートされておりません。Basic認証のみです。なので、ふつーにやってしまうとパスワードがダダ漏れになってしまうので、https側を使用するなどしてほごしてあげましょうね。

で、うえのディレクティブ記載を、以下の用に変更してあげましょう。
 <Directory /home/var/www/localhost/htdocs/board>
   Options -Indexes FollowSymLinks MultiViews
   AllowOverride All
   SSLRequireSSL   ←SSLしかゆるしません(一つ前の設定が残ってるのね)
   AuthType Basic  ←Basic認証です
   AuthName "Please input user and password"
   AuthBasicProvider ldap ←Basic認証基盤をLDAP使用します。
   AuthLDAPBindDN "cn=syncuser,dc=example,dc=com"  ←LDAPにバインドするユーザ指定
   AuthLDAPBindPassword secret                                   ←LDAPユーザのパスワード
   AuthLDAPURL "ldap://foo.example.com/ou=People,dc=example,dc=example?uid"
                                                                                ←BaseDNと検索キーの指定
   require valid-user
  <IfModule mod_access.c>
         Order deny,allow
         Allow from all
   </IfModule>
 </Directory>

AuthLDAPURLの指定の仕方は、LDAPにおける検索キーなので、ディレクティブの使用方法説明などをじっくり見てやってください。
requireの指定の仕方も、valid-user(LDAPに登録されている全ユーザ)、user XXXX(XXXXさんだけ使用を許可する)など出来ますので、試行錯誤してみてください。

で、再起動します。
# /etc/init.d/apache2 restart

« Prev[3]