2014年10月20日月曜日

Mac OSX 10.10 YosemiteにアップグレードしたらApacheのVirtualHostが動かなくなった場合の対処

Mac OSX 10.10 YosemiteにアップグレードしたらApacheのVirtualHostが動かなくなった(º﹃º)

まず状況としては、Apacheは消えていない。そして /private/etc/apache2/httpd.conf が httpd.conf~previous とバックアップされていた。

そこで、以前のhttpd.confで独自に設定した部分を現在のhttpd.confに移植してapacheを再起動。

# sudo apachectl restart

いつものようにバーチャルホストにアクセスするが、authz_core関連のエラーが出てアクセスが拒否される。

通常ホストのポート80には普通にアクセスできていることから、バーチャルホストのDocumentRoot設定と通常ホストのDocumentRoot設定を比較して必要そうな設定行を特定。その結果、「Require all granted」の行が必要だと分かった。

ということで、バーチャルホストの設定は、例えばこのようになるだろう。

Listen 8000
<VirtualHost *:8000>
    DocumentRoot "/path/to/htdocs"
    ServerName localhost
    ErrorLog "/path/to/apache-error.log"
    CustomLog "/path/to/apache-access.log" common
    DirectoryIndex index.php index.html
    <Directory "/path/to/htdocs">
        Options Indexes Includes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>