Я пытался настроить список каталогов для данного каталога на том же сервере (CentOS 7 с Apache httpd 2.4.6-88) .
Я наткнулся на пример отображения значков общедоступного домена, который, кажется, идет с 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
?
Наконец-то я нашел то, чего не хватало. Я не очень знаком с 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.
Надеюсь, это поможет