Apache 自动索引列出目录但不列出文件

Apache 自动索引列出目录但不列出文件

我一直在尝试为同一台服务器(带有 Apache httpd 2.4.6-88 的 CentOS 7)上的给定目录设置目录列表。
我偶然发现了一个显示公共域图标的示例,该示例似乎随 httpd 一起提供,并且运行良好。

我尝试将我的文件复制到图标旁边,效果很好=)我可以浏览我的目录并获取其中的文件。
示例位于下方/usr/share/httpd/icons/,而我的文件位于下方/usr/share/httpd/delivery

我没能做到的是列出文件/var/local/delivery在我为此目的创建的目录下。
整个目录树都在这里,我可以浏览所有目录,但无法显示其中的文件...我的目录树中的每个“叶”目录下都有一个空列表,文件应该位于其中。

更改目录/文件的所有者似乎没有效果,所以我排除了某种权限问题。

这是我添加的配置/etc/httpd/conf.d/autoindex.conf

Alias /deliveries/ "/var/local/delivery/"
Alias /deliveries "/var/local/delivery/"

<Directory "/var/local/delivery/">
    Options Indexes MultiViews FollowSymlinks
    AllowOverride None
    Require all granted
</Directory>

以下是IndexIgnore同一文件中的行

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

我错过了什么“隐藏”我的文件(而不是目录) 仅有的当它们处于之下/usr/share/httpd/delivery和不处于之下时/var/local/delivery

答案1

我终于找到了缺失的东西。我不是极其熟悉 SELinux,但问题似乎出在那里。

使用此命令:

chcon -R -t httpd_sys_content_t /var/local/delivery

我更改了目录的 SELinux 上下文,以允许 httpd 访问它。我在这里找到了解决方案https://askubuntu.com/a/720162/814202尝试直接访问我未看到的文件之一后,出现了错误

access denied because search permissions are missing on a component of the path

这让我想到了 askubuntu 问题。

希望这可以帮助

相关内容