ホスト名によるアクセス設定(hostsファイル)

広告

Apacheをローカル環境へインストールした場合にブラウザからアクセスする場合には、自分自身を表す「localhost」が使われます。また「localhost」以外にも「127.0.0.1」でもアクセスは可能です。

p8-1

「127.0.0.1」はローカル・ループバック・アドレスと呼ばれるアドレスで、自分自身を指す特別なIPアドレスです。ローカルホストにIPアドレスを設定している場合であっても「127.0.0.1」は常に自分自身を表します。

その為、Apacheなどをクライアントと同じパソコンで動かしている場合には「127.0.0.1」へアクセスすると自分のパソコンに対してアクセスされることになるため、結果として同じパソコンで動いているApacheへアクセスできることになります。

では「localhost」と言うのは何かというと、「127.0.0.1」と言うIPアドレスに対して設定されているホスト名です。その為「localhost」にアクセスすることは「127.0.0.1」に対してアクセスすることになり、結果として自分自身へアクセスを行います。

このホスト名とIPアドレスの対応を定義しているのが「hosts」ファイルです。ホスト名とIPアドレスを対応させるにはDNSサーバなどを使う方法もありますが、「hosts」ファイルに記述することでDNSサーバなどを参照することなくIPアドレスに対してホスト名を登録できます。

hostsファイルの設置場所

「hosts」ファイルは「C:¥WINDOWS¥system32¥drivers¥etc¥」に設置されています(Windows XP / Windos 7の場合)。

p8-2

「hosts」はテキストファイルですので、テキストエディタで見ることができます。

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

「hosts」ファイルはIPアドレスに対するホスト名を登録できます。書式は次の通りです。

IPアドレス  ホスト名

デフォルトで設定されているのは「127.0.0.1」に対して「localhost」と言うホストを登録しています。ここで登録がされているので「localhost」と入力すると、そのホスト名のIPアドレスが「127.0.0.1」であることが分かり、結果として「127.0.0.1」に対してアクセスすることが出来るわけです。

なお127.0.0.1はIPv4のアドレス、::1はIPv6のアドレスです。

Windows7の環境で確認したところ、どちらもコメントとなっていました。このままだと色々と不都合が出てくる場合がありますので次のように「#」を外しました。

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

Windows7の場合は管理者権限で実行したテキストエディタでないと編集が行えないかもしれませんので注意して下さい。

Apache入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)