Apache HTTP Server の設定

Apache HTTP Server について

Flash Media Server には、Apache HTTP Server が含まれています。Web サーバーをインストールして有効にすると、Flash Media Server からクライアント SWF ファイル、コンテナ HTML ページおよびメディアアセットを配信できます。コンテンツは、RTMP だけでなく HTTP 経由でも配信できます。さらに、RTMP または RTMPT を切断する Web プロキシのフォールバックソリューションとして、HTTP プログレッシブダウンロードによってビデオを配信できます。

Flash Media Server での Apache のインストールは、標準のインストールと似ています。Apache のドキュメントは、ほとんどの設定タスクで使用することができます。Apache ルートのインストール用フォルダーは、rootinstall/Apache2.2 です。Web ルートは rootinstall/webroot です。

注意: Flash Media Server のドキュメントでは、Flash Media Server のルートインストールフォルダーを「rootinstall」で示しています(Windows ではデフォルトで C:¥Program Files¥Adobe¥Flash Media Server 4)。Apache のドキュメントと設定ファイルでは、Apache ルートインストールフォルダーを「ServerRoot」で示しています。

インストール場所

Flash Media Server と合わせてインストールされる Apache サーバーは、次の点で標準の Apache インストールとは異なります。

  • apachectl ファイルは rootinstall/Apache2.2/manual/programs フォルダーにあります。

  • httpd.conf ファイルと標準の二次設定ファイルは、rootinstall/Apache2.2/conf フォルダーにあります。

  • ログファイルは rootinstall/Apache2.2/logs フォルダーにあります。詳細については、ログファイルの監視と管理を参照してください。

代替設定

次のいずれかを実行するには、rootinstall/Apache2.2/conf/httpd.conf ファイルを編集します。

  • 複数のアダプターまたは仮想ホストを処理する

  • ASC など機密性のあるファイル形式をブロックする

  • プログレッシブダウンロードで必要な非標準の MIME 形式を処理する

  • デフォルトのサーバーステータスページとサーバー情報ページを配信する

  • ソースディレクトリを変更する

HTTP ヘッダー行の最大の長さの指定

サーバーで処理できる HTTP ヘッダーのサイズは、Flash Media Server の Adaptor.xml ファイルにある MaxHeaderLineLength エレメントで決まります。MaxHeaderLineLength のデフォルト値は 1024 バイトです。ブラウザーによっては、1024 バイトを超えるヘッダーが送信されることがあります。この場合、Apache からは空の応答が返されます。この問題を修正するには、MaxHeaderLineLength を 8192 に設定します。

注意: デフォルトでは、Apache の HTTP ヘッダーのサイズの制限は 8 KB(8190 バイト+復帰)です。
  1. rootinstall/conf/Adaptor.xml をテキストエディターで開きます。

  2. 次の行を編集します。

    <MaxHeaderLineLength>8192</MaxHeaderLineLength>
  3. ファイルを保存します。

  4. サーバーを再起動します。

Apache および HTTP プロキシの有効および無効の切り替え

Flash Media Server をインストールして Apache のインストールを選択すると、Apache がデフォルトで有効になります。Flash Media Server は、ポート 80 でリッスンし、ポート 8134 を使用して HTTP 要求を Apache にプロキシします。

パラメーターに値を設定しないと、HTTP プロキシが無効になります。

HTTPPROXY.HOST =

リモートサーバーにプロキシするには、使用するリモートサーバーにパラメーターを設定します。

HTTPPROXY.HOST = webfarm.example.com:80

Apache および HTTP プロキシの有効化

  1. fms.ini ファイルをテキストエディターで開きます。

  2. ADAPTOR.HOSTPORT タグにポート 80 を追加します。

    ADAPTOR.HOSTPORT = :1935, 80

  3. Flash Media Server を起動および停止したときに Apache を起動および停止するには、SERVER.HTTPD_ENABLED パラメーターを true に設定します。

    SERVER.HTTPD_ENABLED = true
  4. 次のいずれかの操作を行います。

    • rootinstall/conf/fms.ini を開き、HTTPPROXY.HOST 変数の値を 8134 に設定します。

      HTTPPROXY.HOST = :8134
    • Adaptor.xml 設定ファイルをテキストエディターで開きます。

      複数のアダプターがある場合は、設定するアダプターのファイルを開きます。デフォルトの Adaptor.xml ファイルは、rootinstall¥conf¥_defaultRoot_ フォルダーに格納されています。

      次のように、HttpProxy タグの enable 属性を true に設定します。

      <HttpProxy enable="true" maxbuf="16384"> 
          <Host port="80">${HTTPPROXY.HOST}</Host> 
      </HttpProxy>

      Adaptor.xml ファイルを保存して検証します。

  5. サーバーを再起動します。

Apache および HTTP プロキシの無効化

  1. fms.ini ファイルをテキストエディターで開きます。

  2. ADAPTOR.HOSTPORT タグからポート 80 を削除します。

    ADAPTOR.HOSTPORT = :1935

  3. 次のいずれかの操作を行います。

    • rootinstall/conf/fms.ini を開き、HTTPPROXY.HOST 変数に値を設定しません。

      HTTPPROXY.HOST = 
    • Adaptor.xml 設定ファイルをテキストエディターで開きます。

      複数のアダプターがある場合は、設定するアダプターのファイルを開きます。デフォルトの Adaptor.xml ファイルは、rootinstall¥conf¥_defaultRoot_ フォルダーに格納されています。

      次のように、HttpProxy タグの enable 属性を false に設定します。

      <HttpProxy enable="false" maxbuf="16384"> 
          <Host port="80">${HTTPPROXY.HOST}</Host> 
      </HttpProxy>

      Adaptor.xml ファイルを保存して検証します。

  4. サーバーを再起動します。

HTTP 経由での SWF ファイルと HTML ファイルの配信

Apache は、SWF ファイル、HTML ファイル、JPG ファイルおよび他の多くの標準ファイルタイプを HTTP 経由で配信できます。HTTP 経由で配信するファイルを適切なフォルダーに配置します。デフォルトでは、Apache は次のパスを使用すように設定されています。

パス

場所

URL の例

/

rootinstall/Apache2.2/webroot

http://myFMSServer.com/app.swf

/cgi-bin

rootinstall/Apache2.2/cgi-bin

http://myFMSServer.com/cgi-bin/someScript.pl

これらのフォルダーはグローバルであり、アプリケーション固有ではありません。HTTP 経由で提供するすべての SWF ファイルと HTML ファイルは、これらのフォルダーかアプリケーション固有のフォルダーに存在している必要があります。アプリケーション固有のフォルダーのエイリアスを作成するには、httpd.conf ファイルを編集します。

アプリケーションの Web ディレクトリの作成

Apache によりコンテンツが HTTP 経由で提供されるようにするには、定義済み Web ディレクトリのいずれかを使用するか、そのアプリケーションの Web ディレクトリを作成します。アプリケーションの Web ディレクトリを作成するには、rootinstall/Apache2.2/conf/httpd.conf ファイルにエイリアスを追加します。例えば、次の行により、アプリケーションの streams ディレクトリをポイントする、「hd」というエイリアスが作成されます。

Alias /hd/ "applications/hd/streams/_definst_/" 
<Directory "applications/hd/streams/_definst_/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory>

HTTP 経由で提供するメディアファイルを rootinstall/applications/hd/streams/_definst_/ フォルダーにコピーします。例えば、クライアントが http://fms.example.com/hd/someVideo.flv を要求した場合、Apache により rootinstall/applications/hd/streams/_definst_/ フォルダーから someVideo.flv ファイルが提供されます。

設定ファイルの編集の詳細については、www.apache.org にある Apache のドキュメントを参照してください。

WebDAV ホストとしての Apache の使用

Web サーバーは、WebDAV ホストとして機能するように設定できます。詳細については、www.apache.org にある Apache HTTP Server バージョン 2.2.15 のドキュメントを参照してください。

open、close、send、idle、fcs、fms、crossdomain.xml、fpad は予約語です。予約語は、webroot ディレクトリ下のディレクトリ名や他の ディレクトリ名に使用することができません。これらの名前のアプリケーションがある場合は、カスタムエイリアスを使用して、HTTP 仮想ディレクトリに RTMP アプリケーションとはわずかに異なる名前(「open_」など)を付けます。

サービスとしての Windows 版 Apache の実行

Windows で Apache をインストールしてサービスとして実行するには:

  1. コマンドプロンプトを開きます。

  2. ディレクトリを rootinstall/Apache2.2/bin フォルダーに変更します。例えば、コマンドプロンプトで次のように入力します。
    cd ../../Program Files/Adobe/Flash Media Server 4/Apache2.2/bin
  3. Apache をインストールしてサービスとして実行するには、次のように入力します。

    httpd.exe -f conf/httpd.conf -n FMSHttpd -k install
    注意: Apache をアンインストールするには、httpd.exe -n FMSHttpd -k uninstall と入力します。
  4. Apache が実行されていることを確認するには、Windows の「サービス」パネルを開いて FMSHttpd サービスを指定します。

Windows XP で Windows サービスを開始および停止するには:
  1. 「マイ コンピュータ」を右クリックして「管理」を選択します。「コンピュータの管理」ダイアログボックスが表示されます。

  2. 「サービスとアプリケーション」を選択します。

  3. 「サービス」をダブルクリックします。使用可能なサービスのリストが表示されます。

  4. サービスを開始するには、リストから該当するサービスを選択して「サービスの開始」ボタンをクリックします。サービスを停止するには、リストから該当するサービスを選択して「サービスの停止」ボタンをクリックします。

Apache HTTP サーバーのアップグレード

Flash Media Server のインストール後に、含まれている Apache Web サーバーを更新するように要求されることがあります。通常、これは Apache HTTP サーバーのセキュリティパッチや機能のアップグレードによるものです。

Flash Media Server 4.5 に付属している Apache HTTP サーバーのバージョンは 2.2.17 です。Apache Web サーバーの最新の情報については、httpd.apache.org を参照してください。

Apache Web サーバーをアップグレードするときは、Apache サーバーを既存のサーバーとは別のディレクトリにインストールまたは構築することをお勧めします。その後、新しくインストールしたディレクトリの内容を既存のサーバーにコピーします。

通常、Apache の既存の設定ファイルを新しいバージョンの設定ファイルに置き換えることはありません。これは、Flash Media Server 用の Apache Web サーバーのインストールは、特定のモジュールと設定であらかじめ設定されているからです。設定ファイルに変更がある場合は、既存のファイルを更新して変更を反映した方が通常は簡単です。

アップグレード前に、次の作業を行います。
  1. apache.org で、現在のバージョンと新しいバージョンの違いに関するインストールの注意事項を確認します。例えば、名前が変更されたために設定ファイルをマージしなければならないディレクティブやモジュールがないかどうかを確認します。

  2. 現在インストールされているバージョンの Apache が正しく動作していることを確認します。
    1. マスターログファイルでエラーがないかどうかを確認します。master.00.log ファイル内の httpd プロセスを起動した行で 0 が返されていることを確認します。次に例を示します。
      - C:\Program Files\Adobe\Flash Media Server 4\Apache2.2\bin\httpd 
      -f ./conf/httpd.conf -d "C:\Program Files\Adobe\Flash Media Server 4\Apache2.2" 
      -n FMSHttpd -k start returned 0:
    2. "http" プロトコルを使用してビデオを再生してみます。

  3. Apache の現在のバージョンを確認して書き留めておきます。コマンドプロンプトで、FMS_Install_Dir/Apache2.2/bin に移動し、次のコマンドを実行します。
    httpd -v
  4. 次のディレクトリをバックアップします。
    FMS_Install_Dir/Apache2.2/bin  
    FMS_Install_Dir/Apache2.2/lib  
    FMS_Install_Dir/Apache2.2/include  
    FMS_Install_Dir/Apache2.2/modules  
    FMS_Install_Dir/Apache2.2/manual  
    FMS_Install_Dir/Apache2.2/icons
アップグレードするには、次の作業を行います。
  1. Flash Media Server を停止します。

  2. apache.org の指示に従って、Apache インストーラーをダウンロードして実行します。Linux を使用している場合は、システム上に Apache サーバーを構築するように要求される場合があります。

  3. Flash Media Server と共にインストールされた現在のバージョンに、新しくインストールしたバージョンの次のディレクトリをコピーします。
    Apache_Install_Dir/bin  
    Apache_Install_Dir/modules  
    Apache_Install_Dir/manual  
    Apache_Install_Dir/icons

    このリストに Apache の設定ファイルが格納された /conf ディレクトリが含まれていないことに注意してください。既存の設定ファイルを新しい設定ファイルに置き換えないようにしてください。

  4. 必要に応じて、設定ファイルをマージします。ほとんどの場合はファイルをマージする必要はありませんが、新しいバージョンの Apache に新規または名前が変更されたモジュールやディレクティブが含まれている場合は、新しい要件を満たすように設定ファイルを編集しなければならないことがあります。

  5. Flash Media Server を起動します。

アップグレード後に、次の作業を行います。
  1. 新しいバージョンの Apache を使用できるようにします。コマンドプロンプトで、FMS_Install_Dir/Apache2.2/bin に移動し、次のコマンドを実行します。
    httpd -v
  2. 必要に応じて、サードパーティのモジュールを再コンパイルします。

  3. 新しく更新したバージョンの Apache が正しく動作していることを確認します。
    1. マスターログファイルでエラーや警告がないかどうかを確認します。master.00.log ファイル内の httpd プロセスを起動した行で 0 が返されていることを確認します。次に例を示します。
      - C:\Program Files\Adobe\Flash Media Server 4\Apache2.2\bin\httpd -f 
      ./conf/httpd.conf -d "C:\Program Files\Adobe\Flash Media Server 4\Apache2.2" -n FMSHttpd -k start returned 0:
    2. "http" プロトコルを使用してビデオを再生してみます。

Apache HTTP サーバーのトラブルシューティング

場合によっては、Apache サーバーで Flash Media Server を適切に実行できないことがあります。これは、Apache の設定ファイルの構文エラーが原因である場合があります。

rootinstall/logs ディレクトリにある master.log ファイルを確認します。何らかの理由で Apache を起動できない場合、通常はエラーコード "1" が返され、master.log ファイルに次のような行が書き込まれます。
2010-06-22 15:45:09 4276 (w)2581414 C:\Program Files\Adobe\Flash Media Server 4 
\Apache2.2\bin\httpd -f ./conf/httpd.conf -d "C:\Program Files\Adobe\Flash Media Server 4 
\Apache2.2" -n FMSHttpd -k start returned 1: 

ステータスが (w) または (e) の場合、警告またはエラーがあることを示しています。master.log ファイルのステータスコードの詳細については、診断ログを参照してください。

Flash Media Server をサービスとして実行している場合、Windows Event Viewer でエラーメッセージを確認できます。Linux の場合は、syslog のログファイルでエラーメッセージを確認します。

エラーメッセージは Apache のログファイルでも確認できます。Apache ログファイルは、デフォルトで rootinstall/Apache2.2/logs にあります。ログは、デフォルトの Apache エラーおよび結合アクセスログ形式です。これらのログファイルの形式については、「Log Files」を参照してください。

ログファイルの場所を変更するには、rootinstall/Apache2.2/conf/httpd.conf ファイルを編集します。