12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacOS X の Mavericks (10.9) で Sites ディレクトリを使って localhost をアカウント別に利用する方法

Last updated at Posted at 2014-04-24

MacOSはMavericksだとWeb共有が環境設定に表示されなくなったり、 Sites ディレクトリがなくなったりします。

Screen Shot 2014-04-24 at 12.07.35.png

localhostを使って開発したいときは、とりあえず、ターミナルから apache を立ち上げたら大丈夫です。

$ sudo apachectl start

問題点

Apacheを起動すると、http://localhost/をブラウザで開けるようになる。
http://localhost/ で閲覧できる中身は /Library/WebServer/Documents/ に配置されています。これをシステムルートと呼びます。
でも、このディレクトリのownerはrootになっているので、なにかと使い勝手が悪い。
複数ユーザが一つのPCを使っているときには、confの影響が他のユーザに及ぶのも好ましくない。
できれば ユーザーディレクトリのSitesを使いたい。

アカウント別に設定する

個々のユーザー毎にSitesディレクトリを作って、設定ファイルをを作成し、apacheに反映させて、 http://localhost/~USERNAME/ で、~/Sites/ 以下のファイルを閲覧できるようにします。

ユーザーディレクトリを有効にする

/etc/apache2/httpd.conf の以下の2箇所の行のコメントアウトを外します。先頭に#が入っていると思うので、その#を削除します。

$ sudo vi /etc/apache2/httpd.conf
# 以下の行のコメントアウトを外します。
LoadModule userdir_module libexec/apache2/mod_userdir.so
# 以下の行のコメントアウトを外します。
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf

ユーザー名の確認

$ whoami

このコマンドで表示されるはずです。

ユーザーごとの設定ファイルを作成

$ sudo vim /etc/apache2/users/username.conf
<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

ユーザー毎のSitesディレクトリを作成してapacheを再起動

$ mkdir ~/Sites
$ sudo apachectl configtest
$ sudo apachectl restart

この流れで大丈夫だと思います。
以下にアクセスしたら、表示されるはず。

Screen Shot 2014-04-24 at 12.06.36.png

http://localhost/~username

あとは、Sites/ 以下にファイルを置いていって、そのURLにアクセスすれば見れるはずです。

全体を変更したい場合

この記事がある程度参考になるかもしれません。

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?