マックブックな日々(Macbook Geek)

Retina Macbook Proで行った設定、アプリのインストール、トラブル対策等の覚書

OSXをアップグレードしてApacheが動かなくなった時

遅ればせながらYosemite(OSX 10.10)にアップグレードしたらApacheが動かなくなった。ブラウザからローカルホストにアクセスすると403エラーが出てしまうのだ。
f:id:yasuda0404:20150102085941p:plain

この原因は、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.so

Include /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