OS X Yosemiteに更新後のWebサーバ設定

先日、ついにAppleからMac用OSの最新版、OS X Yosemiteがリリースされた。
iOSとのUIの親和性が高まったほか、特にMacで作業をしている時にiPhoneにかかってきた電話を、そのままMacのマイクとスピーカーで受けられる機能がお気に入り。
こちらではインストール後も音楽関連のAppをはじめ特にトラブルは発生していないが、WordPressのローカルテスト用に構築していたWebサーバ環境が動かなくなったので色々調べてみてわかったことをメモしておく。

(ちょっとテクニカルなお話なので、意味不明な方はスルーしてください。下記を行ったことによるいかなる結果についても、三輪は責任を負いかねます)

httpd.confファイルの編集

Yosemiteをインストールすると、WebサーバのApacheのバージョンが、2.2から2.4へとアップグレードされるうえ、サーバ設定ファイル(httpd.conf)なども色々と書き換えられてしまう。
特に、なぜか書き換えエンジンPHPなどのモジュールがコメントアウトされてしまうので、ほとんどのWebアプリケーションは動かなくなってしまうだろう。
そんなわけで、まずはTerminalでhttpd.confファイルを開いて

sudo vim /etc/apache2/httpd.conf

以下の設定項目を

#LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
#LoadModule php5_module libexec/apache2/libphp5.so

このように書き換える。

LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so

さらに、下記の行を検索し、先頭の#を削除してコメントアウトを解除する。

#Include /private/etc/apache2/extra/httpd-userdir.conf

以上でhttpd.confの設定は終了。

お次はhttpd-userdir.confの編集に移る。

sudo vim /etc/apache2/extra/httpd-userdir.conf

そんでもって、下記の行の#も同様に削除してコメントアウトを解除する。

#Include /private/etc/apache2/users/*.conf

最後に、現在ログインしているユーザのディレクトリ設定ファイルを編集する。

sudo vim /etc/apache2/users/Mac上のあなたのログインユーザ名.conf

ポイントは、Apache 2.4では、認証関連の書式が大幅に変更されていること。
下記の行を

Order allow,deny
Allow from all

このように書き換える。

Require all granted

上記設定を怠ると、ユーザ別のディレクトリにアクセスしようとした場合に認証エラーが返ってきてしまうぞ。

最後に、設定がきちんと反映されるように、Webサーバを再起動しよう。

sudo apachectl graceful

以上で設定は完了。WordPressなどをインストールしている人は、念のためMySQLがストップしていないか確認しておこう。

執筆にあたっては、下記のページを参考にさせていただきました。

How to setup Apache PHP and MySQL in MacOS X 10.10 Yosemite

Leave a Reply