CentOS6 Apache+OpenLDAP認証

スポンサーリンク

近年ではApache + LDAPで認証しているところも多いのではないかと思います。ここではApache+OpenLDAPで認証設定を行なってみます。

■Apacheモジュール確認


ApacheでLDAP認証を行う場合、以下の二つがロードされている必要があります。

  1. mod_ldap
  2. mod_authnz_ldap

httpd.confで有効となっているかを確認しておきましょう。

# rpm -qa | grep httpd
httpd-tools-2.2.15-15.el6_2.1.i686
httpd-2.2.15-15.el6_2.1.i686

# cat /etc/httpd/conf/httpd.conf | grep ldap
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

■LDAPを使ったBasic認証の設定

httpd.confでアクセス制限をかけたいディレクトリに対して以下のように設定を追加します。

# vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/ldap">
    AuthType Basic
    AuthBasicProvider ldap
    AuthName "Require Auth"
    AuthLDAPURL ldap://localhost:389/ou=Users,dc=unix-power,dc=net?uid?sub
    Require valid-user
</Directory>


このあと設定を有効にするためにhttpdを再起動します。

# /etc/rc.d/init.d/httpd restart


あとはブラウザからアクセスし、ユーザ認証が成功すればOKです。上記のhttpd.confはあくまでapache2.2用のものであり、apache2.0や2.4になると設定内容も異なるので注意してください。

■LDAPを使ったDigest認証の設定

上記のBasic認証で「AuthType Basic」の部分を単純にDigestに変更した所、認証は成功しません。安易にそれだけでいけると予想していましたが、軽く調べたところDigest+LDAPはそもそもサポートされていないようです。パッチなんかをつくればいけるのかもしれませんが、時間があれば試してみたいところです。 

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする