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"がない場合、リソースの作成や起動に失敗することがあります。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

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

送信