2012年11月23日金曜日

Apache設定ファイル-1

◆Global Environment
ServerType standalone
 サーバーの起動方法。他に「inetd」が設定可能だが、「standalone」になります。

ServerRoot "C:/Program Files/Apache Group/Apache"

 サーバーのルートディレクトリ
 Apacheインストール時に設定した内容が反映されています。重要なコンテンツを含んだセキュアなサイトを公開するような方は、ここでルートディレクトリを変更することができますが、通常はこのままで構いません。
 また、「httpd.conf」のパスの指定の際には「¥(エン)」ではなく「/(スラッシュ)」を使用

PidFile logs/httpd.pid

 プロセス番号記録ファイル
 Pid(Process IDentification number:プロセス番号)を記録するファイルの指定を行うディレクティブです。Windowsの方は特に変える必要なし。

ScoreBoardFile logs/apache_runtime_status

 内部情報ファイル
 Apacheの内部情報を記録するためのファイルを指定します。Apacheが動作する上で必要となるファイルなので、このディレクティブは変更しない。

Timeout 300
 タイムアウトまでの時間
 クライアント接続要求を受け取ってから、コンテンツを提供するまでの連続してパケットを送信する時間の最大値を指定します。単位は秒単位です。
 ここで設定した時間を過ぎてもパケットが送信されない場合、ブラウザはエラーメッセージを表示するようになります。クライアントの回線の速度にもよりますが、1ページあたりの送出データがよほど重くない限りは、300秒あれば十分といえるでしょう。それを超える値も設定できますが、サーバーに余分な負荷がかかるので適度な値に設定するようにしてください。

 KeepAlive On
 キープアライブ
 クライアントからの要求があり、いったんコンテンツを提供した後もコネクションを閉じずに次の要求に対してすぐに応答できるようにする機能です。通常はアクセスがあった場合、リンク部分をたどって他のページを見にいこうとするので、このディレクティブが「On」になっているとパフォーマンスが向上します。

MaxKeepAliveRequests 100
 最大キープアライブ値
 各々の接続に対するキープアライブの最大数を指定するディレクティブです。この値を「0」にすると無制限になりますが、サーバーへの負荷も考えるとデフォルトの100のままで良いでしょう。実際に、運用していって問題があるようなら値を変更してパフォーマンスとのバランスを取るようにしてください。

KeepAliveTimeout 15

 キープアライブタイムアウトまでの時間
 ひとつの要求が完了してから、コネクションを切断しないで次の要求を受け入れるまでの時間を指定するディレクティブです。単位は秒単位です。この値が短すぎてもサーバーへの負荷が増大し、反対に長すぎるとレスポンスが悪くなるので適度な値を指定するようにしてください。

#MaxRequestsPerChild 0
 子プロセスの処理可能数
 Apacheはクライアントから要求があるたびに子プロセスを作り、リクエストに応じます。このディレクティブでは子プロセスが終了するまでに処理可能な要求の数を指定します。この機能はUNIX系OSでのみ有効で、ウィンドウズでは無効とされるのでハッシュマーク(#)をつけてコメントアウトしても構いません。

ThreadsPerChild 50

 リクエストを処理する子スレッドの最大数
 Apacheが提供するWebページが同時に処理できるヒット数を指定するディレクティブです。これはウィンドウズ系Apache固有のものでUNIX系OS用のApacheにはついていません。デフォルトで問題ありません。

ClearModuleList

 組み込まれたモジュールリストのクリア
 Section2以降で述べる「AddModule」ディレクティブによって組み込まれた実行可能なモジュールのリストをクリアする指定です。Apacheの起動時は「httpd.conf」の行頭から順に処理をしていくので、ここでモジュールをクリアして、その後で、モジュールの組み込みを行うという段取りをとります。このままにしておいてください。

・・・
AddModule mod_so.c

AddModule mod_setenvif.c
 モジュールの組み込み
 Apacheは基本的な機能の他にモジュールを組み込むことによって、機能を拡張することができます。これらのディレクティブでは、引数として指定されたモジュールの組み込みを行います。