遅ればせながらYosemite(OSX 10.10)にアップグレードしたらApacheが動かなくなった。ブラウザからローカルホストにアクセスすると403エラーが出てしまうのだ。
この原因は、OSアップグレードでApacheの設定が初期化されてしまったことのようだ。OSX10.9はApache 2.2、10.10はApache2.4とApacheのバージョンも変わっている。
この対策としてもっとも参考になったのが、このサイト。Apache, MySQL, PHP and phpMyAdmin on OSX 10.10 Yosemite for Local Development
このサイトに書かれていることをここにも再掲しておく。
1) ユーザconfigファイルを修正
/etc/apache2/users/へ移動
$ cd /etc/apache2/users
ここに「ユーザー名.conf」のファイルがあるかどうかをチェック。(ユーザー名は、'$ whoami'で確認できる)なければ新たに作成する。
ユーザー名.confのファイルをrootで編集
$ sudo emacs username.conf
次のように書く。一行目の"/Users/username/Sites/"は自分の環境に合わせる。
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
confファイルのパーミッションは次の通り設定する
- rw-r--r-- 1 root wheel 157 1 2 08:56 username.conf
2) httpd.confを編集
$ sudo nano /etc/apache2/httpd.conf
次の4行のコメントを外す。
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.soInclude /private/etc/apache2/extra/httpd-userdir.conf
3) ユーザディレクトリのconfigファイルを編集
$ sudo nano /etc/apache2/extra/httpd-userdir.conf
次の行のコメントを外す
Include /private/etc/apache2/users/*.conf
4) Apacheを再起動
$ sudo apachectl restart