You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by Yoshiki Hayashi <yo...@xemacs.org> on 2000/12/18 12:15:28 UTC

httpd-docs-1.3/htdocs/manual/server-wide.html.ja.jis

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Server-Wide Configuration</TITLE>
</HEAD>
<!-- English revision: 1.6 -->

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 align="center">サーバ全体の設定</h1>

<p>このドキュメントでは<a href="mod/core.html">コア</a>サーバの
ディレクティブの中で、基本動作を設定するためのものを説明します。</p>

<ul>
<li><a href="#identification">サーバ ID</a></li>
<li><a href="#locations">ファイルの位置</a></li>
<li><a href="#process">プロセス生成</a></li>
<li><a href="#network">ネットワーク設定</a></li>
<li><a href="#resource">リソースの制限</a></li>
</ul>

<hr>

<h2><a name="identfication">サーバ ID</a></h2>

<table border="1">
<tr><td valign="top">
<strong>関連ディレクティブ</strong><br><br>

<A HREF="mod/core.html#servername">ServerName</A><br>
<A HREF="mod/core.html#serveradmin">ServerAdmin</A><br>
<A HREF="mod/core.html#serversignature">ServerSignature</A><br>
<A HREF="mod/core.html#servertokens">ServerTokens</A><br>
<A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A><br>
</td></tr></table>

<p><code>ServerAdmin</code> ディレクティブと <code>ServerTokens</code>
ディレクティブは、エラーメッセージなどのサーバが作るドキュメントに、
どのようなサーバの情報を表示するかを制御します。<code>ServerTokens</code>
ディレクティブは Server HTTP レスポンスヘッダフィールドの値を
設定します。</p>

<p><code>ServerName</code> ディレクティブと <code>UseCanonicalName</code>
ディレクティブはサーバが自分自身を参照する URL を作るときに
使われます。たとえば、クライアントがディレクトリを要求して、
そのディレクトリ名の最後にスラッシュが付いていないような場合には、
ドキュメントの相対的な参照を正しく解決できるようにするために、
Apache は最後のスラッシュを含んだ完全なパスにクライアントを
リダイレクトする必要があります。</p>

<hr>

<h2><a name="locations">ファイルの位置</a></h2>

<table border="1">
<tr><td valign="top">
<strong>関連ディレクティブ</strong><br><br>

<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br>
<a href="mod/core.html#documentroot">DocumentRoot</a><br>
<a href="mod/core.html#errorlog">ErrorLog</a><br>
<a href="mod/core.html#lockfile">Lockfile</a><br>
<a href="mod/core.html#pidfile">PidFile</a><br>
<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br>
<a href="mod/core.html#serverroot">ServerRoot</a><br>
</td></tr></table>

<p>これらのディレクティブは Apache が適切な動作をするために必要な
各種ファイルの位置を制御します。パスがスラッシュ "/" で始まっていない
ときは、ファイルは <code>ServerRoot</code> からの相対パスとして
探されます。root 以外のユーザから書き込み可能なパスにファイルを
置かないように注意してください。詳細は<a
href="misc/security_tips.html">「セキュリティ情報」</a>を
参照してください。</p>

<hr>

<h2><a name="process">プロセス生成</a></h2>

<table border="1">
<tr><td valign="top">
<strong>関連ディレクティブ</strong><br><br>

<a href="mod/core.html#bs2000account">BS2000Account</a><br>
<a href="mod/core.html#group">Group</a><br>
<a href="mod/core.html#maxclients">MaxClients</a><br>
<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br>
<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br>
<a href="mod/core.html#minspareservers">MinSpareServers</a><br>
<a href="mod/core.html#servertype">ServerType</a><br>
<a href="mod/core.html#startservers">StartServers</a><br>
<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br>
<a href="mod/core.html#user">User</a><br>
</td></tr></table>

<p><code>ServerType</code> が推薦されている値、<code>Standalone</code>
に設定されている場合は Unix 上での Apache は pre-forking サーバです。
そこでは単独の制御プロセスが子プロセスを起動する責任を持ちます。
そして、その子プロセスが listen して、コネクションを扱います。
Apache はリクエストが来たときにすぐに応答できるように、
常に複数の<em>スペア</em>、またはアイドルサーバプロセス、を維持しようと
試みます。こうすることで、リクエストが扱われる前に新しい子プロセスが fork
されるのをクライアントが待つ必要がなくなります。</p>

<p><code>StartServers</code>, <code>MinSpareServers</code>,
<code>MaxSpareServers</code>, <code>MaxServers</code> は
親プロセスが、リクエストを扱うことになる子プロセスを作成する方法を制御します。
一般的に、Apache は非常に自制的ですので、ほとんどのサイトでは
デフォルト値から変更する必要はありません。ただ、同時に 256 を超える
リクエストを扱うサイトは <code>MaxClients</code> を増やす必要があるでしょう。
一方、メモリの少ないサイトではサーバがスラッシング (メモリをディスクに
スワップ、また戻す、を繰り返す) するのを防ぐために <code>MaxClients</code>
を減らす必要があるでしょう。プロセス作成をチューンするための詳しい情報は
<a href="misc/perf-tuning.html">性能の情報</a> ドキュメントを
参照してください。</p>

<p>Unix では通常親プロセスは 80 番ポートをバインドするために root で
起動されますが、子プロセスは Apache からより特権の少ないユーザとして
起動されます。<code>User</code> ディレクティブと <code>Group</code>
ディレクティブは Apache の子プロセスに設定される特権を設定するために
使用されます。子プロセスは提供するすべてのコンテンツを読めなければ
いけませんが、それ以上の特権は少なければ少ない方が望ましいです。
また、<a href="suexec.html">suexec</a> が使用されていないと、
CGI スクリプトが継承する特権にもこれらのディレクティブが使用されます。</p>

<p><code>MaxRequestsPerChild</code> はサーバが古いプロセスを kill して
新しいプロセスを起動することで、プロセスをリサイクルする頻度を設定します。</p>

<p>Windows では、Apache は制御プロセス一つと子プロセス一つを
実行します。子プロセスはリクエストに応えるために複数のスレッドを
作成します。スレッドの数は <code>ThreadsPerChild</code> ディレクティブで
制御します。</p>

<hr>

<h2><a name="network">ネットワーク設定</a></h2>

<table border="1">
<tr><td valign="top">
<strong>関連ディレクティブ</strong><br><br>

<a href="mod/core.html#bindaddress">BindAddress</a><br>
<a href="mod/core.html#keepalive">KeepAlive</a><br>
<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br>
<a href="mod/core.html#listen">Listen</a><br>
<a href="mod/core.html#listenbacklog">ListenBackLog</a><br>
<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br>
<a href="mod/core.html#port">Port</a><br>
<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br>
<a href="mod/core.html#timeout">TimeOut</a><br>
</td></tr></table>

<p>Apache は起動すると、ローカルマシンの何らかのポート番号とアドレスに
コネクトし、リクエストを待ちます。デフォルトでは、マシンに
割り当てられているすべてのアドレスでサーバ設定の
<code>Port</code> ディレクティブで指定されているポート番号を listen します。
2つ以上のポートを listen したり、選択されたアドレスのみを listen したり、
その組み合わせを listen したりするようにもできます。
違う IP アドレス、ホスト名、ポート番号によって Apache の応答を
決定する<a href="vhosts/">バーチャルホスト</a>機能と組み合わせて
使われることがよくあります。</p>

<p>Apache が listen するアドレスとポート番号を指定、もしくは制限する
ディレクティブは二つあります。<code>BindAddress</code> ディレクティブは
サーバが一つの IP アドレスだけを listen させるために使用されます。
<code>Listen</code> ディレクティブは Apache が listen する IP アドレスと
ポート番号の組、またはどちらか一方、を複数指定するために使用されます。</p>

<p><code>ListenBackLog</code> ディレクティブ、<code>SendBufferSize</code>
ディレクティブ、<code>TimeOut</code> ディレクティブは Apache と
ネットワークとの関係を調整します。</p>

<p><code>KeepAlive</code> ディレクティブ、<code>KeepAliveTimeout</code>
ディレクティブ、<code>MaxKeepAliveRequests</code> ディレクティブは
Apache が永続コネクションをどのように扱うかを制御します。</p>

<hr>
<h2><a name="resource">リソースの制限</a></h2>
<table border="1">
<tr><td valign="top">
<strong>関連ディレクティブ</strong><br><br>

<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br>
<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br>
<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br>
<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br>
<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br>
<a href="mod/core.html#rlimitmem">RLimitMEM</a><br>
<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br>
<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br>
</td></tr></table>

<p><code>LimitRequest</code>* ディレクティブは Apache が
クライアントからのリクエスト読み込みで使うリソースを制限するために
使われます。これらの値を制限することで、いくつかのサービス拒否攻撃は
影響を和らげることができます。</p>

<p><code>RLimit</code>* ディレクティブは Apache の子プロセスから
fork されたプロセスで使われるリソースを制限するために
使われます。特に、これは CGI スクリプトと SSI exec コマンドで
使われるリソースを制御します。</p>

<p><code>ThreadStackSize</code> はNetware でのみ、スタックの大きさを
制御するために使われます。</p>

<!--#include virtual="footer.html" -->
</BODY>
</HTML>