XAMPPでlocalhost以外のアドレスを設定する(バーチャルホスト)@ Windows 10

XAMPPのローカルホストで作業していると、ホスト名がすべてlocalhostとなり作業しづらい場合があります。

例えばWordPressのテストサイトをローカルで試す場合など、独自のホスト名があると何かと便利です。

XAMPPでは独自のホスト名を設定することができます。

以下のようなホスト名を設定したいとします。

http://mycustomdomain.io

XAMPPのバーチャルホストと呼ばれるものを設定することで、任意のアドレスを発行することができます。

バーチャルホストの設定

まずXAMPPのapacheサーバを[stop]して作業を進めてください。

ダミーサイトのディレクトリ作成

今回は下記ディレクトリ作成し、お話を進めます。

\XAMPPのインストールディレクトリ\htdocs\dummysite\

このディレクトリ内にindex.htmlを作成し、適当なテキストを記述しておきます。

httpd-vhosts.confファイルの設定

次にXAMPPのディレクトリにあるhttpd-vhosts.confというファイルにアクセスします。

\xamppのインストールディレクトリ\apache\conf\extra\httpd-vhosts.conf

任意のテキストエディタでファイルを開きます。

まず以下の行のコメント「##」の部分を削除します。

NameVirtualHost *:80

次にコメントアウトされている設定のサンプルを見ながらバーチャルホストの設定を行います。

ファイルの末尾に最低限の設定を記述します。

<VirtualHost *:80>
DocumentRoot "c:/xamppのインストールディレクトリ/htdocs/dummysite"
ServerName mycustomdomain.io
</VirtualHost>

注意

バーチャルホストを有効にした場合、本来localhostで見ていたサイトが表示されなくなることがあるので、改めてバーチャルホストでもlocalhostを設定しておいてください。

XAMPPのhtdocsフォルダ外でもOK

XAMPPのルートディレクトリであるhtdocs外のディレクトリでも指定が可能です。

例えば以下のディレクトリを指定したいとします。

c:\Users\myname\documents\dummysite

http-vhosts.confに以下の記述を加えます。

<VirtualHost *:80>
DocumentRoot "c:/Users/myname/documents/dummysite"
ServerName mycustomdomain.io
<Directory "c:/Users/myname/documents/dummysite">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

各項目の説明

  • VirtualHost : 「:80」の部分はポート番号を指します。変更できますが、変更するとアドレスにポート番号を含めなければならないので80のままでOKです。
  • DocumentRoot : ディレクトリのパスを記述
  • ServerName : URLに使うホスト名を記述
  • Directory : XAMPPのhtdocs以外のフォルダを指定する場合に必要。この部分に内包されている記述はディレクトリのアクセス権の設定です。

ホストファイルの設定

hostsファイルを編集する

以下のファイルにアクセスします。

C:\Windows\System32\drivers\etc\hosts

任意のテキストエディタでファイルを開きます。
ですがこのファイルは管理者の権限が無いと編集できないので、一度デスクトップへコピーし編集します。

hostsファイルとは

ホスト名とIPアドレスの対応が書かれているファイルです。

自分で決めたホスト名(実際に存在しないドメイン名が好ましい)とローカルホストのアドレス(127.0.0.1)の紐づけを行います。
ファイルの末尾に以下のように記述し保存します。

127.0.0.1 mycustomdomain.io

hostsファイルの設定が終わったら元の場所にコピーし、上書きします。

管理者権限を尋ねてくるので、「続行」を選択します。

XAMPPを再起動

設定は以上です。

XAMPPのapacheを再起動して、設定したホスト名でアクセスしてみてください。

設定したホスト名でサイトが確認できた例