読者です 読者をやめる 読者になる 読者になる

TMD45INC!!!

tmd45++; // Deprecated

XAMPP で Apache の VirtualHost を使うメモ

Apache VirtualHost XAMPP 開発環境

Windows 7 Home Premium, XAMPP 1.7.7*1

今さらメモ。ざっと書くと以下の方法で出来る:

  1. Apache の設定ファイルに VirtualHost を設定
  2. hosts に ServerName を設定
  3. Apache を起動/再起動

Apache の設定ファイルに VirtualHost を設定

ファイルの場所は C:\xampp\apache\conf\extra\httpd-vhosts.conf*2
オリジナルのファイルは一応バックアップを取っておく。

localhost(127.0.0.1)に対して複数の host を設定するために、NAMEベースの VirtualHost 設定をする。
設定ファイルの記述は以下のとおり( http://hoge.localhost でアクセスできるように設定):

#
# NAMEベースの VirtualHost の対象とする IPアドレス(1つ)
#
NameVirtualHost 127.0.0.1:80

#
# VirtualHost の設定
# NameVirtualHost で指定した IPアドレスに対して有効になる。
#
<VirtualHost 127.0.0.1:80>
    ServerName hoge.localhost                           ← ★サーバー名
    DocumentRoot "C:/work/hoge.localhost/public/"       ← ★VH のドキュメントルート
    ServerAdmin postmaster@hoge.localhost               ← ローカルなのでてきとー
    <Directory "C:/work/hoge.localhost/">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order deny,allow
        Deny from All
        Allow from localhost 127.0.0.1                  ← アクセス制御とか適宜
        AllowOverride All
    </Directory>
    ErrorLog "logs/hoge.localhost-error.log"            ← エラーログファイル
    CustomLog "logs/hoge.localhost-access.log" combined ← アクセスログファイル
</VirtualHost>

(なお、私の場合 C:\xampp\apache\conf\httpd.conf は基本的にデフォルトのままです。)

複数の VirtualHost を使いたい場合は <VirtualHost 127.0.0.1:80></VirtualHost> 部分を複製して、ServerName とそれっぽいところを変更してやればおk。

hosts に ServerName を設定

これをよく忘れて「あれー(´・ω・`)?」ってなるですよ…
hosts の場所は C:\Windows\System32\drivers\etc\hosts

VirtualHost の設定で指定した ServerName を hosts に追加:

127.0.0.1       localhost
127.0.0.1       hoge.localhost

設定完了したら Apache を再起動

ブラウザから http://hoge.localhost にアクセスすると、VirtualHost のドキュメントルートとして指定したディレクトリのシステムが動作します。テスト用に適当な index.html でもおいておけば良いんじゃないですかね。
ちなみに VirtualHost を利用している場合、http://localhost にアクセスすると指定した VirtualHost の一番上の設定が適用されます。

これでいくらでもローカルに host を増やせるぞー

*1:たぶんどのバージョンでも変わらないけど。

*2:XAMPP を標準インストールしている場合。

ページトップへ移動