Apache が使用するアドレスとポートの設定をします。
Apache は起動時に、ローカルマシンのあるポートおよびアドレス に対して接続し、リクエストが来るのを待ちます。 デフォルトではマシンのすべてのアドレスに対して Listen します。 特定のポートか、特定のアドレスのみか、 またはそれらの組み合わせで Listen するように指定したい場合もあります。 異なる IP アドレス、ホスト名、ポートに対して Apache がどのように 応答するかを制御するバーチャルホスト機能と組み合わせてよく使われます。
たとえば、全てのインターフェースのポート 80 と 8000 の両方において 接続を受け付けるには
とします。 あるインターフェースでは 80 番で、また、同時に他のインターフェースの 8000 番ポートで接続を受け付けるには、
とします。 IPv6 アドレスは、角括弧で次の例のように囲まなければいけません。
多くのプラットホームで IPv6 がサポートされてきていて、
IPv6 ソケットが IPv4 と IPv6 コネクションの両方を扱うことができるか
どうかは、Apache 管理者にとって厄介な問題です。
IPv4 コネクションを IPv6 ソケットで扱う場合は、
IPv4 マップされた IPv6 アドレスを使用していて、
ほとんどのプラットホームではデフォルトで使用可能ですが、
FreeBSD, NetBSD, OpenBSD では、システム全体としてのポリシーとの整合性から、
デフォルトでは使用不可に設定されています。
これらのデフォルトで使用不可のプラットホームであっても、
特別な
一方で、Linux や Tru64 といったプラットホームで IPv4 と IPv6
の両方を扱うには、マップドアドレスを使用する以外の方法はありません。
IPv4 と IPv6 のコネクションを最小限のソケットで扱いたいのであれば、
IPv4 マップの IPv6 アドレスを使用する必要があり、
--enable-v4-mapped
--enable-v4-mapped
は、
FreeBSD, NetBSD, OpenBSD 以外の全てのプラットホームでのデフォルトです。
ですから、おそらくお手元の Apache はこの設定でビルドされているでしょう。
プラットフォームや APR が何をサポートするかに関わらず、
IPv4 コネクションのみを扱うようにしたい場合は、
次の例のように全ての
条件を満たすプラットホームで、Apache が
IPv4 と IPv6 のコネクションを別々のソケットで扱うようにしたい場合
(つまり IPv4 マップのアドレスを無効にしたい場合)
は、--disable-v4-mapped
--disable-v4-mapped
は、
FreeBSD, NetBSD, OpenBSD プラットホームでのデフォルトです。