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 の後に発生した問題に対処するのが普通です。 stable リリースは、一般に利用される中で安定性が実証された最新の release です。

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

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

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

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

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

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

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) における主要なデータベースバックエンドである BDBHDB は、Sleepycat SoftwareBerkeley DB を必要とします。 configure スクリプトを実行するときに、Berkeley DB を利用できなければ、BDBHDB データベースバックエンドを持った slapd(8) を構築できません。

サポートしているバージョンの Berkeley DB がオペレーティングシステムの一部あるいはオプションのソフトウェアコンポーネントとして提供されているかもしれません。もし提供されていなければ、自分でこれらのパッケージのいずれかを入手してインストールしなければなりません。

Berkeley DBSleepycat Software の ダウンロードページ http://www.sleepycat.com/download/ から入手できます。一般に最新リリース(と発行されたパッチ)がお勧めです。このパッケージは BDB または HDB データベースバックエンドを利用したい場合に必要となります。

OpenLDAP の slapd(8) LDBM バックエンドは Berkeley DBGDBM など、いろいろなデータベースマネージャをサポートしています。GDBMFSF のダウンロードサイト ftp://ftp.gnu.org/pub/gnu/gdbm/ から入手できます。

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]

例として、BDB バックエンドと TCP Wrappers をサポートする OpenLDAP をインストールしたいものとします。デフォルトで BDB は有効で、TCP Wrappers は無効です。したがって、TCP Wrappers をサポートするためには --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 の設定の章を参照してください。