4. OpenLDAP ソフトウェアの構築とインストール

この章では、スタンドアローン LDAP デーモン slapd(8) と、 スタンドアローン 更新複製デーモン slurpd(8) とが含まれている OpenLDAP ソフトウェアを構築してインストールする方法について 詳説します。OpenLDAP を構築しインストールするには次のステップを 要します。

4.1. ソフトウェアの入手と展開

OpenLDAP ソフトウェアは、プロジェクトのダウンロードページ http://www.openldap.org/software/download/ あるいは 直接プロジェクトの FTP サービス ftp://ftp.openldap.org/pub/OpenLDAP/ から入手できます。

プロジェクトでは一般的な利用のために二つのパッケージのシリーズ を用意しています。プロジェクトは新機能を追加したものやバグ修正を 反映したものを release として作成します。プロジェクトは、 このようなリリース物件の安定性を改善する段階をふみますが、 release の後に発生した問題に対処するのが普通です。 最新の release は、一般に利用される中で安定性が実証されて いきます。

OpenLDAP ソフトウェアのユーザは、最新の機能を望むか 実証された安定性を望むかによって、インストールするのに 最も適切なシリーズを選べます。

OpenLDAP ソフトウェアをダウンロードしたら、圧縮されたアーカイブ ファイルから配布物を展開して、作業ディレクトリを配布物の最上位 ディレクトリに移す必要があります。

ここで VERSION のところはリリース物件のバージョン番号で 置き換えてください。

配布物に付いてくる文書 COPYRIGHT, LICENSE, README, INSTALL に目をとおしてください。文書 COPYRIGHTLICENSE は OpenLDAP ソフトウェアの利用条件、著作権、 保証の制限についての情報を載せています。文書 READMEINSTALL は、あらかじめ必要なソフトウェアとインストール方法 についての詳しい情報を載せています。

4.2. 事前に用意しておくソフトウェア

OpenLDAP ソフトウェアは、サードパーティが配布しているいくつもの ソフトウェアパッケージを当てにしています。用途によって、 追加のソフトウェアパッケージをいくつもダウンロードしてインストール する必要があるでしょう。この節では、インストールすることになるであろう、 一般に必要なサードパーティのソフトウェアパッケージについて詳説します。 これらのサードパーティのパッケージの中には、 さらに追加のソフトウェアパッケージをを必要とするものがあります。 各パッケージに付いているインストール手順にしたがってインストール してください。

4.2.1. Transport Layer Security

OpenLDAP のクライアントとサーバは、Transport Layer Security サービスを 提供するために OpenSSLTLS ライブラリの インストールを必要とします。OS によってはこのライブラリが 基盤システムの一部あるいはオプションのソフトウェアコンポーネント として提供されているかもしれませんが、OpenSSL はたいてい別に インストールが必要となります。

OpenSSL は http://www.openssl.org/ から入手できます。

OpenSSL が利用できる状態になっていることを OpenLDAP の configure で検出されない限り、OpenLDAP は LDAPv3 完全準拠になりません。

4.2.2. Kerberos 認証サービス

OpenLDAP のクライアントとサーバは、Kerberos ベースの認証サービスを サポートします。特に OpenLDAP では、HeimdalMIT Kerberos V パッケージのいずれかを用いた SASL/GSSAPI 認証機構をサポートします。 Kerberos ベースの SASL/GSSAPI 認証を使うのであれば、 Heimdal か MIT Kerberos V をインストールしておいてください。

Heimdal Kerberos は http://www.pdc.kth.se/heimdal/ から入手できます。 MIT Kerberos は http://web.mit.edu/kerberos/www/ から入手できます。

Kerberos が提供するような強固な認証サービスの利用を強く勧めます。

4.2.3. Simple Authentication and Security Layer

OpenLDAP のクライアントとサーバは、Simple Authentication and Security Layer サービスを 提供するために CyrusSASL ライブラリのインストールを 必要とします。OS によってはこのライブラリが 基盤システムの一部あるいはオプションのソフトウェアコンポーネント として提供されているかもしれませんが、Cyrus SASL はたいてい別に インストールが必要となります。

Cyrus SASL は http://asg.web.cmu.edu/sasl/sasl-library.html から入手できます。Cyrus SASL は、OpenSSL と Kerberos/GSSAPI のライブラリ がインストールされていれば、それらを使うようになります。

Cyrus SASL が利用できる状態になっていることを OpenLDAP の configure で検出されない限り、OpenLDAP は LDAPv3 完全準拠になりません。

4.2.4. データベースソフトウェア

OpenLDAP の slapd(8) の主要なデータベースバックエンド LDBM は、エントリストレージに使うデータベースパッケージを 必要とします。LDBM のデータベースには Sleepycat SoftwareBerkeleyDB (推奨)あるいは Free Software FoundationGNU Database Manager (GDBM) を利用できます。 configure スクリプトを実行するときに、これらのパッケージのどちらも 利用できなければ、この主要なデータベースバックエンドを持った slapd(8) を構築できません。

これら二つのパッケージは、どちらかが基盤システムの一部あるいは オプションのソフトウェアコンポーネントとして提供されているかも しれませんし、自分でソフトウェアを入手してインストールする必要が あるかもしれません。

BerkeleyDBSleepycat Software の ダウンロードページ http://www.sleepycat.com/download.html から入手できます。 これを書いている時点での最新リリースであるバージョン 3.1 がお勧めです。

GDBMFSF のダウンロードサイト ftp://ftp.gnu.org/pub/gnu/gdbm/ から入手できます。 これを書いている時点でバージョン 1.8 が最新リリースです。

4.2.5. スレッド

OpenLDAP はスレッドの利点を活かせるように設計されています。 OpenLDAP は POSIX pthreads, Mach CThreads などといった さまざまなスレッド処理系をサポートしています。configure が適正なスレッドサブシステムを検出できない場合、configure は不平を言ってきます。これが起きた場合には、OpenLDAP FAQ http://www.openldap.org/faq/Software|Installation|Platform Hints のセクションを 調べてみてください。

4.2.6. TCP Wrappers

TCP wrappers (IP レベルのアクセス制御フィルタ)が 事前にインストールされていれば、slapd(8) はそれをサポートします。 非公開の情報を持つサーバについては TCP wrappers やその他の IP レベルの アクセスフィルタ(IP レベルのファイヤウォールに提供されるものなど)の 利用を勧めます。

4.3. configure の実行

まず configure スクリプトを --help オプション付きで 実行してみるとよいかもしれません。このオプションは、OpenLDAP 構築時に 変更できるオプションのリストを表示します。OpenLDAP の多くの機能は、 この方法を使って有効/無効にできます。

        ./configure --help

また、configure スクリプトは、特定の設定のためにいろいろな環境変数を 参照します。このような環境変数には次のものがあります。

表4.1: 環境変数
変数 説明
CC 代替の C コンパイラを指定
CFLAGS コンパイルラの追加のフラグを指定
CPPFLAGS C プリプロセッサのフラグを指定
LDFLAGS リンカのフラグを指定
LIBS 追加のライブラリを指定

望む設定オプションあるいは環境変数で configure スクリプトを 執行してください。

        [[env] settings] ./configure [options]

例として、LDBM バックエンドと TCP wrapper をサポートする OpenLDAP をインストールしたいものとします。デフォルトで LDBM は有効で、TCP wrappers は無効です。したがって、TCP wrapper をサポートするためには --with-wrappers の指定が必要です。

        ./configure --with-wrappers

しかし、依存するソフトウェアがシステムディレクトリに無いと configure スクリプトの実行は失敗するでしょう。たとえば TCP Wrappers のヘッダとライブラリがそれぞれ /usr/local/include/usr/local/lib にインストールされている場合には、 configure スクリプトを次のように実行してください。

        env CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
                ./configure --with-wrappers


注記:Bourne sh(1) から派生したシェルなどでは env(1) コマンドを使う必要はありません。場合によって環境変数は、 別の構文を使って指定しなければなりません。

configure スクリプトは普通、適切な設定を自動的に検出します。 この段階で問題があれば、プラットフォーム固有のヒントを調べ、 configure のオプションを確認してください。

4.4. ソフトウェアの構築

configureスクリプトを実行すると、出力の最終行に次のメッセージ が表示されるでしょう。

        Please "make depend" to build dependencies

最終行がこれと違っている場合 configure は失敗しているので、 何が悪かったのかを判断するために出力を調べる必要があります。 configure が完全に成功するまで先に進んではなりません。

依存関係を作成するには次のようにします。

        make depend

これでソフトウェアを構築できます。この段階で実際に OpenLDAP をコンパイルします。

        make

すべてが完全に構築されたかを確認するために、このコマンドの出力を注意深く 調べるべきです。このコマンドは、slapd(8) と slurpd(8) を構築するとともに、LDAP ライブラリと関連するクライアントも構築 することに注意してください。

4.5. ソフトウェアのテスト

ソフトウェアが正しく configure され make も成功したなら、 構築されたものを確認するためにテストスィートを実行すべきです。

        make test

configure の結果に応じたテストが行われ合格することに なっています。複製のテストなど、configure でサポートしないように したいくつかのテストはスキップされます。

4.6. ソフトウェアのインストール

ソフトウェアのテストが成功したらインストールを行います。 configure を実行したときに指定したインストールディレクトリに書込み権 のあることが必要です。デフォルトで OpenLDAP は /usr/local にインストールされます。この設定を configure の --prefix オプションで変更している場合には、そのオプションで指定した場所に インストールされます。

たいてい、インストールはスーパユーザの権限を必要とします。 OpenLDAP ソースディレクトリの最上位から次のようにします。

        su root -c 'make install'

すべてが完全にインストールされたかを確認するために、このコマンドの 出力を注意深く調べるべきです。デフォルトでは /usr/local/etc/openldapslapd(8) の設定ファイルがあります。設定ファイルについての追加情報 についてはslapd の設定ファイルの章を参照してください。