すでにCentOSのインストールが完了している場合は、次のようにyumコマンドを利用して、インストール済み、または利用可能なOpenLDAP関連パッケージを確認できます。
次に紹介する例は、CentOS 5.2をインストールする際に「後でカスタマイズする(I)」(画面8)を選択し、追加のパッケージをまったく選択せずにインストールを完了させた場合の出力例です。
以下のyumコマンドの実行例では、インストール済みのOpenLDAP関連パッケージを確認しています。
# yum list installed '*ldap*' |
また以下のyumコマンドでは、利用可能なldap関連パッケージを確認しています。
# yum list available '*ldap*' |
ここでは、前述の新規インストールの場合と同様に、最低限のオペレーションに必要となる「openldap-clientsパッケージ」と「openldap-serversパッケージ」を、yumコマンドを用いてインストールします。
# yum install 'openldap-clients.i386' |
以上で、OpenLDAPサーバおよびクライアントツールが利用可能となりました。念のため、OpenLDAPに関連するパッケージのインストール状態を確認してみましょう。
# yum list installed '*ldap*' |
これでopenldapパッケージ、openldap-clientsパッケージ、openldap-serversパッケージおよびnss_ldapパッケージがそろいました。次は、起動スクリプトを利用してOpenLDAPの起動と停止を行ってみましょう。
それでは、早速OpenLDAPサーバを起動し、ディレクトリサービスを利用してみましょう。
まず、openldap-serversパッケージにサンプルとして付属する「DB_CONFIGファイル」をOpenLDAPサーバのデータディレクトリにコピーします。続いて、同じくopenldap-serversパッケージに付属する「起動スクリプト」を利用し、serviceコマンドからOpenLDAPサーバを起動します。
# cp -p /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG |
上記の例のように、設定ファイルのテストとslapdの起動それぞれに「OK」が表示されたでしょうか? 次は、再びserviceコマンドからOpenLDAPサーバの起動状態を確認してみましょう。
# service ldap status |
OpenLDAPサーバが正しく起動していることが確認できたならば、LDAPプロトコルを用いてOpenLDAPサーバからの応答を確認してみましょう。
OpenLDAPサーバはデフォルトの設定状態でクライアントからのアクセス情報をsyslogdのlocal4ファシリティ宛てに送付しています。ここでは、LDAPクライアントからの接続に先立って、syslogdがlocal4ファシリティのメッセージを受けてログファイルに出力するよう設定しておきます。
# vi /etc/syslog.conf |
インストール済みのopenldap-clientsパッケージには、LDAPサーバへ接続するためのクライアントコマンドが付属しています。ここでは、先に起動したOpenLDAPサーバへ、このldapsearchコマンドを用いて接続します。
次のコマンド例では、"-x"オプションのみを利用して匿名ユーザーでの簡易認証を行い、"-h"オプションにてローカルホスト上のOpenLDAPサーバに対し、"-b"オプションでディレクトリツリーの検索ベースを「dc=my-domain,dc=com」と指定した検索を行い、"-LLL"で最もシンプルなLDIFフォーマットへ出力を整形させています。
# ldapsearch -x -h localhost -b dc=my-domain,dc=com -LLL |
上記の例では、起動したばかりのOpenLDAPサーバからは、「検索条件に一致する結果はなし」との応答が返りました。現時点ではまだエントリを登録していないため、これが正しい結果です。
先ほど設定したsyslogdにもOpenLDAPサーバからメッセージが送付されていることを確認しておきましょう。ログファイルには、次のようなアクセス情報が取得されているはずです。
# tail -f /var/log/ldap.log |
上記のログからは、あるLDAPクライアントからの接続(conn=0)が、LDAPサーバ側のあるファイルディスクリプタに結び付けられて開始された後、最初の処理(op=0)として匿名ユーザーでの認証(BIND)が行われ、次の処理(op=1)として検索(SRCH)が行われ、BIND処理と対になるUNBIND処理(op=2)が完了した後、1つの接続(conn=0)が終了していることが分かります。
また、今回の検索処理(SRCH)では、検索ベースに「dc=my-domain,dc=com」、検索フィルタには何も指定がなかった場合に採用される「(objectClass=*)」が利用されており、その結果(SEARCH RESULT)は、該当するエントリはなし(nentries=0)で、その旨を示すエラー番号(err=32)が返されていることが分かります。これで、LDAPクライアント側で表示されたメッセージと内容が一致していることが確認できました。
次は、OpenLDAPサーバの停止です。起動スクリプトを利用してOpenLDAPを停止するには、次のとおり入力します。
# service ldap stop |
Copyright © ITmedia, Inc. All Rights Reserved.