blog.xicolotic

xamppのバーチャルホスト設定の際の覚書(Windows7環境)

絶対パスで管理されたサイトを複数抱えちゃうことってありますよね。

Cドライブ直下にファイル直置きするとか、都度xamppのhtdocsの中身入れ替えたりとか、
そういう昔の私のようなことをしてしまってる方がもしもいたら
xamppでバーチャルホスト設定すると便利ですよというお話。
こんなかんじでアクセスできるようになる。

  • htdocsフォルダ下⇒http://localhost/
  • htdocs/site01フォルダ下⇒http://site01/
参考にさせていただいたのはこちらのblog。
XAMPPでVirtualhostとhostファイル利用して複数サイト管理|Materializing [マテリアライジング]

windows7環境だったが故にちょこっと躓いたので、覚書。
ちなみに、xamppのバージョンは1.7.4です。

以下、詳細手順です。上記マテリアライジング様の記事をベースにさせていただいています。

xamppのapacheにバーチャルホスト設定
/xampp/apache/conf/httpd.confを開きます。
下記の記述が見つかりましたか?
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"
詳細はここに記された外部ファイルに記述します。
というわけで、この/xampp/apache/conf/extra/httpd-vhosts.confを開きましょう。
19行目あたりに下記の記述があります。
##NameVirtualHost *:80
頭の##を削除し、有効化します。
そして下記のように記述を追加。
これはCドライブにxamppを設置した場合です。
複数サイト追加したいときは追加したい数だけVirtualHostブロックを追加・編集してください。
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/site01"
ServerName site01
</VirtualHost>
hostsファイルにIP設定を追加
hostsファイルをテキストファイルで開いて編集するのですが、ここで引っかかった。
hostsを編集して保存しようとするも警告が出てできない。
「この場所に保存するアクセス権限がありません」と。
はい、権限のある人になって作業しましょう。
プログラムメニューのメモ帳の上で右クリック、「管理者として実行」します。
そして、「ファイル」メニュー⇒「開く」で下記にあるhostsファイル(拡張子ないです)を開く。 C:/WINDOWS/system32/drivers/etc/host
※対象は「すべてのファイル」を指定してください。デフォルトでは「テキスト文書」のみが表示されると思います。
そして、文末に下記を追記して保存。
localhostが既に記述されてた場合は、追加したいServerNameだけ追記すればOKです。
127.0.0.1       localhost
127.0.0.1       site01
Apache再起動
はい、再起動で。ここは特に問題ないかと。
サービスとしてインストールしている場合で停止ができない場合は、xamppコントロールパネルを管理者として実行した上でどうぞ。

これで、http://localhost/だけでなくhttp://site01/でも絶対パスが効くようになったでしょうか。
それでは、どうかお幸せに!