OpenLDAP Webサーバーとの連携

LPIC Level3 Core(英語試験)の学習。
Linux 教科書 LPIC レベル3 」の内容に概ね従って進める。
「6.1 Webサーバーとの連携」

Webサーバー(Apache)のベーシック認証にLDAPを利用させてみる。
Webサーバーは、以前彼女の為に用意したものを使う。
ベーシック認証の設定は既に済んでいる。(ただし、自身の.htpasswdファイル参照によるもの。)

【過去エントリ】
・Webサーバ(ソフトはApache)も作ってみた。
Webサーバを、ちょっとだけカスタマイズする。

ちなみに、
LDAPサーバのIPアドレスは192.168.0.22、
WebサーバのIPアドレスは192.168.0.24(HTTPポートは50080番)。

ApacheとLDAPの連携機能は、モジュールによって提供される。
以下2つのモジュールが必要となる。

● mod_ldap — ApacheとLDAPサーバー間の接続管理、キャッシング処理を提供
● mod_authnz_ldap(2.2系の場合。2.0系の場合はmod_auth_ldap) — ベーシック認証にLDAPディレクトリを利用するためのモジュール

httpd.confで、この二つのモジュールをインクルードさせる。
(※デフォルトでインクルードされていた。)

# cd /etc/httpd/con.d/
# cp -p httpd.conf httpd.conf.bak
# vi httpd.conf

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

httpd.confでのベーシック認証の設定もLDAPを使うように変更する。

これまでのベーシック認証設定

# Add by Kakuya for Basic Authentication
<Directory “/home/webadmin/html”>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    AuthUserFile        /var/www/passwd/.htpasswd
    AuthGroupFile       /dev/null
    AuthName            “Please Enter Your Password”
    AuthType            Basic
    Require valid-user
</Directory>

LDAP利用するように変更したベーシック認証設定

# Add by Kakuya for Basic Authentication using LDAP
<Directory “/home/webadmin/html”>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    AuthName            “LDAP Authentication”
    AuthType            Basic
    AuthBasicProvider   ldap
    AuthLDAPUrl         ldap://192.168.0.22:389/ou=People,dc=my-domain,dc=com?uid?one
    Require valid-user
</Directory>

httpd.confの構文チェック、サービス再起動。

# apachectl configtest
Syntax OK

# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

WebブラウザでWebサーバーにアクセスしてみる。
LDAPを利用した認証画面が表示。

LDAPベーシック認証.png

LDAPに登録されているユーザエントリ(kakuya)でログインを試みる。
テストページを閲覧することができた。LDAPを利用したベーシック認証に成功した。

テストページ閲覧.png

タイトルとURLをコピーしました