サーバ名とポート番号(ServerName, Listen)

「ServerName」はApacheサーバが自分自身のホスト名を示す時に使われる名前を指定します。少し分かりにくい表現ですけど、Apacheがエラー表示をしたりするなど色々な処理をする時に自分自身のホスト名を知りたい時に参照されるものだと考えて下さい。

「ServerName」が指定されていない場合はIPアドレスを逆引きしてホスト名を取得します。

ServerName ホスト名[:ポート番号]

それでは「httpd.conf」ファイルで「ServerName」で検索してみてください。160行目付近に次の記述が見つかります。

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName localhost:80

※デフォルトでは先頭に「#」が付いているためコメントとなっていました。以前はそうではなかったのですが取り合えずそのままにしてあります。

「ServerName」の指定は「ホスト名:ポート番号」の形式で指定します。デフォルトで設定されている値はインストール時に指定した値を元に設定されていると思われます。

外部公開用のサーバなどの場合にはローカルホストを表す「localhost」ではなく例えば「www.example.jp」などホスト名を使って指定することが出来ます。

ServerName www.example.jp:80

ポート番号は省略可能ですが、省略された場合はリクエストのポート番号を使われます。ポート番号も指定しておくことが推奨されています。

リクエストを受け付けるポート番号

「Listen」はポート番号に関する他の重要な設定項目であり、Apacheが外部からリクエストを受け付けるポート番号を指定します。

Listen [IPアドレス:]ポート番号

それでは「httpd.conf」ファイルで「Listen」で検索してみてください。30行目付近に次の記述が見つかります。

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the 
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

複数のポート番号を使ったリクエストを受け付ける場合には、複数回記述することが出来ます。下記の場合は「80」番ポートと、「8080」番ポートでのリクエストを受け付けるようになります。

Listen 80
Listen 8080

ポート番号だけを指定した場合には、全てのインターフェースから指定したポート番号のリクエストを受け付けます。Apacheが稼動しているサーバに複数のインターフェースが接続されていて特定のインターフェースからのみリクエストを受け付けたいのであれば、そのインターフェースのIPアドレスを指定して下さい。

Listen 192.168.128.1:80

以上です。