OS X 10.10 YosemiteでApache(ウェブ共有/サイト)を使う方法

Lionより前までは、システム設定画面から「ウェブ共有」をオンにするだけでApacheを有効にすることができていたが、Lion以降はターミナルを使って手動でApacheを設定/起動しなければいけなくなった。Yosemiteにおける設定方法をまとめておく。

Apacheの起動

ターミナルからapachectlコマンドを使って起動する。

sudo apachectl start

スクリーンショット 2014-10-26 18.21.32
Apacheを起動すると、http://localhost/をブラウザで開けるようになる。
http://localhost/の中身は/Library/WebServer/Documents/に配置されている(システムルート)。ただし、このディレクトリのownerはrootになっているので、なにかと使い勝手が悪い。同時に複数ユーザがマシンを使っているような場合にconfの影響が他のユーザに及ぶのも好ましくない。
そこで、システムルートディレクトリではなくユーザのディレクトリを使って作業したほうが良い。

ユーザディレクトリの有効化

ユーザディレクトリを有効にするには、まずhttpd.confでmod_userdirを有効にする。

sudo vi /etc/apache2/httpd.conf

mod_userdir.soをロードする行がコメントアウトされているので、アンコメントする(先頭の#を取り除く)。

LoadModule userdir_module libexec/apache2/mod_userdir.so

同時に、userdir用の設定ファイルをインクルードするための行もアンコメントする。

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

ユーザディレクトリの作成

mkdir ~/Sites

ホームディレクトリにSitesというディレクトリを作る。このディレクトリの中にindex.htmlなどを作っていく。
最後に、/etc/apache2/users/以下にユーザ単位の設定ファイルを作る。

sudo vi /etc/apache2/users/ユーザ名.conf

ルート権限で、/etc/apache2/users/ユーザ名.conf というファイルを作る。

<Directory "/Users/ユーザ名/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>

最後にApacheを再起動して設定を反映させれば、http://localhost/~ユーザ名/で~/Sites以下のファイルにアクセスできる。

sudo apachectl restart

参考

Pocket

「OS X 10.10 YosemiteでApache(ウェブ共有/サイト)を使う方法」への5件のフィードバック

  1. 参考になりました。ありがとうございます。
    1点、/private/etc/apache2/extra/httpd-userdir.conf ファイルの
    Include /private/etc/apache2/users/*.conf のコメントを外す作業が抜けているようです。

  2. >Forbidden
    ユーザーごとの設定ファイルを読み込む様に設定
    Includeの行のコメントアウトを外します。
    $ sudo vi /etc/apache2/extra/httpd-userdir.conf

    Include /private/etc/apache2/users/*.conf
    RegisterUserSite customized-users

  3. Server.app をインストールすると、
    /etc/apache2/httpd.conf
    は無効になり、
    /Library/Server/web/config/apache2/httpd_server_app.conf
    が使われるようです。
    以下はそれを記述したコメント文です。
    新しいファイルhttpd_server_app.confの中に書かれているので、知らなければどうしようもないですね。
    # When Server App is installed, this file is used instead of /etc/apache2/httpd.conf
    # At Server.app promotion time this file is copied to
    # /Library/Server/Web/Config/apache2/httpd_server_app.conf and Apache’s launchd.plist is
    # modified to use it as the main config file.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です