![경고를 중지하려면 Apache에서 SELinux를 비활성화하세요.](https://linux55.com/image/27829/%EA%B2%BD%EA%B3%A0%EB%A5%BC%20%EC%A4%91%EC%A7%80%ED%95%98%EB%A0%A4%EB%A9%B4%20Apache%EC%97%90%EC%84%9C%20SELinux%EB%A5%BC%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%ED%95%98%EC%84%B8%EC%9A%94..png)
재부팅하면 다음 오류가 계속 발생합니다 httpd
.
문서 루트가 존재하지 않습니다.
편집을 비활성화하는 것 외에 문제를 해결하려면 어떻게 해야 합니까 /etc/sysconfig/selinux
?
답변1
텍스트 편집기를 사용하여 /etc/selinux/targeted/booleans 파일을 엽니다.
# vi /etc/selinux/targeted/booleans
다음과 같이 httpd_disable_trans 값을 추가하거나 수정합니다.
httpd_disable_trans=1
파일을 저장하고 닫습니다. 다음 두 명령을 입력하십시오.
# setsebool httpd_disable_trans 1
# /etc/init.d/httpd restart
PostInstallerF가 도움이 될 수 있습니다
다음 리소스에서 도움을 받을 수 있습니다.
답변2
SELinux를 비활성화하지 마십시오. 그것은 단지 문제를 요구하는 것입니다.
문제 해결에 관해서는 단지내 말을 인용하자면여기:
웹 문서를 보관하기 위해 표준 파일 시스템 계층 외부에 새 디렉터리를 만든 것 같습니다.
이렇게 하면 SELinux는 사용자 정의 디렉터리 구조나 Apache(httpd)가 이에 액세스해야 한다는 사실을 알지 못합니다. /var/log/audit/audit.log
이 경우 거부 메시지가 표시됩니다.
실제로 문제를 해결하려면 Apache가 해당 디렉터리에 액세스할 수 있음을 SELinux에 알려야 합니다. 다음을 사용하여 이 작업을 수행합니다.의미론적 맥락주문하다:
semanage fcontext -a -t httpd_sys_content_t "/volume1/web(/.*)?"
패턴 일치는 정규식을 사용하여 수행되므로 /volume1/web
정규식과 그 아래의 모든 항목이 일치합니다. 정규식을 사용한다는 것은 위와 같이 인용해야 한다는 의미이기도 합니다.
그런 다음 파일에 다시 태그를 지정합니다.
restorecon -r -v /volume1/web
SELinux는 이제 Apache 액세스를 허용합니다 /volume1/web
.