MAMPでサーバ構築&設定 その3,OSXのユーザディレクトリでwww公開したい編
その2でバーチャルホスト設定の記述を書きましたが、これらapacheの設定はMAMPに限らずapache一般に使えます。
で、その3ですがwebdavの事を書こうかと思いましたがその前にその他の設定を書きます。
タイトルのようにユーザ領域の指定です。
MAMPでサーバ運用する場合はあまり必要ないと思いますが、OSX標準装備されているapacheを動かすと各々のユーザ領域が公開領域になります。
そういう状態でサーバ運用を開始してしまったので
このサイトの前のURLが http://www.andy-yamatai.com/~yamatai になってしまいました。
そこにまだリンクを貼って下さっている方がいらっしゃる関係上MAMPで動かしても以前のところへのアクセスを残してリダイレクトしなければいけないという事でユーザ領域の設定を別にしなければいけませんでした。
そういう特殊事情が無い限りは必要がないと思いますが、もしかしてドキュメントルートでの運用ではなくユーザ領域でのサイト公開がしたいという場合もあるでしょうからこれを書きます。
さて普通UNIXのユーザ領域と違ってOSXの場合ちょっと特殊です。
通常なら /home/ユーザ/public_html なのですが
OSXの場合 /Users/ユーザ/Sites です。この /Sites で公開できるように
httpd.conf に設定を書き足します。
/Applications/MAMP/conf/apache/httpd.conf を開き427行目付近から
******************************
UserDir public_html
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>
*******************************
と書いてあります。
*******************************
UserDir public_html
*******************************
この部分をコメントアウトして、その下の行に書き足します。
*******************************
#UserDir public_html
UserDir Sites
*******************************
として
#</Directory>
より下に新たに設定を書き足しましょう。
/etc/httpd/httpd.conf に書いてある設定をそのままコピーしてかまいません。
*******************************
<Directory /Users/*/Sites>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
*******************************
apacheを再起動すればOSXのユーザディレクトリを www 公開ディレクトリとして使えるようになります。
前回のようにバーチャルホストの設定をすればユーザディレクトリに『~』を付けずにホスト名を割り当てる事が出来ますね。

