XAMPP + WindowsでVirtual Host (VHost)を使う最短距離の解説です。(XAMPPは7.0.2 / PHP 7.0.2を使っています)
手早く使うためだけの設定なので、手順のみ紹介します。技術的な情報はほかのサイトをあたってね。またセキュリティ考慮はゼロです。ほとんどはローカル開発でしょうから問題はないと思いますが、プロダクションサーバでこの設定は危険度高いのでやめましょう。
XAMPPのApacheを設定
XAMPP/Apache/conf/extra ディレクトリにある httpd-vhosts.conf をエディタで開きます。
下記の部分をコピーして、すぐ下にペーストします。
##<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の場合。他のバーションでもほぼ同じだと思います)
通常、HOSTSファイルは管理者のみが編集できる設定になっています。セキュリティ設定を編集し、ユーザー(あなた)が編集できるように変更します。
HOSTSファイルを右クリックし、プロパティをクリック
- 出てきたウィンドウの「セキュリティ」タブをクリック
- 自分のアカウント名がどこかにあるので、アカウント名をクリックすると、下のようなセキュリティ設定になっているはずです。
- 「編集」ボタンを押します
「フルコントロール」にチェックを入れ、OKで閉じます。
これで編集できるようになります。
テキストエディタで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つのチェックを外します。
テスト
これで完了しました。ブラウザを立ち上げアドレスバーに「」と入れれば、一つのサイトのように表示されるはずです。(下記はLaravel 5を動かした例)
XAMPPのサブアドレス「http://localhost/webapp/」では動かないものも多くあります(Laravelとか)。そのときにVHostを使えば一つのドメインで運用しているかのように動かすことができます。
WTS的まとめ
他のサイトだと解説が多くて長かったので、最短距離の手順だけまとめまして。開発の参考になれば幸いです!