Yosemiteの場合はMavericksのときと状況が少し変わっています。
Apacheのバージョンも違い、設定内容も幾つか違うのでご注意を。
$ apachectl -v
Server version: Apache/2.4.9 (Unix)
Server built: Sep 9 2014 14:48:20
以前は2.2系だったような。
なおMavericksの場合はこちら↓
MacOS X の Mavericks (10.9) で Sites ディレクトリを使って localhost をアカウント別に利用する方法
MacOSはMavericksやYosemiteだとWeb共有が環境設定に表示されなくなったり、 Sites ディレクトリがなくなったりします。
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 の以下の行のコメントアウトを外します。先頭に#が入っていると思うので、その#を削除します。
$ sudo vi /etc/apache2/httpd.conf
# 以下の4行のコメントアウトを外します。すでに外れているものもあるかもしれません。
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
ユーザーごとの設定ファイルを読み込む様に設定
Includeの行のコメントアウトを外します。
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
---
Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
RegisterUserSite customized-users
</IfModule>
ユーザー名の確認
$ whoami
このコマンドで表示されるはずです。
ユーザーごとの設定ファイルを作成
Order allow,deny
Allow from all
↓ ↓ ↓
Require all granted
$ sudo vim /etc/apache2/users/username.conf
<Directory "/Users/username/Sites/">
AllowOverride All
Options Indexes FollowSymLinks Multiviews
Require all granted
</Directory>
ユーザー毎のSitesディレクトリを作成してapacheを再起動
$ mkdir ~/Sites
$ sudo apachectl configtest
$ sudo apachectl restart
この流れで大丈夫だと思います。
以下にアクセスしたら、表示されるはず。
http://localhost/~username
あとは、Sites/ 以下にファイルを置いていって、そのURLにアクセスすれば見れるはずです。