Apache가 새 문서 루트 디렉터리를 사용하지 않습니다.

Apache가 새 문서 루트 디렉터리를 사용하지 않습니다.

Centos 7에 Apache 웹 서버를 설치하고 활성화했습니다 mod_ssl. 하지만 기본 문서 루트를 새 루트(예: )로 변경하려고 하면 페이지 /home/user/public_html가 표시됩니다 403 Forbidden. 아마도 디렉토리에 대한 권한 때문인 것 같은데 어떻게 해야 할지, 어떻게 변경해야 할지 모르겠습니다. 이제 어떻게 해야 하나요? 어떤 도움이라도 정말 감사하겠습니다.

답변1

사용자 홈 디렉토리에 문서 루트를 넣지 마십시오. 이는 여러 가지 이유로 안전하지 않으며 SELinux는 기본적으로 웹 서버가 사용자 홈 디렉터리의 파일을 읽는 것을 허용하지 않습니다. SELinux가 인식하는 디렉토리(예: )를 사용하여 /srv/www각 가상 호스트에 대한 디렉토리를 생성하고 콘텐츠에 액세스해야 하는 사용자에게 적절한 권한과 ACL을 부여합니다.

어떤 이유로 모범 사례를 따를 수 없고 웹 서버가 사용자 홈 디렉터리의 콘텐츠를 읽도록 해야 하는 경우 httpd_read_user_content부울을 설정할 수 있습니다.

setsebool -P httpd_read_user_content 1

그러나 보안을 위해 SELinux는 사용자 홈 디렉터리에 대한 쓰기를 절대 허용하지 않으므로 콘텐츠(예: 사용자 업로드) 쓰기를 예상하는 웹 애플리케이션 기능은 작동하지 않습니다. 와 같은 다른 디렉토리 아래에 /srv/www쓰기 가능해야 하는 디렉토리에 유형을 지정할 수 있습니다 httpd_sys_rw_content_t.

관련 정보