ApacheLoungeのWin7マシンでApache2.464ビットVC10ビルドを使用して、フォルダーファイルビューを有効にするにはどうすればよいですか?そのフォルダにインデックスファイルがないすべてのフォルダにあるファイルを確認したいだけです。
これは開発目的のみです。オプションインデックス/すべてのオプションを使用してみて、サーバーを数回再起動しました。私が得るのは403Forbiddenだけです。
Apache のディレクティブは、バージョン 2.2 から 2.4 以降に変更されました。
バージョン 2.4.7 を実行しており、基本的な vhost ファイルは次のようになります。
<VirtualHost 192.168.1.5:80>
DocumentRoot /srv/html/
ServerName some.placeoverthe.rainbow
<Directory /srv/html/>
Options Indexes ## Allows directory browsing.
Require all granted ## Allow all request
</Directory>
</VirtualHost>
Apache Web サイトから取得: https://httpd.apache.org/docs/2.4/upgrading.html
以下は、同じアクセス制御を行う古い方法と新しい方法の例です。
この例では、すべての要求が拒否されます。
2.2 構成:
Order deny,allow
Deny from all
2.4 構成:
Require all denied
この例では、すべてのリクエストが許可されます。
2.2 構成:
Order allow,deny
Allow from all
2.4 構成:
Require all granted
次の例では、example.org ドメイン内のすべてのホストがアクセスを許可されています。他のすべてのホストはアクセスを拒否されます。
2.2 構成:
Order Deny,Allow
Deny from all
Allow from example.org
2.4 構成:
Require host example.org
ディレクトリのインデックス作成
Apache Web サイトから取得: http://httpd.apache.org/docs/2.4/mod/core.html
Options ディレクティブは、特定のディレクトリで使用できるサーバー機能を制御します。
オプションは None に設定できます。この場合、追加機能は有効にならず、次の 1 つ以上が有効になります。
全て
All options except for MultiViews.
ExecCGI
Execution of CGI scripts using mod_cgi is permitted.
シンボリックリンクをたどる
サーバーは、このディレクトリ内のシンボリック リンクをたどります。これがデフォルト設定です。
サーバーはシンボリックリンクをたどりますが、セクションとの照合に使用されるパス名は変更しません。
FollowSymLinks および SymLinksIfOwnerMatch オプションは、セクションまたは .htaccess ファイルでのみ機能します。
このオプションを省略しても、セキュリティ上の制限と見なされるべきではありません。シンボリック リンクのテストは競合状態の影響を受けて回避可能になるためです。
含む
Server-side includes provided by mod_include are permitted.
含むNOEXEC
Server-side includes are permitted, but the #exec cmd and #exec cgi are disabled. It is still possible to #include virtual CGI scripts from ScriptAliased directories.
インデックス
ディレクトリにマップする URL が要求さ れ、そのディレクトリにDirectoryIndex (たとえば、index.html)がない場合、 mod_autoindexはディレクトリのフォーマットされたリストを返します。
マルチビュー
mod_negotiation を使用して、ネゴシエートされたコンテンツ「マルチビュー」が許可されます。
注:
mod_negotiation は比較および評価するために実際のリソースを必要とするため
、 以外の場所に設定すると、このオプションは無視さ
SymLinksIfOwnerMatch
The server will only follow symbolic links for
which the target file or directory is owned by
the same user id as the link.
補足として: apache を実行しているユーザーがそのディレクトリから読み取る権限を持っていることを確認してください。Windows ではこれは問題にならないかもしれませんが、Linux では問題になる可能性があります。ほとんどの Linux ディストリビューションでは、デフォルトのユーザーは通常次のとおりです。
www-データ
そのため、apache が実行されているユーザー以外のユーザーがディレクトリを所有している場合は、そのディレクトリのアクセス許可を変更して apache アクセスを許可する必要があります。
<Directory "/srv/www/htdocs">
Options +Indexes
################
Order allow,deny
Allow from all
</Directory>