最短でXAMPP + WindowsでVirtual Hostを使う手順と方法

XAMPP + WindowsでVirtual Host (VHost)を使う最短距離の解説です。(XAMPPは7.0.2 / PHP 7.0.2を使っています)

手早く使うためだけの設定なので、手順のみ紹介します。技術的な情報はほかのサイトをあたってね。またセキュリティ考慮はゼロです。ほとんどはローカル開発でしょうから問題はないと思いますが、プロダクションサーバでこの設定は危険度高いのでやめましょう。

XAMPPのApacheを設定

XAMPP/Apache/conf/extra ディレクトリにある httpd-vhosts.conf をエディタで開きます。
XAMPP VHost設定 XAMPP VHost 設定009

下記の部分をコピーして、すぐ下にペーストします。

##<VirtualHost *:80>
    ##ServerAdmin webmaster@dummy-host.example.com
    ##DocumentRoot "/xampp/htdocs/dummy-host.example.com"
    ##ServerName dummy-host.example.com
    ##ServerAlias www.dummy-host.example.com
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>

セクションタグと上から3行(ServerAdmin、DocumentRoot、ServerName)のコメントを外します。

  • ServerAdmin・・・変更しなくてもOK。管理者メールアドレス。
  • DocumentRoot・・・重要。公開したいディレクトリパスを入れる。下記のように /xampp からのフルパスで書く。下記では webapp/public がルートになります。
  • ServerName・・・ローカルでのドメイン名。下記の場合「http://webapp.local」でブラウザからアクセスできるようになる。
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/xampp/htdocs/webapp/public"
    ServerName webapp.local
    ##ErrorLog "logs/dummy-host2.example.com-error.log"
    ##CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

編集が終わったら保存します。

Apacheを再起動

VHostを有効にするためApacheを再起動します。XAMPPコンパネでOFF → ONすればOK。

WindowsのHOSTSファイルを書き換え

次にWindowsのHOSTSファイルを書き換えます。アドレス(http://webapp.local)がどのIPでホストされているか、を設定する特殊ファイルです。

まずエクスプローラーで c:\Windows\System32\drivers\etc フォルダを開きます。(Windows 7 64Bitの場合。他のバーションでもほぼ同じだと思います)
XAMPP VHost設定 XAMPP VHost 設定001

通常、HOSTSファイルは管理者のみが編集できる設定になっています。セキュリティ設定を編集し、ユーザー(あなた)が編集できるように変更します。

HOSTSファイルを右クリックし、プロパティをクリック

  1. 出てきたウィンドウの「セキュリティ」タブをクリック
  2. 自分のアカウント名がどこかにあるので、アカウント名をクリックすると、下のようなセキュリティ設定になっているはずです。
  3. 「編集」ボタンを押します

XAMPP VHost設定 XAMPP VHost 設定002

 

「フルコントロール」にチェックを入れ、OKで閉じます。
これで編集できるようになります。
XAMPP VHost設定 XAMPP VHost 設定005

 

テキストエディタでHOSTSファイルを開きます。たいていは下記のような内容で終わっているはずです。(セキュリティソフトによって排除アドレスなどが書かれている場合もあります。)

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

この下に先ほどApacheで設定したVHostのアドレスを追記します。Apache側とまったく同じアドレスを入力してください

127.0.0.1 webapp.local

保存します。

HOSTSファイルのセキュリティを戻す

HOSTSはマルウェアやウィルスが狙ってくる重要ファイルです。ここですぐにセキュリティ設定を元に戻しましょう!絶対にユーザー書き込みOKのままWindowsを使ってはいけません!

最初と逆の手順で「フルコントロール」「変更」「書き込み」の3つのチェックを外します。

XAMPP VHost設定 XAMPP VHost 設定008

テスト

これで完了しました。ブラウザを立ち上げアドレスバーに「」と入れれば、一つのサイトのように表示されるはずです。(下記はLaravel 5を動かした例)

XAMPP VHost設定 XAMPP VHost 設定007

XAMPPのサブアドレス「http://localhost/webapp/」では動かないものも多くあります(Laravelとか)。そのときにVHostを使えば一つのドメインで運用しているかのように動かすことができます。

WTS的まとめ

他のサイトだと解説が多くて長かったので、最短距離の手順だけまとめまして。開発の参考になれば幸いです!