[Server & Network General] Apache: 名前ベースのバーチャルホスト設定をする

memo.

ただのメモです。

「一つの IP アドレスでいくつかの名前ベースのウェブサイトを実行する」を参考に設定しました。

httpd.conf
#Listen 12.34.56.78:80
Listen 80
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
<virtualHost *:<%= node['httpd']['port'] %>>
    DocumentRoot <%= node['httpd']['php'] %>
    ServerName php.local
</virtualHost>
<virtualHost *:<%= node['httpd']['port'] %>>
    DocumentRoot <%= node['httpd']['zf1'] %>
    ServerName zf1.local
    SetEnv APPLICATION_ENV "development"
    <directory <%= node['httpd']['zf1'] %>>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </directory>
</virtualHost>
    :

さらに vagrant-hostsupdater と組み合わせると、/etc/hosts の書き換えを自動化してくれるので便利ですね。

Vagrantfile
  config.vm.hostname = "php.local"
  config.hostsupdater.aliases = ["zf1.local", "zf2.local"]