13.3.3. Apache HTTPD または Enterprise Web Server HTTPD への mod_cluster モジュールのインストール

前提条件

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

手順13.7 タスク

  1. HTTPD 設定の場所を決定します。

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

    4 つのモジュール (拡張子が .so のファイル) を、抽出された Webserver Natives アーカイブの modules/native/lib/httpd/modules/ ディレクトリーから HTTPD_HOME/modules/ ディレクトリーにコピーします。
  3. 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 モジュールを設定します。

    1. テキストエディターで HTTPD_HOME/conf/httpd.conf を開き、以下の内容をファイルの最後に追加します。
      # Include mod_cluster's specific configuration file  
      Include conf/JBoss_HTTP.conf
      
      ファイルを保存し、終了します。
    2. HTTPD_HOME/httpd/conf/JBoss_HTTP.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 HTTPD は、mod_cluster が機能するために必要なモジュールを自動的にロードします。
  5. プロキシサーバーリスナーを作成します。

    HTTPD_HOME/httpd/conf/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 が有効な HTTPD に対してサーバーアドバタイズメントプロパティーを設定」を参照してください。
    ファイルを保存し、終了します。
  6. HTTPD を再起動します。

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

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

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

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

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

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