Apache는 전체 디렉토리를 나열하지 않습니다.

Apache는 전체 디렉토리를 나열하지 않습니다.

저는 집에 있는 Linux 컴퓨터의 Apache를 친구들과 파일 몇 개를 공유하기 위한 임시 서버로 사용하고 있습니다. 따라서 나는 하위 디렉터리와 함께 이러한 파일에 대한 디렉터리 목록을 원합니다. 디렉토리 매개변수에 indexes 옵션이 있고 디렉토리가 표시됩니다. 문제는 하나의 하위 디렉터리만 볼 수 있고 다른 디렉터리는 나열되지 않는다는 것입니다. 모든 파일과 디렉터리에 대한 권한과 소유권은 동일하지만 아무 것도 변경되지 않습니다. 그리고 숨겨진 디렉터리에 강제로 들어가려고 하면 필요한 권한이 없다는 메시지가 나타납니다. 도움이 필요하세요?

Directory directive from conf file:
    <Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
    </Directory>
Permissions of Directory:
    drwxr-xr-x.  5 apache users 4096 Jan 22 17:17 DND
    drwxr-xr-x. 11 apache users 4096 Jan 16 08:16 Pathfinder
    -rwxr-xr-x.  1 apache users  119 Jan 19 17:30 README

Pathfinder와 그 안의 모든 내용이 표시되며 README는 URL을 통해 푸시할 때만 작동합니다. DND가 표시되지 않으며 URL을 통해 푸시해도 작동하지 않습니다.

답변1

호스팅된 솔루션에서도 동일한 문제가 발생하므로 "마스터" Apache 구성 파일에 액세스할 수 없습니다. 하지만 .htaccess하위 폴더에 넣고 허용하는 것은 허용됩니다 Options +Indexes. 그러나 그렇게 해도 호출된 파일은 README나열되지 않지만 이름이 지정된 파일은 Readme나열됩니다.

이것은 아마도 README최상위 Apache 설정의 어딘가에서 비활성화되어 있을 수도 있고 아마도 IndexIgnore; 그 문제는 다음과 같습니다

답장. htaccess가 기본 인덱싱을 복원할 수 있습니까? - WebmasterWorld의 PHP 서버 측 스크립팅 포럼

IndexIgnore를 설정하면 하위 폴더에서 이를 재정의할 수 없습니다. 주문 허용, 거부를 사용해 보세요.

... 그리고 저는 이것을 시도해 보았습니다:

Options +Indexes
<Limit GET POST>
  order deny,allow
  deny from all
  allow from all
</Limit>
<Files "README">
  order deny,allow
  deny from all
  allow from all
</Files>

, 그러나 이름이 지정된 파일에는 도움이 되지 않는 것 같습니다 README. 적어도 제가 가진 제한된 구성 가능성에는 도움이 되지 않습니다. 또 다른 점은 ReadmeName다음과 같은 속성이 있다는 것입니다 apache(예:apache2 - Apache에서 기본 ReadmeName 변경); 문제가 발생할 수도 있나요? 또한 비슷한 질문:http - Apache는 디렉토리 목록에 README.TXT 파일을 표시하지 않습니다. 어떻게 활성화할 수 있나요? - 스택 오버플로

어쨌든, 나에게 빠른 해결 방법은 파일 이름을 모두 대문자에서 README혼합 대문자로 바꾸는 것입니다...

답변2

아마도 Linux 배포판에 따라 다르지만 Centos 6.X에서 기본 Apache 구성에는 README로 시작하는 모든 파일을 제외하는 /etc/httpd/conf/httpd.conf에 IndexIgnore 지시문이 포함되어 있습니다.

관련 정보