Windows
Apache

Apache on Windows でVirtualHost

More than 3 years have passed since last update.

バーチャルホスト?

Windows PCでローカルに開発環境作ります。
ぶっちゃけバーチャルホストに用はないので、いつも後回しにして捨ててました。
都度ドキュメントルートを入れ替えれば良いのですもの。
それでも、ま、やりましょう。
環境を毎度毎度作りなおさなくてもルーティングを使えますし、テスト用と開発用とデベロップ用が同時に動きますし。

Apacheの設定

環境

  • Windows 7 Professional
  • Apache 2.4.7
    Server version: Apache/2.4.7 (Win64)
    Apache Lounge VC11 Server built: Nov 21 2013 14:06:21
    少し古い?ですが大体いけます…
  • ディレクトリ環境
    1. c:/bin/Apache24/bin -- Apache binディレクトリ
    2. c:/var/www -- DocumentRoot
    3. c:/var/www/reveal -- 適当なディレクトリ
      (フレームワークで構築されたDocumentRootとか)

httpd.conf

"virtual" で検索をかけて include ポイント探します
コメントを解除しincludeを機能させます

c
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

影響しそうな箇所があるけど、その時に対応すればいいので放置して保存します。

httpd-vhosts.conf

% #バックアップ
% cp c:/bin/Apache24/conf/extra/httpd-vhosts.conf c:/bin/Apache24/conf/extra/httpd-vhosts.conf.bkup

サンプルをがっつり書き換えます。
後でチェックするので適当でも良いです。
ログも見なければいりません。

c
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 127.0.0.1:80>
    ServerAdmin aaa@localhost.local.test
    DocumentRoot "c:/var/www"
    ServerName tamian
    ServerAlias www.tamian
    ErrorLog "logs/tamian.error.log"
    CustomLog "logs/tamian.access.log" common
</VirtualHost>

<VirtualHost 127.0.0.2:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/var/www/reveal"
    ServerName reveal
    ServerAlias www.reveal
    ErrorLog "logs/reveal.error.log"
    CustomLog "logs/reveal.access.log" common
</VirtualHost>

チェックする

Syntax OK が出ればOK。
間違ってたら間違っている箇所が出る。

cmd.exe
C:\>cd  \bin\Apache24\bin

C:\bin\Apache24\bin>httpd -t
Syntax OK

C:\bin\Apache24\bin> REM httpd -h  ← ヘルプ
C:\bin\Apache24\bin> REM httpd -v  ← バージョン

Windowsの設定

hosts

ファイルはここにあるのですが管理者権限で編集しないと拒否されます。
C:\Windows\System32\drivers\etc\hosts

  1. [スタートメニュー]→[プログラムとファイルの検索:notepad]
  2. ヒットしたnotepad.exe を右クリックして[管理者として実行]
    ※ 他のエディタだと保存が拒否されるかも
  3. 管理者として実行します?[はい]
  4. 管理者権限で起動したメモ帳アプリファイルから[ファイルを開く(ctrl+o)]
  5. ファイル名:C:\Windows\System32\drivers\etc\hosts [ッターン]

これでようやく編集できます(めんどくさい)
追加して保存して下さい。
127.0.0.2 でもローカル開くって知りませんでした。びっくりしました。

C
127.0.0.1        tamian www.tamian
127.0.0.2        reveal www.reveal

Apache再起動

タスクトレイのApache Monitorでリスタートしました

特になにもありませんでした。

Apache再起動

タスクトレイのApache Monitorでリスタートしました

特になにもありませんでした。

ブラウズ

Firefox

アドレス確認。
http:// と 最後の / は省略しないで下さい。
(最後の / 不要かもしれない)

アドレス:http://tamian/
アドレス:http://reveal/

指定したディレクトリが見えていればOK。