2012年7月12日木曜日

XAMPPを開発環境にしたときのバーチャルホストの設定について





XAMPPはCドライブに作ることが多いので、Cドライブに開発環境をどんどん追加したときにCドライブの容量が心配になります。

そこで、追加するバーチャルホストはDドライブに追加していく設定について、備忘録のため記録しておきます。


名前ベースでドメインを追加する場合に、同じIPアドレス、同じサーバ(仮想サーバ含む)で準備できるのがメリットとなります。
※ただしこの場合、HTTPSを用意する場合の弱点となります。SSL通信ポートも有効に活用する場合は、IPアドレスベースのお話はここでは割愛します。


今回の設定方法では、以下のアドレスをブラウザからアクセスできるようにします。

localhost
www1.localhost
www2.localhost


◆手順

フォルダの構成は以下の通り。

localhost C:\xampp\htdocs(デフォルトのまま)
www1.localhost D:\var\www\vhosts\www1.localhost
www2.localhost D:\var\www\vhosts\www2.localhost


上記のフォルダをDドライブに作成し、以下のindex.phpファイルを格納しておく。

index.php


//絶対パス
echo __FILE__ . '';


//ディレクトリパス
echo dirname(__FILE__) . '';


//スクリプト名
echo basename(__FILE__) . '';


echo $_SERVER["SERVER_NAME"];
echo $_SERVER["SCRIPT_NAME"];
echo '?’;
echo $_SERVER["QUERY_STRING"];




コンフィグファイルを編集します。


C:\xampp\apache\conf

Include "c:/work/apache/conf/httpd.conf"


c:/work/apache/conf/httpd.conf

に拡張分として、ファイルを新規作成する。


DocumentRoot "C:/xampp/htdocs"


<Directory "C:/xampp/htdocs">
  Options Indexes FollowSymLinks Includes ExecCGI
  Order deny,allow
  Deny from All
  Allow from localhost 127.0.0.1
</Directory>



次に、C:\xampp\apache\conf\extra\httpd-vhosts.confのファイルを編集する。

「##NameVirtualHost *:80」の#を削除して有効な行に編集します。



そして、ファイルの最終行に、以下を追加します。


<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot D:\var\www\vhosts\www1.localhost
ServerName www1.localhost
</VirtualHost>
<Directory " D:\var\www\vhosts\www1.localhost ">
order deny,allow
allow from ALL
</Directory>

<VirtualHost *:80>
DocumentRoot D:\var\www\vhosts\www2.localhost
ServerName www2.localhost
</VirtualHost>
<Directory " D:\var\www\vhosts\www2.localhost ">
order deny,allow
allow from ALL
</Directory>

追加できたら上書き保存して終了します。


最後にhostsファイルの編集です。

C:/windows/System32/drivers/etc/



127.0.0.1 www1.localhost
127.0.0.1 www2.localhost

メモ帳を管理者権限で起動して、開くメニューからhostsファイルを選択してください。

◆動作確認
XAMPPパネルからApacheの再起動を行い、それぞれ追加したバーチャルホストにアクセスできるか試してください。