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

投稿者: sota 投稿日:

Pocket

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

参考

カテゴリー: MacWeb

5件のコメント

fj · 2015年1月13日 3:42 PM

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

カタリーナ・インファンティ · 2015年1月20日 8:52 AM

OS X 10.10 YosemiteでApache(ウェブ共有/サイト)を使う方法の通りにしたんですが、
http://localhost/~ユーザ名/にアクセスすると
Forbidden
You don’t have permission to access /~ユーザ名/ on this server.
となるのですがどうしたらいいでしょうか。

eiji · 2015年4月25日 10:33 AM

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

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

mosslumi · 2015年8月27日 7:36 PM

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.

Mac(Yosemite)上でWordPressのテーマを開発するための環境を作る | なんてこったいブログ · 2015年5月25日 11:55 PM

[…] Apache, PHPが動作する状態になっていること。そしてPHPからMySQLにアクセスできるようになっていること。 […]

コメントを残す

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