2006.01.25
apache2.1版以降のhttpd.confと.htaccess・・・(Apache)
以前に.htaccessの仕様がapache2.0と2.1以降で異なるので2.0を使うと書いた。
しかし、将来を考えると何時までも古い版数のapacheを使い続けるのも問題なので、色々調べてみた。apacheのサイトのDocumentを読んだが分かり難いので、ここに自分の言葉で書いておくことにした。
ざっと、見たところ基本的な方針はrootになれる人は全てhttpd.confで設定すべきで、rootになれない人のために最低限許すとの考えで貫かれているようだ。
それで、いままで気安くAllowOverride Allなどと書いてたのが許されなくなったようだ。
1. htaccessを許す場合
もし、CGIの実行とユーザ認証をDocument Root内において.htaccessでの指定を許すなら(このケースが多いと思う) Document Rootのディレクティブで
AllowOverride Options AuthConfig
となる。 記述は実行名でなくカテゴリーなのが要注意で、ExecCGIではなくOptionsとなる。 そして
ディれクティブ内の
# AddHandler cgi-script .cgi
のコメントアウトの#を除いて有効にする。
2. 全てhttpd.confで設定する場合(こちらが正統)
もし、rootで何時も設定するとの方針ならDocument Rootディレクティブで
Options Indexes FollowSymLinks ExecCGI AllowOverride None
そして、認証を行うページ(仮にabcdとする)に対して新しいディレクティブを作り次のように記述する。
<Directory "/web/data/abcd"> ・・・・ /web/dataがDocument Rootのケース AuthType Basic AuthUserFile 設定ファイル AuthName "メンバーのグループ名" ・・・これは好きな名前でよい <Limit POST GET> require valid-user </Limit> </Directory>
となる。
コメント
コメントフィードを購読する
コメント投稿