MacBookAirでWeb共有を有効にする

MacBookAirでApacheを動かす。

購入時は「Mac OS X 10.6 Snow Leopard」であったが、現在は「OS X10.10.2 Yosemite」へアップグレードしている。

購入時のOSの状態のままだと、システム環境設定の共有から、Web共有をチェックすることで、ユーザーホームのSitesフォルダ内を「http://localhost/~username」でブラウザ表示できたらしい。
しかし、現在はOSをアップグレードしたので、システム環境の共有にWeb共有の項目は無くなってしる。

その為、Web共有を有効にするためには、ターミナルからApacheの設定ファイルを直接編集し、コマンドで起動させるしか方法は無いようだ。

Apacheの設定ファイルは「/etc/apache2/http.conf」と「/etc/apache2/extra/httpd-userdir.conf」及び「/etc/apache2/users/{username}.conf」だ。

「/etc/apache2/http.conf」では以下の2箇所のコメントを外す。

LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf

「/etc/apache2/extra/httpd-userdir.conf」は以下の1箇所のコメントを外す。

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

「/etc/apache2/users/{username}.conf」は以下のように修正。

<Directory "/Users/{username}/Sites/">
Options MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Require local
</Directory>

ちなみに、上記設定で、「Require local」を記述しなければユーザホームへアクセスできず、以下のエラーログが出力される。

[Tue Mar 31 22:41:59.054200 2015] [authz_core:error] [pid 690] [client ::1:49343] AH01630: client denied by server configuration: /Users/{username}/Sites

設定ファイルの修正を終えたらターミナルから以下のコマンドでApacheを起動する。

$ sudo apachectl start

ちなみに、Apacheを自動起動するには以下のコマンドで設定する

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

自動起動を止める場合は以下のコマンドで設定する。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist