Cento OS 7이 있고 PHP 웹사이트가 설치되어 있습니다. 기본적으로 코드를 /var/www/html에 업로드해야 하지만 내 코드가 /home/magento에서 선택되기를 원합니다.
Cento OS에서 문서 루트 경로를 다시 작성하는 방법
답변1
다음 명령을 하나씩 사용하십시오.
chcon -R --reference=/var/www/html/ /home/magento
chcon -R -t httpd_sys_content_t /home/magento/
semanage fcontext -a -t httpd_sys_content_t "/home/magento(/.*)?"
setsebool -P httpd_enable_homedirs true
chmod 755 /home/magento # important !!
service httpd restart
답변2
DocumentRoot
지시어를 변경할 수 있습니다 httpd.conf
(이 내용은 에서 확인 가능 /etc
).
파일에는 다음과 같은 줄이 포함되어야 합니다.
DocumentRoot "/var/www/html"
다음으로 변경하세요.
DocumentRoot "/home/magento"
게시하려는 다른 위치에 디렉터리를 더 추가하는 경우 다음을 사용해야 합니다.가상 호스트 파일
또한 SELinux가 필수로 설정된 경우 /var/www 디렉터리의 컨텍스트와 일치하도록 디렉터리의 SELinux 컨텍스트를 설정해야 합니다. SELinux가 실행 중인지 확인하려면 다음을 사용하세요.
getenforce
출력이 "허용"인 경우 필수 사항은 아닙니다.
출력이 "강제"되면 강제됩니다.
디렉토리의 컨텍스트와 해당 내용을 변경하려면 다음 명령을 실행하십시오.
semanage -a -t httpd_sys_content_t "/home/magento(/.*)?"
이제 "httpd_sys_content_t"를 실행하면 ls -dZ /home/magento
컨텍스트가 출력에 나타나야 합니다.
홈 디렉토리 게시를 허용하려면 SELinux 부울을 설정해야 할 수도 있습니다. 이렇게 하려면 다음을 사용하세요.
setsebool -P httpd_enable_homedirs true
참고: Apache 사용자에게는 디렉터리 내용을 읽을 수 있는 권한도 필요합니다.