« | Home | »

2006.01.25

apache2.1版以降のhttpd.confと.htaccess

以前に.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>

となる。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)