Apache リソース階層を作成する前に、Apache Web Server アプリケーションについて以下の設定を完了したことを確認する必要があります。

  1. ディストリビューション付属の Apache パッケージをインストールした場合、通常はシステムの起動時に自動起動するよう設定されるため、LifeKeeper の保護と競合します。 競合を回避するためには、各ディストリビューションのマニュアルを参照して、自動起動を無効化してください。

注記: SuSE で Apache を使用する場合: デフォルト設定を使用して Apache を SuSE にインストールする場合、httpd.conf 設定ファイルは ServerRoot のサブディレクトリ conf に配置されません。この場合は、設定ファイルを /etc/httpd/conf ディレクトリに再配置する必要があります。

  1. LifeKeeper の個々の Apache Web Server 階層について、個別のルートディレクトリを作成する必要があります。この「サーバルート」ディレクトリは、Apache の「ServerRoot」設定とコマンドラインパラメータに対応します。LifeKeeper の各 Apache Web Server 階層は、一意の Apache インスタンスおよび関連付けられたサーバルートディレクトリに対応します。サーバルートディレクトリは、すべてのサーバ上で同一であり、特定の Apache 階層用に設定する必要があることに注意してください。Web サイトのすべての設定ファイルの情報は、LifeKeeper ソフトウェアから検出とアクセスができるように、サーバルートからの標準の場所 (conf/httpd.conf) に配置する必要があります。
  1. BindAddress または Listen のディレクティブを使用して特定の LifeKeeper の IP アドレスをリスンするように、すべての Web サイト (仮想ホスト) を設定する必要があります。これらの LifeKeeper が保護する IP アドレスは、Apache 階層を作成する場所にあらかじめ作成し、in service 可能にしておく必要があります。LifeKeeper が保護する IP アドレスは、Apache リソース階層に自動的に追加されます。

LifeKeeper の共有ファイルシステムを使用する場合は、Apache 階層を作成する前に、ファイルシステムの作成に必要な準備をすべて行う必要があります。特に、サーバ上のApache 階層を作成する場所に、ファイルシステムをマウントする必要があります。LifeKeeper のファイルシステム階層をあらかじめ作成していない場合、このファイルシステム階層は Apache 階層とともに自動作成され、その後 Apache リソース階層に結合されます。

仮想ホストの設定の詳細については、Apache Web Server のドキュメンテーションを参照してください。前述したように、すべての Apache インスタンスが、LifeKeeper が保護する特定のアドレスをリスンするように設定する必要があります。例えば、IP ベースの仮想ホストとネームベースの仮想ホストを組み合わせたインスタンスの設定ファイルには、以下のようなディレクティブがあります。

User webuser
Group webgroup
ServerName localhost

Listen 172.17.100.55:8000
NameVirtualHost 172.17.100.55:8000
Listen 172.17.100.56:80

<Virtualhost site.name_one:8000>
ServerName site.name_one
DocumentRoot /shared/site/name_one
</VirtualHost>

<VirtualHost site.name_two:8000>
ServerName site.name_two
DocumentRoot /shared/site/name_two
</VirtualHost>

<VirtualHost 172.17.100.56:80>
ServerName site.ip
DocumentRoot /shared/site/ip
</VirtualHost>

  1. Apache インスタンスに対する SSL サポートを有効にしている場合、LifeKeeper が保護する適切な IP アドレスを使用するように SSL Listen ディレクティブ (多くの場合、個別の ssl.conf ファイル内にある) を設定する必要があります。この設定を行わない場合、IP アドレス 0.0.0.0 が LifeKeeper で保護されていないことを示すエラーが発生して、Apache 階層の作成に失敗します。一部の Linux 配布の Apache 設定ファイルでは、デフォルトで SSL サポートが有効になっていることに注意してください。

例えば、/etc/httpd/conf.d/ssl.conf にあるデフォルトの SSL 設定ファイルで、エントリ

Listen 0.0.0.0:443

を以下のように変更します。

Listen 172.17.100.55:443

  1. ローカル設定の場合、プライマリサーバとすべてのバックアップサーバの同じ場所に Apache をインストールして設定し、同一の (または同等の) 設定ファイルをすべてのサーバ上の同じサーバルートディレクトリに設定する必要があります。また、すべてのサーバ上にすべてのドキュメントルートディレクトリが存在し、同一のファイルを持つ必要があります (「設定と定義の例」のローカル設定 参照)。
  1. 共有設定では通常、LifeKeeper の共有ファイルシステム上にサーバルートディレクトリを設定します。使用できる共有ファイルシステムは 1 つのみであることに注意してください。これにより、確実に、共有ストレージにあるすべての必須コンポーネントが同時に利用可能になります。このため、すべてのドキュメントルートディレクトリが、同じ共有ファイルシステムのサブディレクトリである必要があります。ただし、サーバルートディレクトリ自体のサブディレクトリにする必要はありません。Apache 実行可能ファイルも同じ共有ファイルシステムに配置できますが、この実行可能ファイルは、この特定の Apache リソース階層のみが使用できます。

注記: 共有ストレージを使用する目的で、サーバルートディレクトリを共有ファイルシステムに配置する必要はありません。設定ファイルなどを入れるローカルのサーバルートディレクトリを選択でき、ドキュメントルートディレクトリのみを共有ファイルシステムに配置できます。ただし、すべてのサーバ上に (前述のローカル設定について)、同一のサーバルートディレクトリ、および同一の (または同等の) 設定ファイルを設定する必要があります。また、すべてのドキュメントルートディレクトリが同じ共有ファイルシステム上に存在する必要があります (「設定と定義の例」の共有設定 参照)。

  1. 一部の Web サイトの実装では、特定の機能に対する Apache のサポートを拡張するために、DSO (Dynamic Shared Object: 動的共有オブジェクト) モジュールを活用しています。例えば、PHP や Perl の機能を実装するモジュールがあります。実行時に Apache コアから、これらのモジュールのロードとアクセスができます。モジュールを使用する場合は、クラスタ内のすべてのサーバでモジュールを同一設定にする必要があります。Linux プラットフォームでモジュールを使用するように Apache を設定する方法については、モジュールパッケージのドキュメンテーション、およびベンダ提供のドキュメンテーションを参照してください。使用するモジュールおよびそのリソースによっては、フェイルオーバを適切に実行するために、一部のオブジェクトを共有ストレージに配置する必要があります。場合によっては、Generic Application Recovery Kit、またはカスタムリカバリキットを使用して、個別モジュールの保護が必要になることがあります。
  1. SSL (Secure Sockets Layer: セキュアソケットレイヤ) モジュールを Apache とともに使用する場合は、サーバをパスワードで保護しないことが重要です。Web サーバがパスワードで保護されている場合、デーモンを起動するたびに管理者がパスワードをプロンプトに入力しなければなりません。この手動操作は、リカバリ時間が重要な HAクラスタ環境とは矛盾するため、LifeKeeper はパスワードで保護されたインスタンスをサポートしません。以下のコマンドを使用してパスワードを削除してください。

openssl rsa -in server.key -out unprotected_server.key

プロンプトが表示されたら、サーバキーパスワードを入力してください。サイトのセキュリティを維持するために、必ずファイルはルートでのみ読み取り可能にしてください。

chmod 400 unprotected_server.key

Apache インスタンスの階層作成時に、Recovery Kit により、リソースがパスワードで保護されていないことがチェックされます。リソースがパスワードで保護されている場合、階層の作成に失敗し、エラーメッセージが表示されます。ただし、インスタンスが別のサーバに拡張されている場合、Recovery Kit はバックアップサーバでパスワードの保護をチェックしません。拡張する階層がパスワードで保護されていないことを確認する必要があります。

サーバキーファイル (Apache の設定ファイルの SSLCertificateKeyFile ディレクティブで指定) は、同じ名前を持ち、クラスタ内のすべてのサーバ上で同じ場所にある必要があります。

注記: LifeKeeper が使用する httpd プロセスの PID ファイル名は、以下の形式を取ります。

「/var/run/httpd.<TAG name>.pid」

この PID ファイル名は、OS が使用するデフォルトの PID ファイル名とは異なります。この PID ファイルを参照する必要がある場合 (ログのローテーションなど)、LifeKeeper の PID ファイル名と形式に注意してください。

  1. SuSE環境で、"/etc/sysconfig/apache2"に定義されている"APACHE_SERVER_FLAGS"を設定する場合は、フラグ名の前に"-D"を記述してください。

例: APACHE_SERVER_FLAGS=”-D SSL

"-D"がない場合、リソースの作成や起動に失敗することがあります。

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信