カテゴリー : Apache

Apache ディレクトリインデックスを非表示にする

備忘録です。

index.html や index.php がないディレクトリをアクセスしたとき、ファイルリストが表示されて慌ててしまった。たまーにしか設定したことがないので、名称すら忘れてしまい説明書を確認するために時間を食ってしまい、がっかりだよ。

<Directory /var/www/htdocs>
    Options -Indexes FollowSymLinks MultiViews
    :
</Directory>

「-Indexes」の「-」を忘れると、さぁ大変。中身が丸見え。

FollowSymLinks は、シンボリックリンクの追加を許可する。が、セキュリティ上、シンボリックリンクが必要な場合は Alias を利用する方が良い。

Alias /manual/ /var/www/manual/

MultiViewsは、コンテンツネゴシエーションを許可する。って、何だか良く分からないけど、ブラウザとApacheの間でネゴシエーションして、特定のドキュメントを提供するようにする、とかができる。

Apache サブディレクトリの隠ぺい

備忘録です。

サーバー上の公開ディレクトリにPHPプログラムを置いた場合、中のテンプレートファイルなどが外からアクセスされるのは嬉しくない。そこで mod_access モジュールでディレクトリへのアクセスを拒否するように設定する。

<Directory /var/www/htdocs/proc/>
    Order Allow,Deny
    Deny from all
</Directory>

これに特定のIPアドレスからのアクセスだけ許可する方法は、「Deny from all」の次の行に「Allow from xxx.xxx.xxx.xxx」と単一のIPアドレスを指定すれば良い。

この設定は、さくらのレンタルサーバーで「.htaccess」に設定する場合、「<Directory …>」をコメントアウトする必要がある。