色んな開発案件があって、その都度httpd.confのDirectory設定を変えていたが、いい加減Virtual-Host設定をして複数のプロジェクトを同時に見えるようにしとかなきゃ!!って思って1か月、いや2か月?
とりあえず、仕事が1つ一段落したので、ちょっとやってみた。
環境はWindowsXPなので、
C:\WINDOWS\system32\drivers\etc\hostsファイルを開く
127.0.0.1 localhost
という記載の後に、同じような感じで設定を付け足す。
例えば、
127.0.0.1 test1.localhost
127.0.0.1 test2.localhost
みたいな感じ。行右側に「#」付で何のサーバなのか書いておくと分かりやすいかも。
次は、Apacheのconf/httpd.confファイル。ここに各Directory単位の設定を設ける。
<Directory “D:/Apache2.2/htdocs/test1”>
Order allow,deny
Allow from all
</Directory>
<Directory “D:/Apache2.2/htdocs/test2”>
Order allow,deny
Options All
llowOverride All
Allow from all
</Directory>
そして、conf/httpd.confファイル内で、VirtualHostの設定ファイルを使うよ!宣言をする。(ってか、VirtualHost設定ファイルを読み込みます!設定をする)
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Includeの左についている「#」を外して、ファイルを保存。
最後は、conf/extra/httpd-vhosts.confファイルの編集。
<VirtualHost *:80>
ServerAdmin xxx@xxxxx.co.jp
DocumentRoot “D:/Apache2.2/htdocs/test1”
ServerName test1.localhost
ErrorLog “logs/t1-error.log”
CustomLog “logs/t1-access.log” common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin xxx@xxxxx.co.jp
DocumentRoot “D:/Apache2.2/htdocs/test2”
ServerName test2.localhost
ErrorLog “logs/t2-error.log”
CustomLog “logs/t2-access.log” common
</VirtualHost>
ルートフォルダをそれぞれ別のフォルダに設定、サーバー名はhostsの設定に合わせ、ログファイルも別に設定しておけば、わかりやすい。
これを保存して、Apacheを再起動。
http://test1.localhost/とhttp://test2.localhost/と、それぞれページの出力を確認できたら、うまく設定できたことに。