OSXのApache2を起動するとユーザーのホームディレクトリ内のサイト(Sites)というディレクトリが勝手に公開されるようになる。例えばユーザー名が「monkey」であれば、ブラウザで以下のようなURLにアクセスすれば動作を確認できる。
http://localhost/~monkey http://(サーバのIPアドレス)/~monkey http://(サーバのFQDN)/~monkey
ユーザーディレクトリの公開はバーチャルホストに対しても有効で、気づかずにユーザーディレクトリを公開してしまっている。
[ユーザーディレクトリの公開停止]
まずApache2の設定ファイル(/etc/apache2/httpd.conf)を以下のように編集する。
(変更前)
Include /private/etc/apache2/extra/httpd-userdir.conf
(変更後)
#Include /private/etc/apache2/extra/httpd-userdir.conf
[ユーザーディレクトリの変更]
デフォルトではユーザーのホームディレクトリのサイト(Sites)というフォルダがユーザーディレクトリである。例えばホームディレクトリに「public_html」というディレクトリを作成し、これをユーザーディレクトリにするには、ユーザーディレクトリの設定ファイル(/etc/apache2/extra/httpd-userdir.conf)を以下のように編集する。
(変更前)
UserDir Sites
(変更後)
UserDir public_html
[ユーザーディレクトリの設定変更]
ユーザーディレクトリはユーザー毎の設定ファイルが読み込まれるようになっており、これを編集する。例えばユーザー「monkey」のユーザーディレクトリの設定ファイルは「/etc/apache2/users/monkey.conf」であり、デフォルトでは以下のような設定になっている。
<Directory "/Users/monkey/Sites/"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
コメントを残す