Sun Cluster Data Service for Apache ガイド (Solaris OS 版)

Apache のインストールと構成

Apache Webserver は、非セキュアまたはセキュアな Webserver としてインストール、設定することができます。この節では、両タイプのインストール手順について説明します。非セキュアバージョンの Webserver をインストールするには、次のいずれかの手順を参照してください。

セキュアバージョンの Webserver をインストールするには、次のいずれかの手順を参照してください。

Sun Cluster HA for Apache は、Web サーバーまたはプロキシサーバーとして構成された Apache ソフトウェアで動作します。

一般的なインストール手順については、http://www.apache.org を参照してください。Sun Cluster ソフトウェアでサポートされている Apache バージョンの全一覧は、ご購入先から入手してください。

非セキュア Apache Webserver のインストール

この節では、非セキュアな Apache Webserver のインストール手順について説明します。セキュア Apache Webserver のインストール手順については、「セキュア Apache Webserver のインストール」を参照してください。

ProcedureSolaris CD-ROM から Apache ソフトウェアをインストールして構成する

この手順では、非セキュアバージョンの Apache Webserver をインストールします。セキュア Apache Webserver のインストール手順については、「セキュア Apache Webserver のインストール」を参照してください。

Apache バイナリは、SUNWapchrSUNWapchuSUNWapchd という 3 つのパッケージに格納されています。これらのパッケージは、全体として SUNWCapache パッケージメタクラスタを構成しています。必ず SUNWapchr パッケージをインストールしてから SUNWapchu パッケージをインストールする必要があります。

この Web サーバーのバイナリは、各クラスタノードのローカルファイルシステムに置くことも、クラスタファイルシステムに置くこともできます。

手順
  1. pkginfo(1) コマンドを実行して、Apache パッケージの SUNWapchrSUNWapchuSUNWapchd がインストールされているかどうかを判定します。

    インストールされていない場合は、次の手順に従ってインストールします。

    • Solaris 8 および Solaris 9 では、次のコマンドを実行します。


      # pkgadd -d Solaris-product-directory SUNWapchr SUNWapchu SUNWapchd
      
    • Solaris 10 では、次のコマンドを実行します。


      # pkgadd -G -d Solaris-product-directory SUNWapchr SUNWapchu SUNWapchd
      

    コマンドの出力は次のようになります。


    ...
    Installing Apache Web Server (root) as SUNWapchr
    ...
    [ verifying class initd ]
    /etc/rc0.d/K16apache linked-pathname
    /etc/rc1.d/K16apache linked-pathname
    /etc/rc2.d/K16apache linked-pathname
    /etc/rc3.d/S50apache linked-pathname
    /etc/rcS.d/K16apache linked-pathname
    ...
  2. SUNWapchr パッケージの一部としてインストールしたばかりの STARTSTOP 実行制御スクリプトを無効にします。

    Sun Cluster HA for Apache は、その構成を行なったあとで Apache アプリケーションの起動と停止を行います。そのため、これらのスクリプトを無効にする必要があります。次の各手順を実行します。

    1. Apache 実行制御スクリプトをリストする。

    2. Apache 実行制御スクリプトの名前を変更する。

    3. Apache に関連するすべてのスクリプトの名前が変更されていることを確認する。

      次の例では、実行制御スクリプト名の最初の文字を大文字から小文字に変更しています。しかし、スクリプト名は、ユーザーの通常の管理規則に従って変更することができます。


      # ls -1 /etc/rc?.d/*apache
      /etc/rc0.d/K16apache
      /etc/rc1.d/K16apache
      /etc/rc2.d/K16apache
      /etc/rc3.d/S50apache
      /etc/rcS.d/K16apache
       
      # mv /etc/rc0.d/K16apache  /etc/rc0.d/k16apache
      # mv /etc/rc1.d/K16apache  /etc/rc1.d/k16apache
      # mv /etc/rc2.d/K16apache  /etc/rc2.d/k16apache
      # mv /etc/rc3.d/S50apache  /etc/rc3.d/s50apache
      # mv /etc/rcS.d/K16apache  /etc/rcS.d/k16apache
       
      # ls -1 /etc/rc?.d/*apache
      /etc/rc0.d/k16apache
      /etc/rc1.d/k16apache
      /etc/rc2.d/k16apache
      /etc/rc3.d/s50apache
      /etc/rcS.d/k16apache

ProcedureApache Web サイトから Apache ソフトウェアをインストールして構成する

この手順では、非セキュアバージョンの Apache Webserver をインストールします。セキュア Apache Webserver のインストール手順については、「セキュア Apache Webserver のインストール」を参照してください。

この Web サーバーのバイナリは、各クラスタノードのローカルファイルシステムに置くことも、クラスタファイルシステムに置くこともできます。

手順
  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache のインストールマニュアルに説明されているインストール手順を使用して、Apache ソフトウェアをインストールします。

    Apache ソフトウェアに付属の Apache インストールマニュアルまたは http://www.apache.org のインストール手順を参照して、Apache ソフトウェアをインストールしてください。

  3. httpd.conf 構成ファイルを更新します。

    • ServerName 指定を設定する。( バージョン 2.0 の Apache では、ServerName 指定はホスト名とポートを指定します)

    • BindAddress 指定を設定する (任意)。(BindAddress 指定があるのは、Apache 2.0 以前のバージョンだけです。Apache 2.0 については、次の Listen 指定の説明を参照してください)

    • Listen 指定を設定する。Listen 指定は、論理ホストのアドレスまたは共有アドレスを使用する必要があります。(Listen 指定は、Apache 2.0 以降のバージョンにのみ存在します。Apache 2.0 より前の Apache バージョンについては、BindAddress 指定の説明を参照してください)

    • ServerTypeServerRootDocumentRootScriptAlias、および LockFile 命令を設定する。


      注 –

      ServerType 指定は、Apache 2.0 にはありません。


    • Port 指定を Port_list 標準リソースプロパティーと同じ番号に設定する。詳細は、手順 4 を参照してください。

    • Apache ソフトウェアをプロキシサーバーとして実行する場合は、プロキシサーバーとして実行するための変更を行う。詳細は、Apache のマニュアルを参照してください。Apache ソフトウェアをプロキシサーバーとして実行する場合は、CacheRoot 設定で、クラスタファイルシステム上の場所を示す必要があります。

  4. httpd.conf ファイル内のポート番号が、Port_list 標準リソースプロパティーのポート番号と一致していることを確認します。

    httpd.conf 構成ファイルを編集し、標準の Sun Cluster リソースプロパティーのデフォルト (ポート 80) と一致するようにポート番号を変更できます。または、Sun Cluster HA for Apache を構成するときに、httpd.conf ファイル内の設定と一致するように Port_list を設定できます。

  5. Apache 起動 / 停止スクリプトファイル (Bin_dir/apachectl) 内のパスを更新します。

    Apache のデフォルトのパスを変更し、Apache のディレクトリ構造と一致させてください。たとえば、BIN_dir/apachectl スクリプト内の HTTPD=/usr/local/apache/bin/httpd で開始される行を次のように変更します。


    HTTPD='/usr/local/apache/bin/httpd -f /global/foo/apache/conf/httpd.conf'
    
  6. 次のタスクを実行して構成の変更内容を確認します。

    1. apachectl configtest を実行し、Apache の httpd.conf ファイルが正しい構文になっているかどうかを確認してください。

    2. Apache が使用する論理ホスト名または共有アドレスが、正しく構成されておりオンラインになっていることを確認してください。

    3. apachectl start を実行することによって、Apache サーバーを手作業で起動します。

      Apache が正しく起動しない場合は、問題を修正してください。

    4. Apache の起動後、次の手順に移行する前に停止します。

セキュア Apache Webserver のインストール

この節では、セキュアな Apache Webserver のインストール手順について説明します。非セキュア Apache Webserver のインストール手順については、「非セキュア Apache Webserver のインストール」を参照してください。

Proceduremod_ssl を使用して Apache ソフトウェアをインストールして構成する

この手順では、セキュアバージョンの Apache Webserver をインストールします。非セキュア Apache Webserver のインストール手順については、「非セキュア Apache Webserver のインストール」を参照してください。

手順
  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache ソフトウェアとmod_ssl をインストールします。

    mod_ssl をインストールするには、Apache のインストールマニュアルまたは http://www.modssl.org のインストール手順を参照してください。

  3. httpd.conf 構成ファイルを更新します。

    • ServerName 指定を設定する。

    • BindAddress 指定を設定する (任意)。

    • ServerTypeServerRootDocumentRootScriptAlias、および LockFile 命令を設定する。

    • Port 指定を Port_list 標準リソースプロパティーと同じ番号に設定する。詳細は、手順 4 を参照してください。

    • Apache ソフトウェアをプロキシサーバーとして実行する場合は、プロキシサーバーとして実行するための変更を行う。詳細は、Apache のマニュアルを参照してください。Apache ソフトウェアをプロキシサーバーとして実行する場合は、CacheRoot 設定で、クラスタファイルシステム上の場所を示す必要があります。

  4. httpd.conf ファイル内のポート番号が、Port_list 標準リソースプロパティーのポート番号と一致していることを確認します。

    httpd.conf 構成ファイルを編集し、標準の Sun Cluster リソースプロパティーのデフォルト (ポート 80) と一致するようにポート番号を変更できます。または、Sun Cluster HA for Apache を構成するときに、httpd.conf ファイル内の設定と一致するように Port_list を設定できます。

  5. 証明書とキーをすべてインストールします。

  6. Bin_dir ディレクトリで、keypass という名前のファイルを作成します。このファイルに対するアクセス権は、所有者以外に付与しないようにしてください。


    # cd Bin_dir
    # touch keypass
    # chmod 700 keypass
    
  7. 暗号化した秘密鍵を使用している場合、以下の手順 a と手順 b を実行してください。

    1. httpd.conf ファイルで、SSLPassPhraseDialog 指定を見つけて、次のように変更します。


      # SSLPassPhraseDialog exec:/Bin_dir/keypass
      

      SSLPassPhraseDialog 命令の詳細については、 mod_ssl のマニュアルを参照してください。

    2. ホストとポートに対応する暗号化鍵のパスフレーズを出力するように、keypass ファイルを編集します。

      このファイルは引数の server:port algorithm で呼び出されます。このファイルが正しいパラメータで呼び出された場合に、ファイルが各暗号化鍵のパスフレーズを出力できることを確認してください。

      この後、Webserver を手作業で起動するときに、パスフレーズを求めるプロンプトは表示されません。たとえば、ポート 8080 と 8888 で待機しているセキュア Webserver で、RSA を使用して暗号されている両ポート用の秘密鍵を持っている場合、keypass ファイルは次のようになります。


      # !/bin/ksh
      host=`echo $1 | cut -d: -f1`
      port=`echo $1 | cut -d: -f2`
      algorithm=$2
      
      if [ "$host" = "button-1.eng.sun.com" -a "$algorithm" = "RSA" ]; then
         case "$port" in
         8080) echo passphrase-for-8080;;
         8888) echo passphrase-for-8888;;
         esac
      fi

      注 –

      keypass ファイルは、所有者以外が読み取り、書き込み、実行を行えないようにしてください。


  8. httpd.conf ファイルで、Webserver が Sun Cluster HA for Apache によって検証されるたびにメッセージをログに記録するのを防止するための警告を SSLLogLevel が出すように設定します。


    SSLLogLevel warn
  9. Apache 起動 / 停止スクリプトファイル (Bin_dir/apachect1) 内のパスを更新します。

    Apache のデフォルトのパスを変更し、Apache のディレクトリ構造と一致させてください。

  10. 次のタスクを実行して構成の変更内容を確認します。

    1. apachectl configtest を実行し、Apache の httpd.conf ファイルが正しい構文になっているかどうかを確認してください。

    2. Apache が使用する論理ホスト名または共有アドレスが、正しく構成されておりオンラインになっていることを確認してください。

    3. apachectl start を実行することによって、Apache サーバーを手作業で起動します。

      Webserver がパスフレーズについての問い合わせを行わないことを確認します。

      Apache が正しく起動しない場合は、問題を修正してください。

    4. Apache の起動後、次の手順に移行する前に停止します。

Procedureapache-ssl を使用して Apache ソフトウェアをインストールして構成する

この手順では、セキュアバージョンの Apache Webserver をインストールします。非セキュア Apache Webserver のインストール手順については、「非セキュア Apache Webserver のインストール」を参照してください。

手順
  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache のインストールマニュアルに説明されているインストール手順を使用して、apache-ssl と Apache ソフトウェアをインストールします。

    apache-ssl をインストールするには、Apache のインストールマニュアルまたは http://www.apache-ssl.org のインストール手順を参照してください。

  3. httpd.conf 構成ファイルを更新します。

    • ServerName 指定を設定する。

    • BindAddress 指定を設定する (任意)。

    • ServerTypeServerRootDocumentRootScriptAlias、および LockFile 命令を設定する。

    • Port 指定を Port_list 標準リソースプロパティーと同じ番号に設定する。詳細は、手順 4 を参照してください。

    • Apache ソフトウェアをプロキシサーバーとして実行する場合は、プロキシサーバーとして実行するための変更を行う。詳細は、Apache のマニュアルを参照してください。Apache ソフトウェアをプロキシサーバーとして実行する場合は、CacheRoot 設定で、クラスタファイルシステム上の場所を示す必要があります。

  4. httpd.conf ファイル内のポート番号が、Port_list 標準リソースプロパティーのポート番号と一致していることを確認します。

    httpd.conf 構成ファイルを編集し、標準の Sun Cluster リソースプロパティーのデフォルト (ポート 80) と一致するようにポート番号を変更できます。または、Sun Cluster HA for Apache を構成するときに、httpd.conf ファイル内の設定と一致するように Port_list を設定できます。

  5. 証明書とキーをすべてインストールします。

  6. 秘密鍵はすべて、暗号化解除されて格納されていることを確認してください。

    この後、Webserver を手作業で起動するときに、パスフレーズを求めるプロンプトは表示されません。

  7. Apache 起動 / 停止スクリプトファイル (Bin_dir/httpsdct1) 内のパスを更新します。

    Apache のデフォルトのパスを変更し、Apache のディレクトリ構造と一致させてください。

  8. 次のタスクを実行して構成の変更内容を確認します。

    1. httpsdctl configtest を実行し、Apache の httpd.conf ファイルが正しい構文になっているかどうかを確認してください。

    2. Apache が使用する論理ホスト名または共有アドレスが、正しく構成されておりオンラインになっていることを確認してください。

    3. httpsdctl start を実行することによって、Apache サーバーを手作業で起動します。

      Apache が正しく起動しない場合は、問題を修正してください。

    4. Apache の起動後、次の手順に移行する前に停止します。

次の手順

最初に Sun Cluster をインストールするときに、Sun Cluster HA for Apache をインストールしなかった場合は、「Sun Cluster HA for Apache パッケージのインストール」に進みます。パッケージがインストールされている場合は、「Sun Cluster HA for Apache のインストールと構成」に進みます。