[XAMPP]WinXPローカル環境で複数ドメイン管理

XAMPPを使うと、ローカル環境でサイトの動作確認ができて大変便利です。
複数のサイトを制作・管理する場合、ローカル環境に複数のドメインがあったら便利だと常々思っていました。実際にやってみたところ、うまくいったのでその方法をご紹介します。

環境:
Windows XP SP2
XAMPP for Windows Version 1.6.6a
XAMPPのインストールディレクトリはデフォルト設定のまま(C:\xampp)です。
  1. C:\xampp\apache\conf\extra\httpd-vhosts.confをテキストエディタで開き、 #NameVirtualHost *:80 となっているところの先頭の#を取り除きます(コメントアウトを外す)。
  2. 仮にD:\htdocs\hogeというディレクトリをhttp://hoge.localhost/というサブドメインで参照したい場合、同ファイルに以下のように記述を追加します。

    <VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    </VirtualHost>
    <VirtualHost *:80>
    DocumentRoot D:/htdocs/hoge
    ServerName hoge.localhost
    </VirtualHost>
    <Directory "D:/htdocs/hoge">
    order deny,allow
    allow from ALL
    </Directory>

    他にもドメインを追加したい時は、同ファイルに続けて以下のように書きます。

    <VirtualHost *:80>
    DocumentRoot D:/htdocs/fuga
    ServerName fuga.localhost
    </VirtualHost>
    <Directory "D:/htdocs/fuga">
    order deny,allow
    allow from ALL
    </Directory>

    ファイルの修正が終わったら上書き保存します。

    同ファイルに<VirtualHost>の書き方のお手本がコメントアウトされた状態で書いてあります。それを見ると、ServerAdminやらErrorLogといった項目が書いてありますが、動かすだけならこれらを省略しても支障はないようです。

  3. C:\WINDOWS\system32\drivers\etc\hostsをテキストエディタで開き

    127.0.0.1       localhost

    となっているところを次のような感じに修正し、保存します。

    127.0.0.1       localhost
    127.0.0.1       hoge.localhost
    127.0.0.1       fuga.localhost
  4. apacheを再起動します。XAMPPコントロールパネルから「停止」ボタン→しばらく待ってから「開始」ボタン で再起動になります。そもそも起動していないなら、「開始」ボタンを押して起動させます。
  5. ブラウザでhttp://localhost/http://hoge.localhost/にアクセスし、正常な表示ができるかどうかを確認します。
参考にさせていただいたWebサイト:
[xampp]ローカルにサブドメイン切ったらaccess forbidden食らった – うえちょこ@ぼろぐ
apache:ローカル環境で複数ドメイン(サイト):VirtualHost

Continue reading