OS 변경 후 방금 애플리케이션을 다시 활성화했습니다. 물론 심볼릭 링크는 /var/www/myapp에 있습니다. 권한을 0775(또는 임시 0777)로 변경하고 소유자를 apache:myuser, myuser:apache, myuser:myuser 및 apache:apache로 변경하고 SELinux를 비활성화합니다. 이제 충분합니다. 아무것도 작동하지 않고 여전히 짜증나는 메시지가 나타납니다.
금지됨 이 서버에 접근할 수 있는 권한이 없습니다.
오류 기록:
[클라이언트 127.0.0.1:38050] AH00037: 심볼릭 링크가 허용되지 않거나 링크 대상에 액세스할 수 없습니다: /var/www/myapp
나는 이 상황에 너무 화가 나서 저녁 시간의 절반을 낭비할 뻔했습니다 ://
/var/www/myapp 및 그 안의 모든 파일은 775이며 apache:apache를 실행 중입니다.
나는 또한 httpd, php 및 apache 모듈을 다시 설치하려고 시도했지만 전체 www를 탐색했지만 아무것도 탐색하지 않았습니다. :/ 최대한 빨리 도움이 필요하세요!
편집하다: 언급하는 것을 잊어버렸습니다 - /var/www/myapp은 /home/myfolder/projects/myapp <--- 이 또한 chmod'ed 및 chown'ed 심볼릭 링크되었습니다.
편집 2:
이제 conf/httpd.conf에 사용자와 그룹을 "내 사용자"로 추가하여 내 홈 폴더에 쓸 수 있도록 허용했습니다.심볼릭 링크 오류는 더 이상 존재하지 않지만 Apache는 여전히 내 사용자가 속한 폴더에 쓸 수 없습니다.또한 conf/httpd.conf에서 내 사용자와 Apache 사용자를 혼합하고 /home/.../myapp에 대해 유사한 권한을 설정해 보았습니다. RedHat 배포판은 정말 훌륭합니다! 내 경우 이런 식으로 특권이 무시된 것은 이번이 처음이 아니다. :/
편집 3: Fedora OS를 제거하고 UBUNTU :D를 설치하여 문제를 해결했는데 완벽하게 작동했습니다. 동일한 권한, 동일한 파일 - 심볼릭 링크 또는 apache:my_user에 쓰기 문제 없음...이해가 안 돼요...-_-
답변1
이 문제에 대한 대답은 심볼릭 링크가 가리키는 파일/디렉토리의 소유자가 심볼릭 링크를 소유하도록 만드는 것입니다.
이 추가 단계는 패치로 도입되었습니다(Fedora만 이를 적용하고 있거나 결과로 나타납니다).
아파치 소스 코드 읽기(온라인에서 답변을 찾을 수 없어서 이렇게 해야 했는데, 이것이 가장 가깝습니다.) 이것이 OPT_SYM_OWNER
당신(그리고 저)을 아웃시킨 범인인 것 같습니다.
수정사항은 대상 파일/디렉토리 chown -h myuser:mygroup <the_symlink>
와 동일합니다.myuser:mygroup
답변2
Apache 자체 내에서 심볼릭 링크가 활성화되어 있는지 확인하십시오. 권한이 양호하더라도 Apache는 반드시 심볼릭 링크 리디렉션을 허용하지는 않습니다.
<Directory /var/www/myapp>
Options +FollowSymLinks
AllowOverride All
...
</Directory>
답변3
FollowSymLinks가 올바르게 설정되었다고 가정할 때, 문제는 귀하의 홈 디렉터리가 다른 사람의 홈 디렉터리 통과를 허용하지 않는다는 것입니다(하위 디렉터리에 액세스할 때 상위 디렉터리의 권한이 중요합니까?). 이는 Fedora의 기본 설정입니다.좋다Ubuntu의 기본 설정은 더 허용적이므로 전환해야 합니다.
이 경우라고 가정하면 오류 메시지는 다음과 같습니다.최대유익하면서도 오류가 없습니다.
귀하의 좌절감을 이해합니다. 하지만 여기서 정말 신비한 일이 벌어지고 있거나 특별히 잘못된 일은 없다고 생각합니다. Fedora 기본값은 기본적으로 보안/개인 정보 보호에 더 민감합니다. (참고로 이것도꽤 쉬운SELinux가 활성화된 상태에서 작동하도록 하고 원하는 경우 추가 보호 계층을 제공합니다. )
따라서 면책조항: 저는 Fedora에서 작업하고 있으며 모두가 Fedora를 사용한다면 좋을 것입니다. 하지만 그들이 거대한 Linux 세계를 사용하지 않더라도 상관없습니다. 하지만,여기에 문제가 있습니다 ...조만간 우분투에서도 비슷한 상황을 보게 될 것인데, 이상한 오류 메시지가 전체 내용을 말해주지는 않습니다. 어쩌면 창밖으로 던져버리고 Arch나 openSUSE, $flavoroftheday로 옮기거나 심지어 Fedora로 돌아가서 문제를 해결할 수도 있습니다.구성이 조금 다르기 때문에. 하지만 다음 번에 이런 일이 일어나기까지 얼마나 걸리나요? 나는 당신이 정말로 일을 끝내고 컴퓨터가 방해가 되지 않기를 원한다는 것을 알고 있습니다. 그러나 궁극적으로 화를 내고 모든 것을 바꾸면더일하다.
답변4
SELinux의 메시지를 사용하여 작업했습니다.
SELinux는 httpd의 ***** 디렉토리에 대한 읽기 액세스를 차단하고 있습니다.
*****플러그인 catchall_boolean(89.3 신뢰도) 권장******************
httpd가 사용자 콘텐츠를 읽을 수 있도록 하려면 "httpd_read_user_content" 부울을 활성화하여 SELinux에 알려야 합니다.
...
하다
setsebool -P httpd_read_user_content 1