localhostでバーチャルホストを切る

Web系の開発とかやってると同時に複数のプロジェクトをもったりとか、別のサービスの保守とかあったりとかって実際結構あったりします。(実際それは少なくても、ちょこっと修正が降臨したり)

そんなときに困るのはホストをどうするかだったりします。ローカル開発できないのは正直キツイし、
かといってルート直下からのパスが必要な場合もある。
毎回切り替えていたのでは、ちょっとした5分もあればできる修正が入ってきたときには正直ハッキョウものです。

そんなときにプロジェクトごとにホストをきっておくと便利です。

設定方法は下記
例としてlocalhostとtest.localhostを用意する場合です。
※実際に使う際はprojectname.localhostのようにしておくと便利!


httpd.conf(許可指定)
まずhttpd.confでディレクトリに対して許可を与えます

一括でやる場合

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride FileInfo Options
    Order allow,deny
    Allow from all
</Directory>

もし一括で許可を与えたく無い場合には、上記のようにまとめて指定せずに個別に

<Directory "C:\htdocs\test.localhost">
    Options Indexes FollowSymLinks
    AllowOverride FileInfo Options
    Order allow,deny
    Allow from all
</Directory>

のようにディレクトリ別に指定します。


httpd.conf(バーチャルホスト設定)
続いて同じくhttpd.conf(Apache2系の途中からはhttpd-vhosts.conf)にバーチャルホストの設定をします

httpd-vhosts.confのほうを使う場合にはhttpd.confの
Include conf/extra/httpd-vhosts.conf
の行のコメントアウトを外します

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot C:\htdocs\localhost
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:\htdocs\test.localhost
    ServerName test.localhost
</VirtualHost>

※設定を反映させるためにはApacheを再起動します


hosts
DNSよりも最優先されるhostsという設定ファイルをいじってローカルマシンに新しいバーチャルドメインを紐付けます。
場所は通常C:\WINDOWS\system32\drivers\etcにありますが、マシンによって別の場所にあったりします。
あらかじめ「127.0.0.1 localhost」のような行があると思うので同じように
上で新しく設定したバーチャルホストを追加します

127.0.0.1       localhost
127.0.0.1	test.localhost

※ブラウザを開いている場合は、閉じて開きなおさないとブラウザに対してhostsは反映されません


ブラウザで「http://test.localhost/」にアクセスして見れれば完了!!

これでプロジェクトごとに整理して開発・確認できますね。