내 웹 사이트(CentOS 8에 호스팅됨)에서 나머지 웹 사이트(/var/www/html)와 동일한 디렉터리에 있는 background.png 파일을 로드하려고 하는데 웹 사이트에서 로드를 거부합니다. 로컬 호스트/백그라운드에 직접 액세스합니다. .png 액세스 거부 오류가 발생합니다.
오류 로그에 "AH00132: 파일 권한이 서버 액세스를 거부합니다.". 동일한 디렉토리에 있는 스타일시트와 PHP 파일은 정상적으로 작동합니다.
이 문제를 해결하기 위한 다양한 방법을 온라인에서 찾아봤지만 해결할 수 없는 것 같고 매우 답답합니다. 내 웹 사이트는 (적어도 지금은) 하나의 이미지만 사용하도록 되어 있으므로 이론적으로는 온라인에 호스팅된 이미지를 사용할 수 있지만 몇 가지 이유로 그렇게 하고 싶지 않습니다.
내가 시도한 것들:
- .png 파일에서 chmod 755를 사용하거나 액세스 가능한 파일에서 chown/chmod --reference를 사용하세요.
- mod-mime "AddType image/png .png"가 있습니다.
- 내 phpmyadmin에 대한 일부 비밀번호 관련 항목을 제외하고는 .htaccess가 없습니다.
- /var/www/html 디렉토리의 대괄호 아래 httpd conf에 "AllowOverride All, Allow from all, Require all grant"를 추가했습니다.
- httpd를 다시 시작하세요
- 브라우저 지우기
다른 아이디어가 있나요? 저는 기본 이상의 Linux를 처음 접하는 사람이므로 화려한 용어를 사용하지 마십시오. :p
편집하다:
문제는 SELinux에 있습니다. 이것을 따른 후https://superuser.com/a/988862가이드 파일에 대한 읽기 액세스를 허용하도록 SELinux를 가져왔습니다. 도와주셔서 감사합니다!
답변1
서버에서 SELinux가 활성화되어 있는지 확인해야 합니다. 이 경우 Apache에 대한 액세스가 차단될 수 있습니다. 파일에 태그가 지정되는 방식을 살펴보고 구성을 수정하거나 파일에 태그를 다시 지정해야 합니다.