Apache インデックスの表示を禁止する

ディレクトリ構成が覗けちゃう


ルートディレクトリ内に/var/www/index.htmlなんてファイルがあれば問題ないのですが、
ディレクトリ内のインデックスを覗けてしまう…というのは、
特に/imgとか/cgiとかなんていうディレクトリではよろしく無いですよね。

禁止にする


画像のように、閲覧できないよう設定を行いたいと思います。
今回の環境は、"Debian5.0.8"です。

1.設定ファイルを有効に

私の環境では初期状態で、設定ファイルである".htaccess"が有効となる設定ではありませんでした。
そこで有効となるよう、"/etc/apache2/sites-available/default"に以下のよう変更を加えます。

AllowOverride None
→ AllowOverride all

2.".htaccess"

次に設定ファイルを書きます。
ちなみに、設定ファイルがあるディレクトリ以下のディレクトリでも同様に有効となります。
ただし子ディレクトリに個別に".htaccess"ファイルを用意されていれば、
それ以下のディレクトリでも同様、そちらの設定が優先されます。
今回の場合では、最上位であるApacheのルートディレクトリとなっているディレクトリに".htaccess"ファイルを作成することにしました。

Options -Indexes

また、今後何かインデックスをあえて表示させたい場合は、以下のようなファイルを個別に追加することで
個別に表示させることも出来ます。

Options Indexes

3.再起動

最後にApacheを再起動し、設定を有効にします。

# /etc/init.d/apache2 restart

参考にさせていただいたサイト

Debian(sarge) - きど家 FrontPage