2.4ではなくApache 2.2を使用しています。これは、タイトルのエラーを説明しています。 Brain99が彼のコメントを投稿した後、私は2.2を持っていること、彼の提案に構成を調整し(まだ機能しない)、少し試し、一晩寝て、翌日私がそれを忘れたことを知ったことがわかりましたmodが有効なディレクトリのステートメントを含めます!
とりあえず、特定の1つのフォルダーからファイルをダウンロードできるようにするサーバーが必要です(私の場合、そのタスクには/ opt/myFolderを選択しました)
ディストリビューションはDebian 6.0
edit_start
Apacheのバージョンは2.4です。公式ドキュメントによると、Order/Allow句は廃止されており、今後は使用しないでください。
私はばかです:Apacheのバージョンは2.2です。
edit_end Apache2.confの私のディレクトリディレクティブは次のようになります。
<IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> ServerRoot "/etc/Apache2" DocumentRoot "/opt/myFolder" <Directory /> Options FollowSymLinks AuthType None AllowOverride None Require all denie </Directory> <Directory "/opt/myFolder/*"> Options FollowSymLinks MultiViews AllowOverride None AuthType None Require all allow </Directory>
そのフォルダー( http://myserver.de/aTestFile.Zip )内のファイルにアクセスしようとすると、内部サーバーエラーが発生します。また、Apacheは次のエラーをログに書き込みます。
configuration error: couldn't check user. Check your authn provider!: /aTestFile.Zip
認証が必要ない場合、なぜ認証プロバイダーが必要なのですか?また、そのために必要なAuthenticationProviderの種類を誰かに説明していただければ幸いです。ファイルやディレクトリをパスワードで保護したり、一部のIPアドレスへのアクセスを制限したりする方法を尋ねる人々に指摘されるものを検索するたびに、これは本当に役に立ちません。
oK、Apacheバージョン2.2を使用しているため、AuthType/Requireの代わりにOrder/Deny/Allowコマンドを使用すると、次のエラーが発生します。
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration.
これは、次の誤った構成ディレクティブが原因であると思います。
Require all denie
Require all allow
代わりに次の構成を試してください。
<Directory />
Options FollowSymLinks
AuthType None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/opt/myFolder/*">
Options FollowSymLinks MultiViews
AllowOverride None
AuthType None
Order deny,allow
Allow from all
</Directory>
編集2: mod_authz_Host モジュールがロードされていないことが原因である可能性もあります。これをa2enmod authz_Host
で有効にして、Apacheを再起動してみてください。
また、AuthType None
は無効のようです。 AuthType
ディレクティブを構成から完全に削除するだけです。