Interstage HTTP Server 運用ガイド

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Interstage HTTP Server 運用ガイド"

Transcription

1 Interstage Application Server/ Interstage Web Server Interstage HTTP Server 運用ガイド Windows/Solaris/Linux B1WN Z0(00) 2009 年 11 月

2 まえがき 本書の目的 本書は Interstage HTTP Server 運用ガイド です 本書は Interstage HTTP Server の運用を行うために必要な環境設定 運用手順について説明しています 前提知識 本書を読む場合 以下の知識が必要です 使用するオペレーティングシステムに関する基本的な知識 インターネットに関する基本的な知識 Apache HTTP Server に関する基本的な知識 本書の構成 本書は以下の構成になっています 第 1 章概要 Interstage HTTP Server の および構成について説明します 第 2 章機能 Interstage HTTP Server の機能内容について説明します 第 3 章環境設定 Interstage HTTP Server の環境設定について説明します 第 4 章運用 保守 Interstage HTTP Server の運用 保守について説明します 付録 A ディレクティブ一覧 Interstage HTTP Server の環境定義ファイルで設定するディレクティブについて説明します 付録 B 環境変数とサーバ変数 Interstage HTTP Server で使用している環境変数およびサーバ変数について説明します 付録 C Apache HTTP サーババージョン 2.0 ドキュメントの参照方法 Apache HTTP サーババージョン 2.0 ドキュメントの参照方法について説明します 輸出許可 本ドキュメントを非居住者に提供する場合には 経済産業大臣の許可が必要となる場合がありますので ご注意ください 著作権 Copyright 2009 FUJITSU LIMITED 2009 年 11 月第 10 版 2009 年 10 月第 9 版 - i -

3 2009 年 8 月第 8 版 2008 年 7 月第 7 版 2008 年 6 月第 6 版 2007 年 11 月第 5 版 2007 年 8 月第 4 版 2007 年 7 月第 3 版 2007 年 5 月第 2 版 2007 年 4 月初版 - ii -

4 目次 第 1 章概要 Web サーバのプロセス構成 (Windows(R)) Web サーバのプロセス構成 (Solaris/Linux)...3 第 2 章機能 HTML 文書の取出し 認証とアクセス制御 オンライン照合機能 SSL バーチャルホスト URL の書き換え サーバステータスの監視機能 複数 Web サーバ機能 コンテンツの圧縮機能 プロキシ機能 その他の機能...22 第 3 章環境設定 Interstage 管理コンソール 環境定義ファイル ホスト名の設定 公開用ルートディレクトリの設定 ポート番号と IP アドレスの設定 アクセスログの設定 エラーログの設定 トレースログの設定 ユーザ認証の設定 IP アクセスコントロールの設定 バーチャルホストの設定 仮想ディレクトリの設定 リダイレクト機能の設定 リライト機能の設定 サーバステータスの監視 コンテンツの圧縮機能の設定 プロキシ機能の設定 クライアントの同時接続数の設定 ディレクトリリストの設定 デフォルト MIME タイプの設定 MIME タイプ定義 デフォルト HTML ファイルの設定 セション管理機能の設定 ユーザ追跡機能の設定 クッキーログの設定 通信プロセス数の設定 通信プロセスに対する権限の設定 言語ベースのコンテンツネゴシエーション メッセージのカスタマイズ CGI プログラム実行の許可 Servlet サービスのアプリケーションの URL に対するアクセス制御...64 第 4 章運用 保守 起動 停止 起動 停止 iii -

5 4.1.3 自動起動の設定 ログ アクセスログ エラーログ トレースログ オペレーションログ 保守ログ 動作状態表示 複数 Web サーバの運用 Web サーバの作成 Web サーバの削除...86 付録 A ディレクティブ一覧...88 A.1 AddDefaultCharset...89 A.2 AddHandler...89 A.3 AddLanguage...90 A.4 AddType...91 A.5 Alias...92 A.6 AliasMatch...93 A.7 Allow...94 A.8 AuthGroupFile...95 A.9 AuthLDAPbasedn...96 A.10 AuthLDAPBindDN...96 A.11 AuthLDAPBindPassword...97 A.12 AuthLDAPCertPath...98 A.13 AuthLDAPEnabled...98 A.14 AuthLDAPHost...99 A.15 AuthLDAPPort A.16 AuthLDAPSecure A.17 AuthLDAPSecureVersion A.18 AuthLDAPSlotPath A.19 AuthLDAPTknLbl A.20 AuthLDAPTknPwd A.21 AuthName A.22 AuthType A.23 AuthUserFile A.24 BrowserMatch A.25 BrowserMatchNoCase A.26 CacheEnable A.27 CacheMaxExpire A.28 CacheRoot A.29 CookieExpires A.30 CookieTracking A.31 CoreDumpDirectory A.32 CustomLog A.33 DefaultType A.34 Deny A.35 <Directory> A.36 <DirectoryMatch> A.37 DirectoryIndex A.38 DocumentRoot A.39 ErrorDocument A.40 ErrorLog A.41 ExtendedStatus A.42 FileETag A.43 <Files> A.44 <FilesMatch> A.45 Group iv -

6 A.46 IdentityCheck A.47 Header A.48 HostnameLookups A.49 <IfModule> A.50 IHSServerHeader A.51 IHSTrace A.52 IHSTraceLog A.53 ISSsoBusinessSystemName A.54 KeepAlive A.55 KeepAliveTimeout A.56 LimitInternalRecursion A.57 LimitRequestBody A.58 LimitRequestFields A.59 LimitRequestFieldsize A.60 LimitRequestLine A.61 Listen A.62 ListenBacklog A.63 LoadModule A.64 <Location> A.65 <LocationMatch> A.66 LogFormat A.67 MaxClients A.68 MaxKeepAliveRequests A.69 MaxRequestsPerChild A.70 MaxSpareServers A.71 MinSpareServers A.72 NameVirtualHost A.73 Options A.74 Order A.75 ProxyPass A.76 ProxyPassReverse A.77 ProxyRequests A.78 Redirect A.79 RedirectMatch A.80 Require A.81 RewriteCond A.82 RewriteEngine A.83 RewriteRule A.84 ScriptAlias A.85 ScriptAliasMatch A.86 SendBufferSize A.87 ServerAdmin A.88 ServerLimit A.89 ServerName A.90 ServerRoot A.91 ServerSignature A.92 ServerTokens A.93 SetEnvIf A.94 SetEnvifNoCase A.95 SetHandler A.96 SetOutputFilter A.97 SSLCertExpand A.98 SSLCertName A.99 SSLCipherSuite A.100 SSLClCACertName A.101 SSLConfName A.102 SSLEnvDir A.103 SSLExec v -

7 A.104 SSLHandshakeTimeout A.105 SSLLIBMultiSession A.106 SSLMaxSession A.107 SSLNotifyVers A.108 SSLSlotDir A.109 SSLTokenLabel A.110 SSLUserPINFile A.111 SSLVerifyClient A.112 SSLVersion A.113 StartServers A.114 ThreadLimit A.115 ThreadsPerChild A.116 Timeout A.117 TraceEnable A.118 TransferLog A.119 TypesConfig A.120 User A.121 UserDir A.122 <VirtualHost> 付録 B 環境変数とサーバ変数 付録 C Apache HTTP サーババージョン 2.0 ドキュメントの参照方法 索引 vi -

8 第 1 章概要 本製品で 提供する機能の概要 および構成について説明します 1.1 Interstage HTTP Server は Apache HTTP Server をベースとした Web サーバです Apache HTTP Server で提供している基本機能に加えて 以下の機能についてサポートし Web サーバにおけるさまざまな機能要求へ対応できます Interstage 管理コンソール オンライン照合機能 (LDAP) SSL ログファイルのローテーション機能 Interstage HTTP Server の主な機能については 第 2 章機能 を参照してください Interstage HTTP Server の環境設定については 第 3 章環境設定 を参照してください Interstage HTTP Server の運用方法については 第 4 章運用 保守 を参照してください Interstage HTTP Server の環境定義ファイル (httpd.conf) で設定するディレクティブについては 付録 A ディレクティブ一覧 を参照してください なお Apache HTTP Server で提供している基本機能については Apache HTTP サーババージョン 2.0 ドキュメント を参照してください Apache HTTP サーババージョン 2.0 ドキュメントの参照方法については 付録 C Apache HTTP サーババージョン 2.0 ドキュメントの参照方法 を参照してください 注意 本製品では Apache HTTP Server で検出されたセキュリティホールにおいて Interstage HTTP Server に影響がある修正については Apache HTTP Server まで対応しています また 本製品出荷以降 セキュリティホール関連の問題が発生した場合は 緊急修正にて随時対応していきます Interstage HTTP Server のセキュリティホール関連の対応については 以下のサイトで提供している富士通製品のセキュリティ情報にて確認してください 1.2 Web サーバのプロセス構成 (Windows(R)) Windows(R) システムでは クライアントとの多重接続はスレッド多重で実現しています Interstage HTTP Server のプロセス構成 およびスレッド構成に関連する設定は 環境定義ファイル (httpd.conf) において 以下のディレクティブを使用して行います ディレクティブ初期値 クライアントの同時接続数 ThreadsPerChild 50 デーモンプロセスが処理可能なリクエスト数 MaxRequestsPerChild 0 上記のディレクティブの設定値とプロセス構成 スレッド構成の関係について以下に説明します (1) Web サーバ起動時のプロセス構成 Web サーバを起動すると デーモンプロセスは ThreadsPerChild ディレクティブで指定した数値の通信スレッドおよび状態表示デーモンスレッドを生成します クライアントからのリクエストを受け付けたり 通信を切断したりした場合でも 通信スレッド数は変わりません - 1 -

9 (2) 最大多重動作について クライアントとの同時接続数が ThreadsPerChild ディレクティブで指定した数値に達した場合 クライアントからの新しいリクエストはオペレーティングシステム内にキューイングされます なお キューイングの最大数は ListenBacklog ディレクティブを使用して設定します - 2 -

10 (3) デーモンプロセスが処理可能なリクエスト数について デーモンプロセス生成後に受け付けるリクエストの合計が MaxRequestsPerChild ディレクティブで指定した数値を超過した場合に デーモンプロセスを再起動します このとき 通信スレッドがクライアントに応答を返し 通信を切断した後に デーモンプロセスは自ら終了します 1.3 Web サーバのプロセス構成 (Solaris/Linux) Solaris/Linux システムでは クライアントとの多重接続はプロセス多重で実現し 通信プロセス数を自動で拡張 / 縮退する機能を備えています Interstage HTTP Server のプロセス構成に関連する設定は 環境定義ファイル (httpd.conf) において 以下のディレクティブを使用して行います ディレクティブ 初期値 Interstage HTTP Server 起動時の通信プロセス数 StartServers 5 待機状態の通信プロセス数の最小値 MinSpareServers 5 待機状態の通信プロセス数の最大値 MaxSpareServers 10 クライアントの同時接続数 MaxClients 50 1つの通信プロセスが処理可能なリクエスト数 MaxRequestsPerChild 0 クライアントの同時接続数の上限値 ServerLimit - ( :256) - 3 -

11 各ディレクティブに指定する数値は 以下の大小関係を基本に設定してください MaxClients MaxSpareServers StartServers MinSpareServers 上記のディレクティブの設定値とプロセス構成の関係について以下に説明します (1) Web サーバ起動時のプロセス構成 Web サーバを起動すると デーモンプロセスは StartServers ディレクティブに指定した数値の待機状態の通信プロセスおよび状態表示デーモンプロセスを生成します (2) 通信プロセス数の拡張 待機状態の通信プロセスがクライアントからの接続要求を受け付けた場合 その通信プロセスは通信状態となり 待機状態の通信プロセスが 1 つ減ることになります 待機状態の通信プロセス数が MinSpareServers ディレクティブに指定した数値より少ない場合は MinSpareServers ディレクティブに指定した数値となるように通信プロセスを新しく生成します - 4 -

12 (3) 通信プロセス数の縮退 クライアントとの通信を切断することにより その通信プロセスは待機状態となり 待機状態の通信プロセスが 1 つ増えることになります 待機状態の通信プロセス数が MaxSpareServers ディレクティブで指定した数値を超過した場合 MaxSpareServers ディレクティブで指定した数値となるよう待機状態の通信プロセスを削除します - 5 -

13 (4) 最大多重動作について 通信プロセス数が MaxClients で指定した数値に達した場合 新しい通信プロセスは生成しません また クライアントとの同時接続数が MaxClients で指定した数値に達した場合 クライアントからの新しいリクエストはオペレーティングシステム内にキューイングされます なお キューイングの最大数は ListenBacklog ディレクティブを使用して設定します - 6 -

14 (5) 1 つの通信プロセスが処理可能なリクエスト数について 1 つの通信プロセスにおいて プロセス生成後に受け付けるリクエストの合計が MaxRequestsPerChild ディレクティブに指定した数値を超過した場合に その通信プロセスを再起動します このとき 通信プロセスがクライアントに応答を返し 通信を切断した後に その通信プロセスは自ら終了します - 7 -

15 第 2 章機能 本製品で 提供する機能について説明します 2.1 HTML 文書の取出し Web ブラウザで URL(Uniform Resource Locator) により Web サーバ上の取得したいデータ (HTML 文書や画像データなど ) を指定することで Web サーバに格納されたデータを取得し Web ブラウザに返却できます Web ブラウザから指定される URL のを以下に示します URL の ホスト名 : ポート番号 / パス ホスト名 取得すべきデータが格納されているホスト名 ポート番号 パス ポート番号 ホストのポート番号が 80 である場合は 省略可 ( 省略する場合 コロン (:) は不要 ) サーバ上のディレクトリ構成のパス 環境定義ファイル (httpd.conf) の DocumentRoot ディレクティブからの相対パス名のファイルを検索し 内容を Web ブラウザに返却します 注意 2 バイトコードの URL を使用する場合は 以下の設定を行ってください - Web ブラウザにおいて UTF-8 の URL を送信する設定を有効にします 注 )UTF-8 の URL を送信する設定ができない場合 2 バイトコードの URL は使用できません - Web サーバに ファイル名が文字コード UTF-8 である HTML 文書を格納します URL のパスの末尾にスラッシュ (/) を付加しないでディレクトリを指定すると 初期設定の場合 Web サーバでは以下のように処理します 1. Web ブラウザ ( クライアイト ) に ステータスコード 301 (Moved Permanently) を返却します このとき 環境定義ファイル (httpd.conf) の ServerName ディレクティブの設定値 および末尾にスラッシュ (/) を付加したパスでリダイレクト URL を設定します 2. Web ブラウザ ( クライアイト ) からリダイレクト URL へのリクエストを受け付けます 3. Web ブラウザ ( クライアイト ) に 環境定義ファイル (httpd.conf) の DirectoryIndex ディレクティブに設定されたファイルの内容を返却します (Linux for x86 の場合 ) 2G バイト以上のファイルは 使用できません URL のパスに 2G バイト以上のファイルを指定すると Web サーバは Web ブラウザ ( クライアント ) にステータスコード 403 (Forbidden) を返却します 例 ホスト名 ポート番号

16 公開用ルートディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs /opt/fjsvihs/servers/fjapache/htdocs HTML 文書のファイル C:\Interstage\F3FMihs\servers\FJapache\htdocs\index.html /opt/fjsvihs/servers/fjapache/htdocs/index.html 上記のような場合 環境定義ファイル (httpd.conf) の DocumentRoot ディレクティブの指定と Web ブラウザからの URL は 次のようになります ポート番号は 環境定義ファイル (httpd.conf) の Listen ディレクティブに 80 が指定されている場合 ( インストール時に指定 ) は 省略できます DocumentRoot ディレクティブの指定 C:/Interstage/F3FMihs/servers/FJapache/htdocs /opt/fjsvihs/servers/fjapache/htdocs Web ブラウザから指定される URL 2.2 認証とアクセス制御 Interstage HTTP Server では 資源 ( ディレクトリ全体 そのディレクトリ配下の HTML 文書 画像データなど ) に対して Web ブラウザからのアクセスを制限できます 認証とアクセス制御の詳細および環境設定については セキュリティシステム運用ガイド の Interstage HTTP Server の認証とアクセス制御の設定 を参照してください 2.3 オンライン照合機能 Interstage HTTP Server では ユーザ認証に使用するユーザ名 / パスワードおよびグループ情報をディレクトリサーバ上で一括管理を行い LDAP(Lightweight Directory Access Protocol) V3 を使用してディレクトリサーバと通信することで オンライン上でユーザ名 / パスワードを照合できます これにより Web サーバ間共通のユーザ名 / パスワードなどの使用が可能となります オンライン照合機能の詳細および環境設定については セキュリティシステム運用ガイド の Interstage HTTP Server の認証とアクセス制御の設定 - オンライン照合 を参照してください 2.4 SSL Interstage HTTP Server では Web ブラウザと Web サーバ間の通信プロトコルとして SSL(Secure Socket Layer) によるクライアント サーバ認証と暗号化通信を利用することで 盗聴 / 改ざん / なりすましなどの危険を回避し 情報のプライバシーを守ることができます SSL 運用を行う場合に Web ブラウザから指定される URL のを以下に示します URL の https で始まる URL でアクセスした場合に SSL プロトコルによる通信が行われ 機密性の高い通信を行うための準備が自動的に行われます - 9 -

17 https:// ホスト名 : ポート番号 / パス ホスト名 取得すべきデータが格納されているホスト名 ポート番号 パス ポート番号 SSL を使用するホストのポート番号が 443 である場合は 省略可 ( 省略する場合 コロン (:) は不要 ) サーバ上のディレクトリ構成のパス 環境定義ファイル (httpd.conf) の DocumentRoot ディレクティブからの相対パス名のファイルを検索し 内容を Web ブラウザに返却します SSL 運用を行う場合 暗号や署名処理を行うために必要な証明書や秘密鍵を管理する環境として以下のどちらかの環境を構築する必要があります Interstage 証明書環境 SMEE コマンドで構築した証明書 / 鍵管理環境 Interstage 証明書環境を使用する場合は セキュリティシステム運用ガイド の Interstage 証明書環境の構築と利用 を SMEE コマンドで構築した証明書 / 鍵管理環境を使用する場合は セキュリティシステム運用ガイド の Interstage HTTP Server で SSL を利用する方法 を参照してください ポイント SSL 運用を行う場合 Web サーバプログラムにおいて暗号アルゴリズムの演算処理による CPU 負荷が大きいため 通信処理性能に影響があります SSL 運用時の通信処理を高速化させる場合は SSL アクセラレータを導入してください SSL では バーチャルホスト機能を併用した運用を行うことで SSL を使用しない情報公開と SSL を使用する情報公開を同時に行えます 2.5 バーチャルホスト Interstage HTTP Server では ホスト名 (IP アドレス / ポート番号 ) が異なる Web サーバを同一のサーバマシン上で運用することで Web ブラウザから複数のマシンを仮想的に利用できます これらにより 実機を増設することなく新しいホスト環境を構築することができ 設備投資を抑えることができます バーチャルホストには 以下の 2 種類の運用があります

18 IP/ ポート番号ベースのバーチャルホスト ネームベースのバーチャルホスト IP/ ポート番号ベースのバーチャルホスト IP/ ポート番号ベースのバーチャルホストは 複数の IP アドレス / ポート番号を設定し それぞれの IP アドレス / ポート番号ごとにバーチャルホストを実現する機能です ネームベースのバーチャルホスト ネームベースのバーチャルホストは 1 つの IP アドレスに対して複数のホスト名を割り当てることにより それぞれのホスト名ごとのバーチャルホストを実現する機能です

19 バーチャルホスト機能は Interstage 管理コンソールを使用して設定する方法と 環境定義ファイル (httpd.conf) を使用して設定する方法があります Interstage 管理コンソールを使用して設定する場合 Interstage 管理コンソールを起動してログインし [ システム ] > [ サービス ] > [Web サーバ ] > [Web サーバ名 ] > [ バーチャルホスト ] > [ バーチャルホスト : 一覧 ] 画面を使用して行います Interstage 管理コンソールの起動については 運用ガイド ( 基本編 ) を Interstage 管理コンソールの定義詳細については Interstage 管理コンソールのヘルプを参照してください なお Interstage 管理コンソールの管理サーバで環境設定を行う場合の操作方法については 運用ガイド ( 基本編 ) の マルチサーバ管理機能 - Interstage の環境構築 - Interstage HTTP Server の環境構築 を参照してください 環境定義ファイル (httpd.conf) の設定方法については バーチャルホストの設定 を参照してください 注意 本機能を設定すると 1 台の実機に負荷が集中してしまうため 性能を重視する場合は 推奨できません アクセス頻度などを考慮した上で使用してください ネームベースのバーチャルホストを設定する場合は SSL を使用することはできません Interstage 管理コンソールにおいて バーチャルホストの新規作成 変更を行う場合 ポート番号に * を設定できません また 環境定義ファイル (httpd.conf) において ポート番号が * のバーチャルホストがすでに設定されている場合 Interstage 管理コンソール上で該当するバーチャルホストの表示 変更 削除を行うことができません 環境定義ファイル (httpd.conf) を使用してください Interstage 管理コンソールにおいて バーチャルホストの新規作成 変更を行う場合 [IP アドレス ] に IPv6 アドレスを設定するには 以下のいずれかの条件を満たす必要があります - バーチャルホストの [ ポート番号 ] に Web サーバの環境定義を設定する [Web サーバ名 : 環境設定 ] 画面の [ ポート番号 ] と同じポート番号を設定する - バーチャルホストの [ ポート番号 ] を省略する 2.6 URL の書き換え Interstage HTTP Server では クライアント (Web ブラウザ ) から指定された URL に従い 通常 環境定義ファイル (httpd.conf) に設定された DocumentRoot ディレクティブで指定したディレクトリ配下の資源をアクセスしますが 以下の機能を使用することにより URL を書き換えることが可能となります 仮想ディレクトリ リダイレクト機能 リライト機能 仮想ディレクトリ 仮想ディレクトリ機能を使用することにより 任意のディレクトリを URL の仮想的なパスに割り当てることができます これにより 他のディレクトリのデータを仮想的なパスを含む URL で公開できます 本機能は DocumentRoot ディレクティブで指定したディレクトリ以外のパスにデータを格納したり データの格納パスを外部に隠蔽したりする場合に使用します 仮想ディレクトリ機能の設定方法については 仮想ディレクトリの設定 を参照してください リダイレクト機能 リダイレクト機能を使用することにより URL を新しい URL に書き換えることができます これにより クライアント (Web ブラウザ ) から Web サーバ上の使用不可となったページにアクセスした場合などに 指定したページがアクセス不可であることを明示的に示し 古い URL を新しい URL に書き換えることができます 本機能では 仮想ディレクトリ機能とは異なり Web ブラウザ上に表示する URL も新しい URL に書き換えます リダイレクト機能の設定方法については リダイレクト機能の設定 を参照してください

20 リライト機能 リライト機能を使用することにより URL を書き換える条件および書き換えのルールを正規表現で設定し クライアント (Web ブラウザ ) から要求された URL を柔軟に書き換えることができます 本機能では 書き換えた URL で外部リダイレクトを実行したり プロキシ要求として動作させたりすることができます リライト機能の設定方法については リライト機能の設定 を参照してください 2.7 サーバステータスの監視機能 Interstage HTTP Server では アクセス数 転送量 通信プロセス ( スレッド ) の状態など Web サーバに関するさまざまな動作状態を表示し 確認することができます 注意 サーバステータスの監視機能を運用する場合 Web サーバの動作が遅くなることがあります ポイント ihsdisp コマンドを使用して Web サーバの運用中の動作状態を表示することもできます 詳細については 4.3 動作状態表示 を参照してください 表示内容 設定方法 および運用手順について 以下に示します 表示内容サーバステータスの監視機能では 以下の項目の動作状態を表示します Webサーバ全体の動作状態 通信プロセス ( スレッド ) の状態一覧 通信プロセス ( スレッド ) ごとの動作状態 Web サーバ全体の動作状態 Web サーバ全体の動作状態が以下の例のように表示されます 上記で表示された各項目の意味を以下に示します 項目名 意味 備考 Server Version Interstage HTTP Serverのサーババージョン Server Built Interstage HTTP Serverのコンパイル日時 Current Time 現在の日時 Restart Time 起動日時

21 項目名意味備考 Parent Server Generation 再起動回数 ( 注 1) Server uptime 連続稼働時間 Total accesses 起動時からの総アクセス数 ( 注 2) Total Traffic 総転送量 ( 注 2) CPU Usage CPU load u 通信プロセスが消費した CPU 時間 ( 秒 ) ( 注 2) s 通信プロセスによりシステムが消費した CPU 時間 ( 秒 ) ( 注 2) cu cs CGI アクセスにおいて生成した子プロセスが消費した CPU 時間 ( 秒 ) CGI アクセスにおいて生成した子プロセスによりシステムが消費した CPU 時間 ( 秒 ) ( 注 2) ( 注 2) CPU 使用率 (%) ( 注 2) requests/sec 平均毎秒リクエスト数 ( 注 2) B/second 平均毎秒転送量 ( 注 2) B/request リクエストあたりの転送量 ( 注 2) requests currently being processed 処理中のリクエスト数 idle servers 待機中の通信プロセス ( スレッド ) 数 注 1)Interstage HTTP Server では サポートしていないため 無効です 常に 1 と表示されます 常に 0 と表示されます 注 2) サーバステータス情報の拡張表示を行う場合 ( 環境定義ファイル (httpd.conf) の ExtendedStatus ディレクティブに On を指定した場合 ) に表示されます 通信プロセス ( スレッド ) の状態一覧 Web サーバが生成した通信プロセス ( スレッド ) の状態一覧が以下の例のように表示されます この表示は スコアボードと呼ばれます スコアボードには 通信プロセス ( スレッド ) の番号 (Srv) の順に Windows(R) の場合は 2048 個 Solaris /Linux の場合は 4096 個の通信プロセス ( スレッド ) の状態がキーによって 1 つずつ表示されます 上記のスコアボードの例の場合は 通信プロセス ( スレッド ) が以下の状態であることを意味します 1 つ目から 5 つ目までの通信プロセス ( スレッド ): 待機中 6 つ目の通信プロセス ( スレッド ): 応答中

22 7 つ目以降の通信プロセス ( スレッド ): 未起動 通信プロセス ( スレッド ) の状態を示すスコアボードのキーとその意味を以下に示します スコアボードのキー "_" Waiting for Connection 待機中 通信プロセスの生成中 "S" Starting up "R" Reading Request リクエストの読込み中 "W" Sending Reply リクエストの応答中 "K" Keepalive (read) Keep-Alive 接続中 "D" DNS Lookup DNSでホスト名を検索中 "C" Closing connection コネクションクローズ中 "L" Logging ログファイルの書込み中 "G" Gracefully finishing - ( 注 ) "I" Idle cleanup of worker - ( 注 ) "." Open slot with no current process 未起動 意味 注 )Interstage HTTP Server では サポートしていないため 無効です 通信プロセス ( スレッド ) ごとの動作状態 通信プロセス ( スレッド ) ごとの動作状態が以下の例のように表示されます 上記で表示された各項目の意味を以下に示します 項目名意味備考 Srv (Child Server number - generation) 通信プロセス ( スレッド ) の番号 - 再起動した回数 ( 注 1) ( 注 2) PID (OS process ID) 通信プロセスのプロセス ID ( 注 3) Acc (Number of accesses this connection / this child / this slot) M (Mode of operation) CPU (CPU usage, number of seconds) Number of accesses this connection this child this slot 同一コネクション内でのアクセス数 ( 注 1) 通信プロセス ( スレッド ) あたりの総アクセス数 通信プロセス ( スレッド ) あたりの総アクセス数 通信プロセス ( スレッド ) の状態 ( 通信プロセス ( スレッド ) の状態一覧 を参照 ) CPU 消費時間 ( 秒 ) ( 注 1) SS (Seconds since beginning of most recent request) 最新リクエストからの経過時間 ( 秒 ) ( 注 1) Req (Milliseconds required to process most recent request) 最新リクエストの処理時間 ( ミリ秒 ) ( 注 1) ( 注 3) Conn (Kilobytes transferred this connection) 同一コネクション内での転送量 (K バイト ) ( 注 1)

23 Child (Megabytes transferred this child) Slot (Total megabytes transferred this slot) 項目名意味備考 通信プロセス ( スレッド ) あたりの総転送量 (M バイト ) 通信プロセス ( スレッド ) あたりの総転送量 (M バイト ) Client クライアントまたはプロキシサーバなどの IP アドレス ( 注 1) VHost 最新リクエストを受け付けた Web サーバのホスト名 ( 注 1) ( 注 4) Request 最新リクエストの内容 ( 注 1) 注 1) サーバステータス情報の拡張表示を行う場合 ( 環境定義ファイル (httpd.conf) の ExtendedStatus ディレクティブに On を指定した場合 ) に表示されます 注 2)Interstage HTTP Server では 再起動処理をサポートしていないため 再起動した回数 は無効です 常に 0 と表示されます ( 注 1) ( 注 1) 注 3) 無効です 常に 0 と表示されます 注 4) 無効です 常に (unavailable) と表示されます 設定方法 サーバステータスの監視機能は 環境定義ファイル (httpd.conf) で設定します 設定方法については サーバステータスの監視 を参照してください 注意 サーバステータス監視機能を運用する場合 ネットワーク上の悪意のある人 ( またはマシン ) がそのサーバステータスをのぞき見る脅威があります このような脅威に備え 以下のように設定することをお勧めします 特定のアクセスだけを許可するため 以下の機能を併用して設定します - ユーザ認証の設定特定の管理者からのアクセスだけに対してサーバステータス情報を表示します - IP アクセスコントロールの設定特定のクライアントからのアクセスだけに対してサーバのステータス情報を表示します <Location> セクションの URL を複雑化して設定します サーバステータス監視機能で <Location> セクションを設定する場合 URL には一般的に server-status という文字列が使用されます そのため URL に server-status という文字列を設定すると サーバステータス情報が安易に表示される可能性があります URL には server-status 以外の文字列を設定してください 運用手順 サーバステータスの監視機能を運用する場合 クライアントから Web ブラウザで任意の URL にアクセスすることで 上記の表示内容の動作状態を表示します URL の ホスト名 : ポート番号 / パス

24 ホスト名 Webサーバのホスト名またはIPアドレス ポート番号ポート番号 ホストのポート番号が80である場合は 省略可 ( 省略する場合 コロン (:) は不要 ) パス環境定義ファイル (httpd.conf) の <Location> セクションで設定したURL ポイント URL の末尾に?auto を指定すると 簡略化したステータスを表示できます URL の末尾に?refresh=N (N: 秒数 ) を指定すると 指定した秒数ごとにステータスの表示を更新できます なお?refresh を指定した場合は 1 秒となります 例 Web ブラウザ ( クライアント ) で Web サーバの IP アドレス と <Location> セクションに指定した URL /server-status を指定して サーバステータス情報を表示する場合

25 Web ブラウザ ( クライアント ) で Web サーバの IP アドレス と <Location> セクションに指定した URL /server-status を指定して サーバステータス情報を表示する場合

26 2.8 複数 Web サーバ機能 Interstage HTTP Server では 1 つのシステム上に複数の Web サーバの構築 運用を行うことができます これにより業務ごとの柔軟な運用や問題発生時の影響の極小化を実現することが可能となります Web サーバの構築は Interstage HTTP Server 運用コマンド または Interstage 管理コンソールを使用して行います 構築および運用方法については 4.4 複数 Web サーバの運用 を参照してください

27 注意 1 つのポート番号を複数の Web サーバで利用する場合は Web サーバごとに異なる IP アドレス : ポート番号 を設定して運用してください 同一の IP アドレス : ポート番号 を利用する場合は ネームベースのバーチャルホスト機能を利用してください バーチャルホスト機能については 2.5 バーチャルホスト を参照してください 2.9 コンテンツの圧縮機能 Interstage HTTP Server では クライアントに送信するコンテンツを圧縮できます これによりコンテンツの転送量が減少するため ネットワークの負荷が軽減し リクエストの転送効率を向上させることが可能となります コンテンツの圧縮機能は 環境定義ファイル (httpd.conf) で設定します 設定方法については コンテンツの圧縮機能の設定 を参照してください 注意 コンテンツの圧縮機能を設定した場合 Content-Length ヘッダの値は圧縮後のサイズとなります

28 2.10 プロキシ機能 Interstage HTTP Server では プロキシ機能を実装しています プロキシ機能には 以下の 2 種類があります フォワードプロキシ リバースプロキシ フォワードプロキシ フォワードプロキシは クライアントと Web サーバの間のクライアント側に位置し クライアントの要求を代理して Web サーバにアクセスします 一般的に 本機能は ファイアウォールで制限される内部ネットワークのクライアントから外部ネットワークの Web サーバへのアクセスを許可するために使用されます また プロキシサーバでは Web サーバからのデータをキャッシュに保存できます フォワードプロキシ機能は 環境定義ファイル (httpd.conf) で設定します 設定方法については プロキシ機能の設定 の フォワードプロキシ を参照してください 注意 フォワードプロキシ機能を使用する場合 Web ブラウザにおいてプロキシサーバを使用する設定を行ってください リバースプロキシ リバースプロキシは クライアントと Web サーバの間の Web サーバ側に位置し Web サーバの代理でクライアントの要求を受け付けます 一般的に 本機能は 外部ネットワークのクライアントからファイアウォールで制限される内部ネットワークの Web サーバへのアクセスを代行するために使用されます また プロキシサーバでは Web サーバからのデータをキャッシュに保存できます さらに 複数のホストに分散しているコンテンツなどを 1 つのホストが提供しているようにみせることが可能となります リバースプロキシ機能は 環境定義ファイル (httpd.conf) で設定します 設定方法については プロキシ機能の設定 の リバースプロキシ を参照してください

29 注意 リバースプロキシ機能を使用する場合 リバースプロキシサーバと Web サーバ間の通信において SSL は使用できません 2.11 その他の機能 Interstage HTTP Server では これまでに説明した機能以外に 以下のような機能を設定できます クライアントの同時接続数 Web サーバが クライアント (Web ブラウザ ) からのリクエストを同時に受け付けることができる最大数を設定できます 設定方法については クライアントの同時接続数の設定 を参照してください なお 本設定により 同時にアクセスできる数は増加しますが メモリ資源や一時ファイルなどの消費に伴いシステム全体の性能が劣化する可能性があります ディレクトリリストの設定 デフォルトページとして設定された (DirectoryIndex ディレクティブで指定された ) ファイルが Web サーバ上に存在しない場合 ディレクトリリスト ( ディレクトリの内容一覧 ) を自動的に生成して表示できます 設定方法については ディレクトリリストの設定 を参照してください デフォルト MIME タイプの設定 Web サーバ上の拡張子のないファイルおよび拡張子が認識できないファイルに対する MIME タイプを設定できます 設定方法については デフォルト MIME タイプの設定 を参照してください MIME タイプ定義 Web サーバ上の任意の MIME タイプを 指定した拡張子に結びつけることができます 設定方法については MIME タイプ定義 を参照してください デフォルト HTML ファイルの設定 ファイルを省略した場合のデフォルト HTML ファイルとして index.html 以外のファイルを設定できます 設定方法については デフォルト HTML ファイルの設定 を参照してください

30 セション管理機能 Interstage HTTP Server では Web ブラウザなどのクライアントとの間で持続的な接続を行い その接続時間およびリクエスト数を設定できます 設定方法については セション管理機能の設定 を参照してください ユーザ追跡機能 Interstage HTTP Server では クライアントからのアクセス履歴情報をログファイルに記録することにより アクセスしたユーザを追跡できます 設定方法については ユーザ追跡機能の設定 を参照してください クッキーログの設定 Interstage HTTP Server では リクエストに設定されている Cookie ヘッダ およびレスポンス時に設定される Set-Cookie ヘッダの値をログファイルに記録できます 設定方法については クッキーログの設定 を参照してください 通信プロセス数の設定 起動時および待機状態のプロセス数を設定できます 設定方法については 通信プロセス数の設定 を参照してください 通信プロセスに対する権限の設定 通信プロセスにおいてユーザ / グループ単位などでアクセス制限を設定できます 設定方法については 通信プロセスに対する権限の設定 を参照してください 言語ベースのコンテンツネゴシエーション Multiviews 機能を有効にして ファイル名拡張子を指定した言語に結びつけることができます 設定方法については 言語ベースのコンテンツネゴシエーション を参照してください メッセージのカスタマイズ Interstage HTTP Server では クライアントまたはプロキシサーバなどの IP アドレス / ホスト名 データ転送量 およびユーザ個人情報などのアクセスに関する情報を指定したフォーマットでログファイルに記録できます なお アクセスが多いサイトにおいて 多くの情報を記録すると ディスク容量が不足する可能性がありますので 注意してください 設定方法については メッセージのカスタマイズ を参照してください CGI プログラム実行の許可 Interstage HTTP Server では 以下のような方法で CGI プログラムの実行を許可することにより Web ブラウザから Web サーバ上に格納された CGI プログラムを動作させることができます 設定方法については CGI プログラム実行の許可 を参照してください CGI プログラム用のディレクトリを設定し そのディレクトリ配下に格納されたファイルを CGI プログラムとして実行します CGI プログラム用の拡張子を設定し その拡張子のファイルを CGI プログラムとして実行します

31 第 3 章環境設定 Web サーバを運用する前に 必要に応じて動作環境を設定します Web サーバの動作環境は Interstage 管理コンソールを使用して設定する方法と 環境定義ファイル (httpd.conf) を使用して設定する方法があります ここでは Interstage 管理コンソールにおける設定の概要と 環境定義ファイル (httpd.conf) の定義方法について説明します 3.1 Interstage 管理コンソール Interstage HTTP Server は Interstage 管理コンソールを使用して Web サーバの環境定義を設定します 以下のような環境定義を設定できます 基本定義 ( クライアントに公開するサーバ資源の最上位ディレクトリ ポート番号 ) 詳細定義 ( サーバのホスト名 タイムアウトなど ) Web サーバの作成 エラーログ アクセスログ SSL 定義 バーチャルホスト定義 Interstage 管理コンソールの操作は Interstage 管理コンソールを起動してログインし 以下の画面を使用して行います 基本定義の設定 [ システム ] > [ サービス ] > [Web サーバ ] > [Web サーバ名 ] > [Web サーバ : 状態 ] 画面の [ 環境設定 ] タブ > [Web サーバ : 環境設定 ] 画面 Web サーバの作成 [ システム ] > [ サービス ] > [Web サーバ ] > [Web サーバ : 一覧 ] 画面の [ 新規作成 ] タブ > [Web サーバ : 新規作成 ] 画面 バーチャルホスト定義の設定 [ システム ] > [ サービス ] > [Web サーバ ] > [Web サーバ名 ] > [ バーチャルホスト ] > [ バーチャルホスト : 一覧 ] 画面 Interstage 管理コンソールについては 運用ガイド ( 基本編 ) の Interstage 管理コンソールによる Interstage 運用 を Interstage 管理コンソールの各定義内容については Interstage 管理コンソールのヘルプを参照してください ポイント 上記は Interstage 管理コンソールのスタンドアロンサーバで環境設定を行う場合の操作手順です Interstage 管理コンソールの管理サーバで環境設定を行う場合の操作方法については 運用ガイド ( 基本編 ) の マルチサーバ管理機能 - Interstage の環境構築 - Interstage HTTP Server の環境構築 を参照してください 3.2 環境定義ファイル Interstage HTTP Server では 以下に格納されている環境定義ファイルを編集することにより各機能を設定することもできます Interstage 管理コンソールにおいて定義対象とされていない項目についても設定できます 格納先 ( インストールパスはデフォルト ) C:\Interstage\F3FMihs\servers\(Web サーバ名 )\conf\httpd.conf

32 ( インストールパスはデフォルト ) /var/opt/fjsvihs/servers/(web サーバ名 )/conf/httpd.conf /var/opt/fjsvihs/servers/(web サーバ名 )/conf/httpd.conf 注意 本ファイルの格納先は 上記ディレクトリから変更できません 本ファイルを編集した場合は 次回の Web サーバ起動時より有効となります 設定項目 環境定義ファイル (httpd.conf) は テキストエディタなどを使用して 編集します 以下に Interstage HTTP Server において環境定義ファイル (httpd.conf) を使用して設定可能な機能を示します 具体的な設定例については 以降の節を参照してください ホスト名 公開用ルートディレクトリ ポート番号と IP アドレス ログ - アクセスログ - エラーログ - トレースログ 認証とアクセス制御 - ユーザ認証 - IP アクセスコントロール バーチャルホスト URL の書き換え - 仮想ディレクトリ - リダイレクト機能 - リライト機能 サーバステータスの監視 コンテンツの圧縮機能の設定 プロキシ機能の設定 クライアントの同時接続数 ディレクトリリスト デフォルト MIME タイプの設定 MIME タイプ定義 デフォルト HTML ファイルの設定 セション管理機能

33 ユーザ追跡機能 クッキーログ 通信プロセス数の設定 通信プロセスに対する権限の設定 言語ベースのコンテンツネゴシエーション メッセージのカスタマイズ CGIプログラム実行の許可 ServletサービスのアプリケーションのURLに対するアクセス制御 ポイント 環境定義ファイル (httpd.conf) において 各行の先頭にハッシュマーク (#) が記述されている一文は コメント行です 以下のディレクティブの定義は 変更しないでください 変更した場合 Webサーバの動作を保証することはできません - PidFile - ServerRoot 環境定義ファイル (httpd.conf) で使用するディレクティブについては 付録 A ディレクティブ一覧 を参照してください ホスト名の設定 ホスト名は 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して設定します 例 サーバのホスト名 main.example.com を設定する場合 ServerName main.example.com 参考 ServerName 公開用ルートディレクトリの設定 公開用ルートディレクトリは 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して設定します 例 公開用ルートディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs を設定する場合 DocumentRoot "C:\Interstage\F3FMihs\servers\FJapache\htdocs"

34 公開用ルートディレクトリ /opt/fjsvihs/servers/fjapache/htdocs を設定する場合 DocumentRoot "/opt/fjsvihs/servers/fjapache/htdocs" 参考 DocumentRoot ポート番号と IP アドレスの設定 ポート番号および IP アドレスは 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して設定します 例 ポート番号 80 を設定する場合 Listen 80 IP アドレス およびポート番号 80 を設定する場合 Listen :80 IPv6 アドレス 2001:db8::a00:20ff:fea7:ccea およびポート番号 80 を設定する場合 Listen [2001:db8::a00:20ff:fea7:ccea]:80 注意 Web サーバでは 一般的に以下のポート番号が使用されます なお 80 および 443 以外のポート番号を指定する場合 Well Known ポートである 1 から 1023 はポートの衝突の危険性があるため 注意してください - HTTP(SSL 未使用時 ):80 - HTTPS(SSL 使用時 ):443 Listen ディレクティブに IPv6 アドレスを指定できません IPv6 環境で運用する場合は IP アドレスを指定せずにポート番号だけを指定してください 参考 Listen アクセスログの設定 アクセスログは 環境定義ファイル (httpd.conf) において 以下に示すディレクティブで ihsrlog コマンド実行文 またはログファイル名を指定することにより出力します

35 ihsrlogコマンド実行文を指定して時刻単位で設定する場合 ihsrlogコマンド実行文を指定して日付単位 時刻指定で設定する場合 ihsrlogコマンド実行文を指定して曜日単位 時刻指定で設定する場合 ihsrlogコマンド実行文を指定して日数単位で設定する場合 ihsrlogコマンド実行文を指定してファイルサイズ単位で設定する場合 フィルタリング機能を使用して特定のリクエストを出力しない場合 ポイント ihsrlog コマンド実行文を指定して出力させるログファイルは ログローテーションコマンド (ihsrlog) のオプション指定により それぞれのログローテーションを以下の 5 とおりの単位で指定できます - 時刻単位 (-T オプション指定時 ) - 日付単位 (-C オプション指定時 ) - 曜日単位 (-W オプション指定時 ) - 日数単位 (-d オプション指定時 ) - ファイルサイズ単位 (-s オプション指定時 ) 初期値は ログメッセージがログローテーションコマンド (ihsrlog) により以下のログファイル ( インストールディレクトリはデフォルト ) に出力される設定です なお ログファイルの出力先を以下の初期値から変更した場合 一括情報採取ツール (iscollectinfo コマンド ) では採取できません その場合 別途ログファイルを採取してください C:\Interstage\F3FMihs\servers\(Web サーバ名 )\logs\accesslog /var/opt/fjsvihs/servers/(web サーバ名 )/logs/accesslog フィルタリング機能を使用できます HTTP リクエストの属性に基づき SetEnvIf ディレクティブを設定することにより 特定の IP アドレスからのリクエスト または特定の URL へのリクエストなどのアクセスログを出力しないように指定できます 出力するログの項目については アクセスログ を参照してください 出力するログの項目をカスタマイズする場合は メッセージのカスタマイズ を参照してください 注意 ログローテーションを行わない場合は ディスク容量を圧迫する可能性がありますので ログローテーションを行うことを推奨します なお ログローテーションを行う場合は ihsrlog コマンド実行文で指定したログファイル数の上限値に達した際に 最も古いログファイルを削除して新しいログファイルを作成します メインホストおよびバーチャルホスト または異なるディレクティブで 同じログファイルを指定しないでください また 複数 Web サーバを運用している場合は 他の Web サーバと同じログファイルを指定しないでください 万が一 同一のファイル名を指定した場合 ログファイルの内容およびログローテーションの動作を保障できません ihsrlog コマンドの詳細については リファレンスマニュアル ( コマンド編 ) の ihsrlog を参照してください TransferLog ディレクティブを使用して設定することもできます

36 ihsrlog コマンド実行文を指定して時刻単位で設定する場合 例 アクセスログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog ファイル数の上限値 :5 CustomLog " ihsrlog.exe -T logs/accesslog 0900,1700 5" ihs-analysis アクセスログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/accesslog ファイル数の上限値 :5 CustomLog " /opt/fjsvihs/bin/ihsrlog -T logs/accesslog 0900,1700 5" ihs-analysis ihsrlog コマンド実行文を指定して日付単位 時刻指定で設定する場合 例 アクセスログのログローテーションを以下の条件で行う場合 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog ファイル数の上限値 :5 CustomLog " ihsrlog.exe -C logs/accesslog 1,11,21 5" ihs-analysis アクセスログのログローテーションを以下の条件で行う場合 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/accesslog ファイル数の上限値 :5 CustomLog " /opt/fjsvihs/bin/ihsrlog -C logs/accesslog 1,11,21 5" ihs-analysis

37 注意 毎月 31 日にローテーションを行うように設定しても 31 日が存在しない月は ローテーションが行われません 月末にローテーションを行いたい場合は 1 日 00 時 00 分にローテーションを行うなどの設定を検討してください ihsrlog コマンド実行文を指定して曜日単位 時刻指定で設定する場合 例 アクセスログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog ファイル数の上限値 :5 CustomLog " ihsrlog.exe -W logs/accesslog Mon,Sat 5" ihs-analysis アクセスログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/accesslog ファイル数の上限値 :5 CustomLog " /opt/fjsvihs/bin/ihsrlog -W logs/accesslog Mon,Sat 5" ihs-analysis ihsrlog コマンド実行文を指定して日数単位で設定する場合 例 アクセスログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Webサーバ起動日の00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog ファイル数の上限値 :5 CustomLog " ihsrlog.exe -d logs/accesslog 1 5" ihs-analysis アクセスログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Web サーバ起動日の 00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時

38 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/accesslog ファイル数の上限値 :5 CustomLog " /opt/fjsvihs/bin/ihsrlog -d logs/accesslog 1 5" ihs-analysis ihsrlog コマンド実行文を指定してファイルサイズ単位で設定する場合 例 アクセスログのログローテーションを以下の条件で行う場合 ファイルサイズ :1Mバイト ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog ファイル数の上限値 :5 CustomLog " ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis アクセスログのログローテーションを以下の条件で行う場合 ファイルサイズ :1Mバイト ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/accesslog ファイル数の上限値 :5 CustomLog " /opt/fjsvihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis フィルタリング機能を使用して特定のリクエストを出力しない場合 例 アクセスログを以下の条件で出力する場合 IP アドレス からのリクエストをアクセスログに出力しない ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so" SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr CustomLog " ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_remote_addr アクセスログを以下の条件で出力する場合 URL /abc/ 配下へのリクエストをアクセスログに出力しない ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so" SetEnvIf Request_URI "^/abc/" nolog_request_uri CustomLog " ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_uri アクセスログを以下の条件で出力する場合 メソッド HEAD のリクエストをアクセスログに出力しない

39 ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so" SetEnvIf Request_Method HEAD nolog_request_method CustomLog " ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_method アクセスログを以下の条件で出力する場合 IP アドレス からのリクエストをアクセスログに出力しない ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module /opt/fjsvihs/modules/mod_setenvif.so SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr CustomLog " /opt/fjsvihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_remote_addr アクセスログを以下の条件で出力する場合 URL /abc/ 配下へのリクエストをアクセスログに出力しない ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module /opt/fjsvihs/modules/mod_setenvif.so SetEnvIf Request_URI "^/abc/" nolog_request_uri CustomLog " /opt/fjsvihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_uri アクセスログを以下の条件で出力する場合 メソッド HEAD のリクエストをアクセスログに出力しない ファイルサイズ単位でログローテーションを行う LoadModule setenvif_module /opt/fjsvihs/modules/mod_setenvif.so SetEnvIf Request_Method HEAD nolog_request_method CustomLog " /opt/fjsvihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_method 参考 CustomLog LoadModule SetEnvIf エラーログの設定 エラーログは 環境定義ファイル (httpd.conf) において 以下に示すディレクティブで ihsrlog コマンド実行文 またはログファイル名を指定することにより出力します ihsrlog コマンド実行文を指定して時刻単位で設定する場合 ihsrlog コマンド実行文を指定して日付単位 時刻指定で設定する場合 ihsrlog コマンド実行文を指定して曜日単位 時刻指定で設定する場合 ihsrlog コマンド実行文を指定して日数単位で設定する場合 ihsrlog コマンド実行文を指定してファイルサイズ単位で設定する場合

40 ポイント ihsrlog コマンド実行文を指定して出力させるログファイルは ログローテーションコマンド (ihsrlog) のオプション指定により それぞれのログローテーションを以下の 5 とおりの単位で指定できます - 時刻単位 (-T オプション指定時 ) - 日付単位 (-C オプション指定時 ) - 曜日単位 (-W オプション指定時 ) - 日数単位 (-d オプション指定時 ) - ファイルサイズ単位 (-s オプション指定時 ) 初期値は ログメッセージがログローテーションコマンド (ihsrlog) により以下のログファイル ( インストールディレクトリはデフォルト ) に出力される設定です なお ログファイルの出力先を以下の初期値から変更した場合 一括情報採取ツール (iscollectinfo コマンド ) では採取できません その場合 別途ログファイルを採取してください C:\Interstage\F3FMihs\servers\(Web サーバ名 )\logs\errorlog /var/opt/fjsvihs/servers/(web サーバ名 )/logs/errorlog 出力するログの項目については エラーログ を参照してください 注意 ログローテーションを行わない場合は ディスク容量を圧迫する可能性がありますので ログローテーションを行うことを推奨します なお ログローテーションを行う場合は ihsrlog コマンド実行文で指定したログファイル数の上限値に達した際に 最も古いログファイルを削除して新しいログファイルを作成します ihsrlog コマンドの詳細については リファレンスマニュアル ( コマンド編 ) の ihsrlog を参照してください メインホストおよびバーチャルホスト または異なるディレクティブで 同じログファイルを指定しないでください また 複数 Web サーバを運用している場合は 他の Web サーバと同じログファイルを指定しないでください 万が一 同一のファイル名を指定した場合 ログファイルの内容およびログローテーションの動作を保障できません ihsrlog コマンド実行文を指定して時刻単位で設定する場合 例 エラーログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\errorlog ファイル数の上限値 :5 ErrorLog " ihsrlog.exe -T logs/errorlog 0900,1700 5"

41 エラーログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/errorlog ファイル数の上限値 :5 ErrorLog " /opt/fjsvihs/bin/ihsrlog -T logs/errorlog 0900,1700 5" ihsrlog コマンド実行文を指定して日付単位 時刻指定で設定する場合 例 エラーログのログローテーションを以下の条件で行う場合 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\errorlog ファイル数の上限値 :5 ErrorLog " ihsrlog.exe -C logs/errorlog 1,11,21 5" エラーログのログローテーションを以下の条件で行う場合 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/errorlog ファイル数の上限値 :5 ErrorLog " /opt/fjsvihs/bin/ihsrlog -C logs/errorlog 1,11,21 5" 注意 毎月 31 日にローテーションを行うように設定しても 31 日が存在しない月は ローテーションが行われません 月末にローテーションを行いたい場合は 1 日 00 時 00 分にローテーションを行うなどの設定を検討してください ihsrlog コマンド実行文を指定して曜日単位 時刻指定で設定する場合 例 エラーログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分

42 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\errorlog ファイル数の上限値 :5 ErrorLog " ihsrlog.exe -W logs/errorlog Mon,Sat 5" エラーログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/errorlog ファイル数の上限値 :5 ErrorLog " /opt/fjsvihs/bin/ihsrlog -W logs/errorlog Mon,Sat 5" ihsrlog コマンド実行文を指定して日数単位で設定する場合 例 エラーログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Webサーバ起動日の00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\errorlog ファイル数の上限値 :5 ErrorLog " ihsrlog.exe -d logs/errorlog 1 5" エラーログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Webサーバ起動日の00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/errorlog ファイル数の上限値 :5 ErrorLog " /opt/fjsvihs/bin/ihsrlog -d logs/errorlog 1 5" ihsrlog コマンド実行文を指定してファイルサイズ単位で設定する場合 例 エラーログのログローテーションを以下の条件で行う場合 ファイルサイズ :1M バイト

43 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\errorlog ファイル数の上限値 :5 ErrorLog " ihsrlog.exe -s logs/errorlog 1 5" エラーログのログローテーションを以下の条件で行う場合 ファイルサイズ :1Mバイト ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/errorlog ファイル数の上限値 :5 ErrorLog " /opt/fjsvihs/bin/ihsrlog -s logs/errorlog 1 5" 参考 ErrorLog トレースログの設定 トレースログは常に出力されます 環境定義ファイル (httpd.conf) において 以下に示すディレクティブで ihsrlog コマンド実行文 またはログファイル名を指定することにより出力方法を変更することができます ihsrlog コマンド実行文を指定して時刻単位で設定する場合 ihsrlog コマンド実行文を指定して日付単位 時刻指定で設定する場合 ihsrlog コマンド実行文を指定して曜日単位 時刻指定で設定する場合 ihsrlog コマンド実行文を指定して日数単位で設定する場合 ihsrlog コマンド実行文を指定してファイルサイズ単位で設定する場合 ポイント トレースログを出力させないようにするには IHSTrace ディレクティブに Off を設定してください ihsrlog コマンド実行文を指定して出力させるログファイルは ログローテーションコマンド (ihsrlog) のオプション指定により それぞれのログローテーションを以下の 5 とおりの単位で指定できます - 時刻単位 (-T オプション指定時 ) - 日付単位 (-C オプション指定時 ) - 曜日単位 (-W オプション指定時 ) - 日数単位 (-d オプション指定時 ) - ファイルサイズ単位 (-s オプション指定時 ) 初期値は ログメッセージがログローテーションコマンド (ihsrlog) により以下のログファイル ( インストールディレクトリはデフォルト ) に出力される設定です また IHSTraceLog ディレクティブを設定しない場合も以下のログファイルに出力されます なお ログファイルの出力先を以下の初期値から変更した場合 一括情報採取ツール (iscollectinfo コマンド ) では採取できません その場合 別途ログファイルを採取してください

44 C:\Interstage\F3FMihs\servers\(Web サーバ名 )\logs\tracelog /var/opt/fjsvihs/servers/(web サーバ名 )/logs/tracelog 出力するログの項目については トレースログ を参照してください 注意 ログローテーションを行わない場合は ディスク容量を圧迫する可能性がありますので ログローテーションを行うことを推奨します なお ログローテーションを行う場合は ihsrlog コマンド実行文で指定したログファイル数の上限値に達した際に 最も古いログファイルを削除して新しいログファイルを作成します ihsrlog コマンドの詳細については リファレンスマニュアル ( コマンド編 ) の ihsrlog を参照してください メインホストおよびバーチャルホスト または異なるディレクティブで 同じログファイルを指定しないでください また 複数 Web サーバを運用している場合は 他の Web サーバと同じログファイルを指定しないでください 万が一 同一のファイル名を指定した場合 ログファイルの内容およびログローテーションの動作を保障できません ihsrlog コマンド実行文を指定して時刻単位で設定する場合 例 トレースログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " ihsrlog.exe -T logs/tracelog 0900,1700 5" トレースログのログローテーションを以下の条件で行う場合 ローテーション時刻 :09 時 00 分 17 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " /opt/fjsvihs/bin/ihsrlog -T logs/tracelog 0900,1700 5" ihsrlog コマンド実行文を指定して日付単位 時刻指定で設定する場合 例 トレースログのログローテーションを以下の条件で行う場合

45 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " ihsrlog.exe -C logs/tracelog 1,11,21 5" トレースログのログローテーションを以下の条件で行う場合 日付 : 毎月 1 日 11 日 21 日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " /opt/fjsvihs/bin/ihsrlog -C logs/tracelog 1,11,21 5" 注意 毎月 31 日にローテーションを行うように設定しても 31 日が存在しない月は ローテーションが行われません 月末にローテーションを行いたい場合は 1 日 00 時 00 分にローテーションを行うなどの設定を検討してください ihsrlog コマンド実行文を指定して曜日単位 時刻指定で設定する場合 例 トレースログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " ihsrlog.exe -W logs/tracelog Mon,Sat 5" トレースログのログローテーションを以下の条件で行う場合 曜日 : 毎週月曜日 土曜日 ローテーション時刻 :00 時 00 分 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/tracelog

46 ファイル数の上限値 :5 IHSTrace On IHSTraceLog " /opt/fjsvihs/bin/ihsrlog -W logs/tracelog Mon,Sat 5" ihsrlog コマンド実行文を指定して日数単位で設定する場合 例 トレースログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Web サーバ起動日の 00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時 ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " ihsrlog.exe -d logs/tracelog 1 5" トレースログのログローテーションを以下の条件で行う場合 日数 :1 日 ローテーション時刻 : Web サーバ起動日の 00 時 00 分から日数 (1 日 ) 24 時間 経過後の次のログ出力時 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " /opt/fjsvihs/bin/ihsrlog -d logs/tracelog 1 5" ihsrlog コマンド実行文を指定してファイルサイズ単位で設定する場合 例 トレースログのログローテーションを以下の条件で行う場合 ファイルサイズ :2M バイト ファイル名 :C:\Interstage\F3FMihs\servers\FJapache\logs\tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " ihsrlog.exe -s logs/tracelog 2 5" トレースログのログローテーションを以下の条件で行う場合 ファイルサイズ :2M バイト

47 ファイル名 :/var/opt/fjsvihs/servers/fjapache/logs/tracelog ファイル数の上限値 :5 IHSTrace On IHSTraceLog " /opt/fjsvihs/bin/ihsrlog -s logs/tracelog 2 5" 参考 IHSTrace IHSTraceLog ユーザ認証の設定 ユーザ認証は 以下の手順で設定します 1. ユーザのパスワード登録 2. 環境定義ファイル (httpd.conf) の編集 注意 オンライン照合機能を使用する場合 ユーザ認証は使用できません (1) ユーザのパスワード登録 コマンドプロンプト上で htpasswd コマンドを使用して アクセス制御を許可するユーザのパスワードをパスワードファイルに登録します 例 新規にパスワードファイル C:\Interstage\F3FMihs\servers\FJapache\conf\password.txt を作成して ユーザ user1 のパスワードを登録する場合 htpasswd -c C:\Interstage\F3FMihs\servers\FJapache\conf\password.txt user1 新規にパスワードファイル /opt/fjsvihs/servers/fjapache/conf/password.txt を作成して ユーザ user1 のパスワードを登録する場合 /opt/fjsvihs/bin/htpasswd -c /opt/fjsvihs/servers/fjapache/conf/password.txt user1 ポイント 2 人目以降のユーザを登録する場合 および既存のユーザのパスワードを変更する場合は htpasswd コマンド実行時に -c オプションを指定する必要はありません

48 ユーザを削除する場合は パスワードファイルをテキストエディタで編集する必要があります パスワードファイルはテキストエディタで参照すると以下のように記述されていますので user2 を削除する場合は user2 の行を削除して格納してください user1:$apr1$sr3...$4aqae2eu9nzttbkxmeoa4/ user2:$apr1$ds3...$teb4eylhraac1p2wiygtv/ (2) 環境定義ファイルの編集 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して 指定ディレクトリ配下をパスワードファイルに登録したユーザからのアクセスだけを許可するように設定します これにより Web ブラウザからのアクセス要求を行った際にユーザ名 パスワードを確認し パスワードファイルに登録されているユーザ名 パスワード以外のアクセスは拒否されます 注意 Servlet サービスのアプリケーションの URL に対してユーザ認証を設定する場合は 以下の設定例の <Directory> セクションは使用できません <Location> セクションを使用してください 例 指定したディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\users\name 配下を パスワードファイル C:\Interstage\F3FMihs \servers\fjapache\conf\password.txt に登録されているユーザのアクセスだけを許可する場合 LoadModule auth_module "C:/Interstage/F3FMihs/modules/mod_auth.so" <Directory "C:/Interstage/F3FMihs/servers/FJapache/htdocs/users/name"> AuthUserFile "C:/Interstage/F3FMihs/servers/FJapache/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user </Directory> 指定したディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/users/name 配下を パスワードファイル /opt/fjsvihs/servers/fjapache/ conf/password.txt に登録されているユーザのアクセスだけを許可する場合 LoadModule auth_module "/opt/fjsvihs/modules/mod_auth.so" <Directory "/opt/fjsvihs/servers/fjapache/htdocs/users/name"> AuthUserFile "/opt/fjsvihs/servers/fjapache/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user </Directory> 参考 AuthName AuthType AuthUserFile <Directory> LoadModule

49 Require IP アクセスコントロールの設定 IP アクセスコントロールは 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して 指定ディレクトリ配下を指定ホストからのアクセスだけを許可するように設定します これにより Web ブラウザからのアクセス要求を行った際 指定ホスト以外のアクセスは拒否されます 注意 Servlet サービスのアプリケーションの URL に対して IP アクセスコントロールを設定する場合は 以下の設定例の <Directory> セクションは使用できません <Location> セクションを使用してください 設定例については Servlet サービスのアプリケーションの URL に対するアクセス制御 を参照してください 例 指定したディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\secret 配下を 指定したホスト からのアクセスだけを許可する場合 <Directory "C:/Interstage/F3FMihs/servers/FJapache/htdocs/secret"> Order deny,allow Deny from all Allow from </Directory> 指定したディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\secret 配下を 指定したホスト 2001:db8::a00:20ff:fea7:ccea からのアクセスだけを許可する場合 <Directory "C:/Interstage/F3FMihs/servers/FJapache/htdocs/secret"> Order deny,allow Deny from all Allow from 2001:db8::a00:20ff:fea7:ccea </Directory> 指定したディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\secret 配下を 指定したドメイン allow-domain.com からのアクセスだけを許可する場合 <Directory "C:/Interstage/F3FMihs/servers/FJapache/htdocs/secret"> Order deny,allow Deny from all Allow from allow-domain.com </Directory> 指定したディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/secret 配下を 指定したホスト からのアクセスだけを許可する場合 <Directory "/opt/fjsvihs/servers/fjapache/htdocs/secret"> Order deny,allow Deny from all Allow from </Directory>

50 指定したディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/secret 配下を 指定したホスト 2001:db8::a00:20ff:fea7:ccea からのアクセスだけを許可する場合 <Directory "/opt/fjsvihs/servers/fjapache/htdocs/secret"> Order deny,allow Deny from all Allow from 2001:db8::a00:20ff:fea7:ccea </Directory> 指定したディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/secret 配下を 指定したドメイン allow-domain.com からのアクセスだけを許可する場合 <Directory "/opt/fjsvihs/servers/fjapache/htdocs/secret"> Order deny,allow Deny from all Allow from allow-domain.com </Directory> 参考 Allow Deny <Directory> Order バーチャルホストの設定 バーチャルホスト機能は 環境定義ファイル (httpd.conf) において IP/ ポート番号ベースのバーチャルホスト ( 複数の IP アドレス / ポート番号を設定する ) またはネームベースのバーチャルホスト (1 つの IP アドレスに対して複数のホスト名を設定する ) を設定して Web ブラウザから複数のマシンを仮想的に利用します それぞれの環境定義ファイル (httpd.conf) の設定例を以下に示します IPベースのバーチャルホスト ポート番号ベースのバーチャルホスト IPおよびポート番号ベースのバーチャルホスト ネームベースのバーチャルホスト IP ベースのバーチャルホスト 例 メインホスト main.example.com を IP アドレス バーチャルホスト virt.example.com を IP アドレス として設定する場合 ServerAdmin ServerName main.example.com... <VirtualHost >

51 ServerName virt.example.com ServerAdmin </VirtualHost> バーチャルホスト virt.example.com を IPv6 アドレス 2001:db8::a00:20ff:fea7:ccea として設定する場合 ServerAdmin ServerName main.example.com... <VirtualHost [2001:db8::a00:20ff:fea7:ccea]> ServerName virt.example.com ServerAdmin </VirtualHost> ポート番号ベースのバーチャルホスト 例 バーチャルホスト virt1.example.com をポート番号 8000 バーチャルホスト virt2.example.com をポート番号 9000 として設定する場合 ServerAdmin ServerName main.example.com... Listen 8000 Listen 9000 <VirtualHost _default_:8000> ServerName virt1.example.com ServerAdmin </VirtualHost> <VirtualHost _default_:9000> ServerName virt2.example.com ServerAdmin </VirtualHost> IP およびポート番号ベースのバーチャルホスト 例 バーチャルホスト virt1.example.com を IP アドレス およびポート番号 8000 バーチャルホスト virt2.example.com を IP アドレス およびポート番号 9000 として設定する場合 ServerAdmin ServerName main.example.com... Listen :8000 Listen :

52 <VirtualHost :8000> ServerName virt1.example.com ServerAdmin </VirtualHost> <VirtualHost :9000> ServerName virt2.example.com ServerAdmin </VirtualHost> バーチャルホスト virt1.example.com を IPv6 アドレス 2001:db8::a00:20ff:fea7:ccea およびポート番号 8000 バーチャルホスト virt2.example.com を IPv6 アドレス 2001:db8::a00:20ff:fea7:cceb およびポート番号 9000 として設定する場合 ServerAdmin ServerName main.example.com... Listen 8000 Listen <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt1.example.com ServerAdmin </VirtualHost> <VirtualHost [2001:db8::a00:20ff:fea7:cceb]:9000> ServerName virt2.example.com ServerAdmin </VirtualHost> ネームベースのバーチャルホスト 注意 SSL は 使用できません <VirtualHost> セクションと NameVirtualHost ディレクティブには 同じ値を設定してください ServerName ディレクティブは 必ず設定してください クライアントからのリクエストは <VirtualHost> セクション内に指定された ServerName ディレクティブで切り分けられます リクエストが ServerName ディレクティブで切り分けられない場合 (IP アドレスが指定された場合など ) は 環境定義ファイル (httpd.conf) で設定されているネームベースのバーチャルホストの中で先頭のバーチャルホストがリクエストを受け付けます NameVirtualHost ディレクティブで指定した IP アドレス [: ポート番号 ] で クライアントからのリクエストを受け付けた場合 メインホストではなく その IP アドレス [: ポート番号 ] のバーチャルホストで受け付けます メインホストの ServerName DocumentRoot ディレクティブなどの設定でリクエストを受け付けたい場合は バーチャルホストとして新規に追加してください <VirtualHost> セクションを作成し メインホストの ServerName DocumentRoot ディレクティブなどを設定してください 例 ネームベースのバーチャルホスト virt1.example.com および virt2.example.com を設定する場合

53 ServerAdmin ServerName main.example.com... Listen :8000 NameVirtualHost :8000 <VirtualHost :8000> ServerName virt1.example.com ServerAdmin </VirtualHost> <VirtualHost :8000> ServerName virt2.example.com ServerAdmin </VirtualHost> ネームベースのバーチャルホスト virt1.example.com および virt2.example.com を設定する場合 (IPv6 アドレス使用時 ) ServerAdmin ServerName main.example.com... Listen 8000 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt1.example.com ServerAdmin </VirtualHost> <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt2.example.com ServerAdmin </VirtualHost> 参考 Listen NameVirtualHost ServerAdmin ServerName <VirtualHost> 仮想ディレクトリの設定 仮想ディレクトリ機能は 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して 指定したディレクトリを仮想ディレクトリに設定します

54 例 ディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\mydirectory\issue\news を仮想ディレクトリ news に設定する場合 Alias /news C:/Interstage/F3FMihs/servers/FJapache/htdocs/mydirectory/issue/news ディレクトリ C:\Interstage\F3FMihs\servers\FJapache\htdocs\mydirectory\issue\news を仮想ディレクトリ news で始まるパスに設定する場合 AliasMatch ^/news(.*) C:/Interstage/F3FMihs/servers/FJapache/htdocs/mydirectory/issue/news$1 ディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/mydirectory/issue/news を仮想ディレクトリ news に設定する場合 Alias /news /opt/fjsvihs/servers/fjapache/htdocs/mydirectory/issue/news ディレクトリ /opt/fjsvihs/servers/fjapache/htdocs/mydirectory/issue/news を仮想ディレクトリ news で始まるパスに設定する場合 AliasMatch ^/news(.*) /opt/fjsvihs/servers/fjapache/htdocs/mydirectory/issue/news$1 参考 Alias AliasMatch リダイレクト機能の設定 リダイレクト機能は 環境定義ファイル (httpd.conf) において 以下に示すディレクティブを使用して設定します 注意 Servlet サービスのアプリケーションの URL に対してリダイレクトを設定する場合は <Location> セクションの中に Redirect ディレクティブまたは RedirectMatch ディレクティブを設定してください 例 /info を にリダイレクトする場合 Redirect seeother /info SSL 環境を構築している場合は リダイレクトパスとして設定する URL に SSL 通信を行う https を指定することもできます Redirect seeother /info https://www.company.com/info GIF ファイルを他のサーバ (www.company.com) の同じの JPEG ファイルにリダイレクトする場合

55 RedirectMatch (.*)\.gif$ 参考 Redirect RedirectMatch リライト機能の設定 リライト機能は 環境定義ファイル (httpd.conf) において URL を書き換える条件および書き換えのルールを正規表現で設定し その書き換え条件やルールを満たしている場合に URL を書き換えます リライト機能の設定例を以下に示します クライアントのIPアドレスによりURLを書き換える場合 リクエストURLの否定条件によりURLを書き換える場合 リクエストメソッドの種類によりアクセスを禁止する場合 ブラウザの種類により異なるページを表示する場合 ServletサービスのアプリケーションのURLをリダイレクトする場合 書き換えたURLをプロキシ要求として動作させる場合 書き換えたURLでCGIを実行させる場合 注意 バーチャルホストでは バーチャルホストごとにリライト機能のディレクティブを設定してください Servlet サービスのアプリケーションの URL に対してリライト機能を設定する場合は <Location> セクションの中に リライト機能のディレクティブを設定してください 書き換えた URL が Servlet サービスのアプリケーションの URL である場合 外部リダイレクトの指定だけが有効となります クライアントの IP アドレスにより URL を書き換える場合 例 クライアントの IP アドレスが で始まる場合 URL を /ext に内部リダイレクトする LoadModule rewrite_module "C:/Interstage/F3FMihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{REMOTE_ADDR} ^192\.168\.0\. RewriteRule ^/(.*)$ /ext/$1-48 -

56 LoadModule rewrite_module "/opt/fjsvihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{REMOTE_ADDR} ^192\.168\.0\. RewriteRule ^/(.*)$ /ext/$1 リクエスト URL の否定条件により URL を書き換える場合 例 Web ブラウザ ( クライアント ) から先頭文字列が /somepath ではない URL が指定された場合 URL を otherhost に外部リダイレクトする LoadModule rewrite_module "C:/Interstage/F3FMihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{REQUEST_URI}!^/somepath RewriteRule ^/(.*)$ LoadModule rewrite_module "/opt/fjsvihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{REQUEST_URI}!^/somepath RewriteRule ^/(.*)$ リクエストメソッドの種類によりアクセスを禁止する場合 例 HEAD メソッドまたは OPTIONS メソッドのリクエストを受け付けた場合 ステータスコード 403 (Forbidden) で応答する LoadModule rewrite_module "C:/Interstage/F3FMihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(HEAD OPTIONS)$ RewriteRule.* - [F] LoadModule rewrite_module "/opt/fjsvihs/modules/mod_rewrite.so" RewriteEngine On

57 RewriteCond RewriteRule %{REQUEST_METHOD} ^(HEAD OPTIONS)$.* - [F] ブラウザの種類により異なるページを表示する場合例アクセスされたWebブラウザの種類により 異なるページを表示する Internet Explorerの場合 : ファイル名に -i を付加したhtmlページ Internet Explorer 以外の場合 : ファイル名に -o を付加したhtmlページ LoadModule rewrite_module "C:/Interstage/F3FMihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{HTTP_USER_AGENT}.*MSIE.* RewriteRule ^/(.*)\.html /$1-i.html [L] RewriteRule ^/(.*)\.html /$1-o.html [L] LoadModule rewrite_module "/opt/fjsvihs/modules/mod_rewrite.so" RewriteEngine On RewriteCond %{HTTP_USER_AGENT}.*MSIE.* RewriteRule ^/(.*)\.html /$1-i.html [L] RewriteRule ^/(.*)\.html /$1-o.html [L] Servlet サービスのアプリケーションの URL をリダイレクトする場合 例 Web ブラウザ ( クライアント ) から Servlet サービスのアプリケーション識別子 sample1 の URL が指定された場合 URL を sample2 に外部リダイレクトする注 )RewriteRule ディレクティブで評価される URL は <Location> セクションで指定した URL /sample1/ を除いた部分になります LoadModule rewrite_module "C:/Interstage/F3FMihs/modules/mod_rewrite.so" <Location /sample1/> RewriteEngine On RewriteRule ^(.*)$ /sample2/$1 [R] </Location>