localhost に VirtualHost Ports 増設


ポート番号とは

local の Apache環境 にrootをたくさん作りたい場合、portによって増設する方法があります

通常以下のURLでアクセスしている場合

http://localhost/

デフォルト設定では以下と同義になります。デフォルトのポート番号は80番であるという意味です

http://localhost:80/

ポート番号とはマシンやプログラムが通信相手を特定する識別子の1つです

この機能を利用して、ローカルプレビュー環境を増設したいときに例えば以下のようにブラウズできるような増設の方法があります

http://localhost:8000/
http://localhost:8001/
http://localhost:8002/
http://localhost:8003/
http://localhost:8004/
・
・
・

Webテストアクセスのポート番号には、httpプロトコルのポートである80番を連想させる意味合いからか、8000番周辺を利用する事例を多く見かけるため、ここでは8000番台を例にします

これを設定するには、Apacheが参照している設定ファイルの1つである httpd.conf に追記します
Mac OS Xの httpd.conf はデフォルトでは以下に格納されています

/private/etc/apache2

※ httpd-vhosts.conf を設定する方法もありますがここでは httpd.conf を利用します

 

認証の解除

環境にもよりますが、 Require all denied により認証が閉じている場合があります

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ローカルプレビュー環境において特に認証が必要ない場合にはこれをコメントアウトしておきます

<Directory />
    AllowOverride none
#    Require all denied
</Directory>

VirtualHost Portsをhttpd.confに設定する方法

httpd.conf の末尾に以下をペーストします

Listen 8000
<VirtualHost *:8000>
    DocumentRoot "/www"
    ServerName localhost
</VirtualHost>

Listen 8001
<VirtualHost *:8001>
    DocumentRoot "/test"
    ServerName localhost
</VirtualHost>

Listen 8002
<VirtualHost *:8002>
    DocumentRoot "/www/project01"
    ServerName localhost
</VirtualHost>

Listen 8003
<VirtualHost *:8003>
    DocumentRoot "/www/project01/test02"
    ServerName localhost
</VirtualHost>
・
・
・

Apache をリスタートする必要があります

sudo apachectl restart

以上で http://localhost:8000/ などがブラウズ可能になります