MAMPで複数のバーチャルホストを立てる方法

検索したら色々出てくるのだけど、何故だがうまくいかなかったので

忘備録

htdocs配下にtest1,test2ディレクトリを作り、index.htmlを作成しておく。 

■hostsの修正(/private/etc/hosts
127.0.0.1 sample1.com
127.0.0.1 sample2.com

 

httd.condの修正(/Applications/MAMP/conf/apache/httpd.conf

# Virtual hosts

(コメントアウトを外す)

Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

 

(追加)

<Directory "/Applications/MAMP/htdocs/root1“>

Order allow,deny
Allow from all
</Directory>

<Directory "/Applications/MAMP/htdocs/root2“>
Order allow,deny
Allow from all
</Directory>

 

-------
httpd-vhosts.confの編集(/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Listen 8001
NameVirtualHost *:8001

<VirtualHost *:8001>
ServerName sample1.com
DocumentRoot /Applications/MAMP/htdocs/test1/
</VirtualHost>

<VirtualHost *:8001>
ServerName sample2.com
DocumentRoot /Applications/MAMP/htdocs/test2/
</VirtualHost>

 

--------------

以下のURLからそれぞれのindex.htmlにアクセスできる

http://sample1.com:8001/

http://sample2.com:8001/

----------

備考

DocumentRootをダブルクォーテーションでくくるとApacheが以下のエラーを吐く

「File does not exist: /Applications/MAMP/htdocs/test1/\xe2\x80\x9c」

余計なコードがついてindex.htmlが見つからなくなるので注意

 

参考サイト

[Apache] MacApacheSSL(自己認証CA)でFile Not Foundエラー

 

http://save-dep-mukku.blogspot.jp/2015/02/apache-macapachesslcafile-not-found.html