19.5.3. Apache HTTP Server または JBoss Enterprise Web Server への mod_cluster モジュールのインストール (Zip)

前提条件

  • このタスクを実行するには、Red Hat Enterprise Linux 6 または JBoss Enterprise Web Server にインストールされた Apache HTTP Server を使用するか、JBoss EAP 6 のダウンロード可能な個別コンポーネントとして含まれるスタンドアロン Apache HTTP Server を使用する必要があります。
  • Red Hat Enterprise Linux 6 に Apache HTTP Server をインストールする必要がある場合は、『Red Hat Enterprise Linux 6 デプロイメントガイド (Red Hat Enterprise Linux 6 Deployment Guide)』に記載された手順を実行します。
  • JBoss EAP 6 の個別のダウンロード可能なコンポーネントとして含まれるスタンドアロンの Apache HTTP Server をインストールする必要がある場合は、「JBoss EAP 6 に含まれる Apache HTTP Server のインストール (Zip)」 を参照してください。
  • JBoss Enterprise Web Server をインストールする必要がある場合は『JBoss Enterprise Web Server インストールガイド (JBoss Enterprise Web Server Installation Guide)』 に記載された手順を実行します。
  • Red Hat カスタマーポータル (https://access.redhat.com) から、お使いのオペレーティングシステムとアーキテクチャー用の Webserver Connecter Natives パッケージをダウンロードします。このパッケージには、お使いのオペレーティングシステム用に事前にコンパイルされた mod_cluster バイナリー web サーバーモジュールが含まれます。アーカイブの展開後に、モジュールは EAP_HOME/modules/system/layers/base/native/lib/httpd/modules ディレクトリーに配置されます。
    etc/ ディレクトリーには、いくつかのサンプル設定ファイルが含まれ、share/ ディレクトリーには、いくつかの補足ドキュメントが含まれます。
  • 管理 (root) 権限を使用してログインする必要があります。

注記

64 ビットのシステムを使用している場合、mod_cluster バイナリー web サーバーモジュールは EAP_HOME/modules/system/layers/base/native/lib64/httpd/modules に配置されます。モジュールにアクセスするときは常にこのパスを使用する必要があります。

手順19.7 mod_cluster モジュールのインストール

  1. Apache HTTP Server の設定場所を判断します。

    Apache HTTP Server の設定場所は、Red Hat Enterprise Linux の Apache HTTP Server を使用しているか、JBoss EAP 6 にダウンロード可能な個別コンポーネントとして同梱されているスタンドアロン Apache HTTP Server を使用しているか、または JBoss Enterprise Web Server で利用可能な Apache HTTP Server を使用しているかによって異なります。設定場所は以下の 3 つのオプションの 1 つであり、本タスクでは HTTPD_HOME と表記します。
    • Apache HTTP Server - /etc/httpd/
    • JBoss EAP 6 Apache HTTP Server - この場所はインフラストラクチャーの要件に基づいてユーザーによって選択されます。
    • JBoss Enterprise Web Server Apache HTTP Server - EWS_HOME/httpd/
  2. モジュールを Apache HTTP Server モジュールディレクトリーにコピーします。

    4 つのモジュール (拡張子が .so のファイル) を、展開された Webserver Natives アーカイブの EAP_HOME/modules/system/layers/base/native/lib/httpd/modules ディレクトリーから HTTPD_HOME/modules/ ディレクトリーにコピーします。
  3. JBoss Enterprise Web Server の場合は mod_proxy_balancer モジュールを無効にします。

    JBoss Enterprise Web Server を使用する場合は、 mod_proxy_balancer モジュールがデフォルトで有効になります。これには mod_cluster との互換性がありません。これを無効にするには、HTTPD_HOME/conf/httpd.conf を編集し、モジュールをロードする行の前に # (ハッシュ) 記号を置いて以下の行をコメントアウトします。この行はコメントなしで表示されたり、コメントありで表示されたりします (以下参照)。
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    # LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    ファイルを保存し、閉じます。
  4. mod_cluster モジュールを設定します。

    Webserver Natives アーカイブには、サンプル mod_cluster.conf ファイル (EAP_HOME/modules/system/layers/base/native/etc/httpd/conf) が含まれます。このファイルをコピーおよび編集し、HTTPD_HOME/httpd/conf.d/JBoss_HTTP.conf ファイルを作成できます。

    注記

    JBoss_HTTP.conf という名前を使用することは、本書では任意の慣例です。 conf.d/ ディレクトリーに保存され、.conf 拡張子を持つ設定ファイルは、名前に関係なくロードされます。
    以下を設定ファイルに追加します。
    LoadModule slotmem_module modules/mod_slotmem.so
    LoadModule manager_module modules/mod_manager.so
    LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
    LoadModule advertise_module modules/mod_advertise.so
    これにより、Apache HTTP Server は、mod_cluster が機能するために必要なモジュールを自動的にロードします。
  5. プロキシサーバーリスナーを作成します。

    HTTPD_HOME/httpd/conf.d/JBoss_HTTP.conf の編集を続行し、大文字の値を環境に適した値に置き換えて以下の最低限の設定を追加します。
    Listen IP_ADDRESS:PORT
    <VirtualHost IP_ADDRESS:PORT>  
    	  <Location />
              Order deny,allow
              Deny from all
              Allow from *.MYDOMAIN.COM
    	  </Location>
    	  
    	  KeepAliveTimeout 60
    	  MaxKeepAliveRequests 0
    	  EnableMCPMReceive On
    	  
    	  ManagerBalancerName mycluster
    	  ServerAdvertise On
    	  
    </VirtualHost>
    これらのディレクティブにより、IP_ADDRESS:PORT でリッスンする新しい仮想サーバーが作成され、MYDOMAIN.COM からの接続が許可され、仮想サーバー自体が mycluster という名前のバランサーとしてアドバタイズされます。これらのディレクティブの詳細については、Apache Web Server 向けドキュメントに記載されています。ServerAdvertise および EnableMCPMReceive ディレクティブの詳細と、サーバーアドバタイジングの影響については、「mod_cluster が有効な Web サーバーに対するサーバーアドバタイズメントプロパティーの設定」 を参照してください。
    ファイルを保存し、終了します。
  6. Apache HTTP サーバーを再起動します。

    Apache HTTP Server の再起動方法は、Red Hat Enterprise Linux の Apache HTTP Server を使用しているか、JBoss Enterprise Web Server に含まれる Apache HTTP Server を使用しているかによって異なります。以下の 2 つのいずれかの方法を選択します。
    • Red Hat Enterprise Linux 6 の Apache HTTP Server

      以下のコマンドを実行します。
      [root@host]# service httpd restart
    • JBoss Enterprise Web Server の Apache HTTP Server

      JBoss Enterprise Web Server は、Red Hat Enterprise Linux と Microsoft Windows Server の両方で実行されます。Apache HTTP Server の再起動方法はそれぞれ異なります。
      • Red Hat Enterprise Linux

        Red Hat Enterprise Linux では、JBoss Enterprise Web Server は Apache HTTP Server をサービスとしてインストールします。Apache HTTP Server を再起動するには、以下の 2 つのコマンドを実行します。
        [root@host ~]# service httpd stop
        [root@host ~]# service httpd start
      • Microsoft Windows Server

        コマンドプロンプトで以下のコマンドを管理権限で実行します。
        C:\> net stop httpd
        C:\> net start httpd
結果

Apache HTTP Server が ロードバランサーとして設定され、JBoss EAP 6 が実行されている mod_cluster サブシステムと連携できます。JBoss EAP 6 が mod_cluster を認識するよう設定する場合は 「mod_cluster ワーカーノードの設定」 を参照してください。