httpd가 예상대로 conf/httpd.conf의 문서 루트를 읽지 않습니다.

httpd가 예상대로 conf/httpd.conf의 문서 루트를 읽지 않습니다.

내 CentOS7 서버에 "/var/www/html/myProject" 폴더에 있는 Laravel 프로젝트가 있습니다.

"DocumentRoot"와 디렉토리의 /etc/httpd/conf/httpd.conf에 있는 문서 루트를 "/var/www/html/myProject/public"으로 변경했으므로 브라우저에 IP를 입력하면 항목 자동으로 표시됩니다.

이 작업을 수행하고 브라우저를 통해 내 IP에 액세스하려고 하면 다음 메시지가 나타납니다.

접근 금지됨 이 서버의 /form에 접근할 수 있는 권한이 없습니다. 서버가 htaccess 파일을 읽을 수 없습니다. 보안을 위해 액세스가 거부되었습니다.

추가 조사 결과 /var/log/httpd/error_log에서 액세스를 시도할 때마다 다음 오류가 발생하는 것을 발견했습니다.

[Thu May 10 19:39:33.683522 2018] [core:crit] [pid 1994] (13)Permission denied: [client 79.182.62.1:51091] AH00529: /var/www/html/myProject/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/html/myProject/' is executable

경로는 /var/www/html/myProject/public이어야 하는데 "public"이 누락되어 있기 때문에 이것이 이상하게 보입니다.

나는 아파치를 몇 번 다시 시작하고 업데이트되었는지 확인하기 위해 DocumentRoot 경로를 가상 경로로 변경했습니다.

.htaccess 파일에 뭔가가 있을 수 있나요? 파일을 변경하지는 않았지만 라라벨이 생성한 그대로 두었습니다.

답변1

이는 공개 파일에 대한 권한 때문일 수 있습니다. 이제 전체 권한을 부여하고 어떤 작업을 수행하는지 확인하세요.

chmod 0777 /var/www/html/myProject/public

또는

chmod -R 0777 /var/www/html/myProject

페이지에 여전히 액세스할 수 없으면 호스트에서 SElinux 상태를 확인하세요.

sestatus현재 모드를 입력 하고 확인하세요. 비활성화되거나 허용 모드에 있어야 합니다. 시행 모드에서는 httpd웹페이지에 콘텐츠가 예상대로 표시되지 않을 수 있습니다.

SElinux를 허용 모드로 설정하려면 다음 명령을 입력하십시오.

setenforce 0

관련 정보