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
.