高性能検索順位チェックツール(無料)
VirtualHost(バーチャルホスト)の設定
VirtualHost(バーチャルホスト)とは、1つのサーバに複数のホスト名(ドメイン名)を割り当てて、複数のサイトを管理・運営することを可能にするための技術です。
XAMPPでは通常、
~\xampp\htdocs
がドキュメントルートとなり、ブラウザに「localhost」と打ち込むとドキュメントルートの下にあるインデックスファイル(index.htmlやindex.phpなど)を見にいくようになっています。
通常の設定ではhtdocsの下にコンテンツを置く必要があり、他のディレクトリ(フォルダ)をドキュメントルートにしたい場合や複数のサイトを管理する場合に不都合が生じます。
VirtualHost(バーチャルホスト)の機能を使うと、好きなディレクトリ(フォルダ)をドキュメントルートにすることができるので、htdocs内のファイルに影響を与えることなく開発を進められます。
また、複数のホスト名(ドメイン名)を設定できるので、ローカル環境で複数サイトを開発する際に非常に快適な環境を作ることができます。
※以下、設定環境はWindows XP Home Edition SP3、XAMPP1.7.2です。
ホスト名(ドメイン名)とディレクトリ名(フォルダ名)を決める
ホスト名・ディレクトリ名は任意で構いませんが、ここでは追加するホスト名(ドメイン名)を「localhost1」と「localhost2」の2つとし、それぞれに対応するディレクトリ(フォルダ)を「test01」「test02」とします。
「test01」と「test02」という名前でフォルダを新規作成し、
~\xampp\htdocs
に置いてください。
バーチャルホストの設定
apacheサーバの「httpd-vhosts.conf」というファイルを編集しバーチャルホストの設定を追加します。
httpd-vhosts.confファイルのある場所は
~\xampp\apache\conf\extra
になります。
httpd-vhosts.confをテキストエディタなどで開き、以下の行を見つけてください。
##NameVirtualHost *:80
上記の行の先頭の「##」を削除し、コメントアウトを解除して下記のようにします。
NameVirtualHost *:80
次に、上記で決めた2つのホスト名(ドメイン名)と、それに対応するディレクトリ(フォルダ)を指定します。
また、「localhost」でアクセスしたときに今まで通りXAMPPの画面が表示されるように設定しておきます。
httpd-vhosts.confファイルの末尾に、以下の内容を追加します。
※XAMPPをCドライブの直下にインストールしている場合の設定です。別の場所にインストールしている場合は置き換えて記述してください。
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test01"
ServerName localhost1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test02"
ServerName localhost2
</VirtualHost>
httpd-vhosts.confファイルを上書き保存してください。
hostsファイルの編集
「hosts」ファイルは、ホスト名とIPアドレスの対応を記述するためのシステムファイルです。
このファイルを編集して、設定したいホスト名をコンピュータが認識できるようにします。
hostsファイルのある場所は
C:\WINDOWS\system32\drivers\etc
となります。
hostsファイルをテキストエディタなどで開くと、末尾に以下のような行があります。
127.0.0.1 localhost
上記の行の下に、以下の2行を追加します。
127.0.0.1 localhost1
127.0.0.1 localhost2
追加したら、ファイルを保存して閉じてください。
設定の確認
XAMPPのコントロールパネルを開き、apacheサーバを起動します。

作成したディレクトリ(フォルダ)「test01」と「test02」のそれぞれにテスト用のindex.htmlを置きます。
ブラウザのアドレス入力欄に、追加したホスト(ドメイン)「localhost1」「localhost2」を入力して、それぞれのindexファイルが正しく表示されるか確認してください。

