WindowsでXAMPPを使ってローカル開発環境を構築して実際にサイト制作などする際、複数のドメインを管理できると非常に便利です。
そこで複数のドメインを扱えるようにするには、バーチャルホストの設定をしていきます。

まだXAMPPでローカル開発環境を整えていないという方は、以下の記事で説明しています。



ここではXAMPPでバーチャルホストを設定して複数のドメインを使う方法をご紹介します。

バーチャルホストの設定ファイルの読み込み確認


まずはバーチャルホストの編集ファイルが有効になっているか確認します。(昔はコメントアウトされていたような気がしたので)

一応、念のため。

ファイルの場所は「C:¥xampp¥apache¥conf¥httpd.conf」です。
httpd.confの516行目あたりの「Include conf/extra/httpd-vhosts.conf」部分の先頭のコメントアウト「#」があったら削除しておいてください。

バーチャルホストの設定ファイルの読み込み確認

バーチャルホストの設定ファイルを編集


バーチャルホストのconfファイルを編集します。
編集するファイルは「httpd-vhosts.conf」です。

ファイルの場所は「C:¥xampp¥apache¥conf¥extra¥httpd-vhosts.conf」です。

まずは、httpd-vhosts.confの20行目あたりの「NameVirtualHost」部分のコメントアウトの「##」を削除して解除させます。

バーチャルホストの設定ファイルを編集



続いて、一番最後に以下の記述を追加します。
例として、ローカルで「example.com」というURLで「C:\xampp\htdocs」のexample.comフォルダにアクセスできるようにしてみましょう。

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\example.com"
    ServerName example.com
</VirtualHost>



ドキュメントルートとサーバー名(バーチャルドメイン)を設定をしています。

DocumentRoot : ドキュメントルート
ServerName : サーバーのホストネーム(バーチャルドメイン)



必要に応じて上記の4行を追加していけばいいです。


htdocs内にexample.comというフォルダを作ってHello worldと表示されるindex.htmlを置いておきました。

ドキュメントルートのフォルダとファイルの作成



このあとhostsの設定をしたら確認しましょう。

hostsの設定


最後にhostsファイルを編集します。

編集は、Windowsにデフォルトで搭載されている「メモ帳」で行います。
hostsファイルの場所は「C:\Windows\System32\drivers\etc\hosts」になりますが、管理者権限でないと編集することができません。

まずは、画面右下のWindowsアイコンを選択します。
アプリケーションの一覧の「Windows アクセサリ」のフォルダにメモ帳があります。
メモ帳を右クリックして「その他」と進み、「管理者として実行」を選択します。

Windowsのメモ帳を管理者として実行



ユーザーアカウント制御に関するメッセージが表示されます。
「このアプリがデバイスに変更を加えることを許可しますか?」と出ますので、「はい」を選択して許可します。

管理者権限でメモ帳で開きましたら、hostsファイルを開きます。
メモ帳の上部メニューの「ファイル」から「開く」を選択します。

コンピュータ内からファイルを開く



ファイル名に「C:\Windows\System32\drivers\etc\hosts」とhostsファイルのパスを入力して、コンピュータ内からファイルを選択して開きます。

メモ帳でhostsファイルを開く



hostsファイルを管理者権限で開きましたら、一番下の行にIPアドレスとバーチャルホストのドメインを入力します。
(IPアドレス 半角スペース URL)

hostsファイルにバーチャルホストのドメインを設定



ローカル環境のIPアドレスは、自分自身を指す特別なIPアドレス、ローカル・ループバック・アドレス(127.0.0.1)を指定します。
そのあと半角スペースをあけてドメインを入力します。

終わったら保存して終了です。


あとは一度XAMPPを再起動させればOKです。

実際に設定したドメイン「http://example.com」をブラウザで叩いてみるとHello worldと表示されます。

WindowsのXAMPPでバーチャルホストのドメインでアクセス

うまくいきましたね。

オフラインで動くXAMPPで複数のドメインを使えるといろいろ便利です。
是非、Web開発やPHPなどのプログラミング学習に役立ててください。