Mac OS X 10.9 Mavericks で Web 共有するメモ

最近のOSXでは共有パネルからのWeb共有項目がなくなったので、自力でApacheを起動させる必要があります。

2014-05-18現在、OSX 10.9.3 ではターミナルにて以下のようにバージョンを確認できます。

$ httpd -v
Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

Apache の制御

$ sudo apachectl start
$ sudo apachectl stop
$ sudo apachectl restart

当然ですが、管理者権限が必要なので基本的に「sudo」の使用か「root」になるかのどちらかでの対応となります。

Apache の設定

実際にはサイトを設置するためにはApacheに対していくつかの設定が必要です。

Apacheの設定ファイルは以下にあります。

/etc/apache2

各ユーザがサイトを配置できるようユーザ用の設定を追加します。

ユーザ用の設定は以下の場所に配置します。

/etc/apache2/users/<ユーザ名>.conf

初期状態ではおそらくそこには Guest.conf だけがあると思います。 こちらをコピーして作成しましょう。

$ sudo cp Guest.conf <ユーザ名>.conf

Guest.confもしくは、先ほどコピーしたものは以下のようになっていると思います。

<Directory "/Users/Guest/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

こちらを以下のように変更します。

<Directory "/Users/<ユーザ名>/Sites/">
    AddHandler cgi-script .cgi
    Options Indexes MultiViews ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

ユーザ用のサイト配置ディレクトリを指定するため以下でディレクトリを指定します。

<Directory "/Users/<ユーザ名>/Sites/">

こちらはホームディレクトリ内に「Site」ディレクトリを作成しておきます。

ついでにCGIも実行できるようにしておくため、以下も追加しておきます。

AddHandler cgi-script .cgi
Options ExecCGI

CGIが不要ならなくてもかまいません。

ちなみに、ユーザー権限では編集もできないので、編集も管理者権限になります。

$ sudo vi <ユーザ名>.conf

なお、設定を変更した場合は、Apache の再起動が必要です。

$ sudo apachectl restart

テスト

これで、ブラウザで以下URLを打ち込むとSiteディレクトリ内が確認できます。

http://localhost/~<ユーザ名>/

下記にログが出力されているので問題がある場合な度は確認してみましょう。

/private/var/log/apache2