• 締切済み

Apache2.2.6にてBasic認証の設定

.htaccessファイルに /home/hoge/public_html/admin/.htaccessを作成して AuthType Basic AuthUserFile /home/hoge/public_html/admin/.htpasswd AuthGroupFile /dev/null AuthName "test" <Limit GET POST> require valid-user </Limit> <Files .htaccess> Order deny,allow Deny from all </Files> とするとエラーで動きません。 <Files...をコメントアウトすれば動くようになったのですが、 ファイルのアクセス制限をかけるにはどうしたらいいのでしょうか? httpd -M で確認しても authz_host_module (static) となっていて必要なモジュールは認識してるようですし、 2.2になってだいぶ変更があったみたいで、色々調べて試してみたのですができなくて困っています。 よろしくお願いします。

みんなの回答

回答No.4

order not allowed here というエラーが出るということは、 Apache の設定ファイル httpd.conf において、 AllowOverride ディレクティブ で、Allow Order Deny の使用を許可していないのではないでしょうか。 AllowOverride ディレクティブは、.htaccess ファイルで使用できるディレクティブを許可します。 認証に関するディレクティブはうまくいっているとのことなので、 AllowOverride AuthConfig となっているのでは。 AllowOverride AuthConfig Limit とLimit を書き足すか、 AllowOverride All と書き換えて、httpd を再起動すれば、 .htaccess 内でホストへのアクセス制御ができるようになります。

参考URL:
http://59.106.2.6/manual/mod/core.html#allowoverride
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.3

どんなエラーがでるのでしょうか? apacheのログが見れるならログから、見られないならブラウザに表示されるものでもいいので。 AuthGroupFile に必要なモジュールをいれていないので、その部分だけ削りましたが、その状態で2.2.3で問題なく動作しました。

kcdgi7
質問者

補足

ブラウザからはInternal Server Errorになります。 Apacheのlogには /home/hoge/public_html/admin/.htaccess: order not allowed here となります。 よろしくお願いします。

noname#51778
noname#51778
回答No.2

ファイルの場所を特定する書き方ではどうでしょうか。 たとえば <Directory /home/hoge/public_html/admin> <Files .htaccess> Order deny,allow Deny from all </Files> </Directory> とか <Directory /home> <Files test.html> Order deny,allow Deny from all </Files> </Directory> のようにディレクトリを特定してみてもエラーになりますか。

kcdgi7
質問者

補足

やってみましたがエラーになりました・・・

noname#51778
noname#51778
回答No.1

.htaccessではないファイルへのアクセス制限を書いてもエラーになりますか?

kcdgi7
質問者

補足

同じディレクトリにtest.htmlを作ってそれを指定してみましたが同じようにエラーになりました。

関連するQ&A