Apache의 "AH00132: file permissions deny server access"

4181 단어 아파치

환경


  • OSX
  • XAMPP-OSX 7.2.31 Rev.1
  • Apache 2.4.43

  • 증상



    XAMPP에서는 xamppfiles/htdocs가 기본적으로 Apache의 DocumentRoot이지만,

    기본
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
    

    매번이 htdocs· 프로젝트별로 이름 바꾸기
    · Git으로 복제 된 디렉토리에 모두 C & P하여 커밋
    하는 작업이 비효율적으로 느껴 왔기 때문에 로컬의 Apache on XAMPP를 작업 디렉토리로 가져오고 싶었다.DocumentRoot
    DocumentRoot "/Users/<user>/Documents/Projects"
    <Directory "/Users/<user>/Documents/Projects">
    

    에 가져 오면, 그대로 작업 디렉토리에 서버를 세우므로 상기 2개의 작업 오버헤드를 줄일 수 있다.
    라고 생각했기 때문에 변경해 보면



    라고 생각했다.

    DocumentRoot 변경



    변경 전
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
        Options Indexes FollowSymLinks ExecCGI Includes
        AllowOverride All
        Require all granted
    </Directory>
    

    변경 후
    DocumentRoot "/Users/<user>/Documents/Projects"
    
    <Directory "/Users/<user>/Documents/Projects">
        Options Indexes FollowSymLinks ExecCGI Includes
        AllowOverride All
        Require all granted
    </Directory>
    

    했던 일



    우선 로그를 확인.
    가로로 보기 좋기 때문에 적당히 개행하고 있습니다.
    [core:error] [pid 18609] 
    (1)Operation not permitted: [client ::1:54134] 
    AH00132: file permissions deny server access: 
    /Users/<user>/Documents/Projects/index.html
    

    테스트를 위해 $ echo "Hello" > /Users/<user>/Documents/Projects/index.html로 만든 폴더에 대한 권한이없는 것 같습니다.
    index.html에 대하여
    $ chmod 755 /Users/<user>/Documents/Projects/index.html
    $ chmod +x /Users/<user>/Documents/Projects/index.html
    

    했습니다만, 증상은 변함없이.

    상위 디렉토리 & index.html 모두 오픈한 권한으로 해봐도, 증상 변함없이.


    httpd를 실행하는 apache 사용자 daemon ~ id
    $ id daemon
    uid=1(daemon) gid=1(daemon) groups=1(daemon),12(everyone),61(localaccounts),
    100(_lpoperator),701(com.apple.sharepoint.group.1)
    

    특히 문제는 없을 것 같습니다.

    기타 증상



    httpd의 로그를 열람하고 있으면 XAMPP가 얼어버린다.

    해결 방법



    알 수 없습니다.
    httpd.confDirectory 의 설정은 잘못되어 있을 것 같다, 라고 할까 원래 htdocs 이었을 때의 것을 디렉토리만 재기록한 것이므로 움직이지 않을 리가 없다.

    원래 httpd.conf에서 거부 된 경우
    AH01630: client denied by server configuration
    

    궁금해.

    왜 권한을 모두 주고 있는데 열람 불가인가? . .

    해결에는 이르지 않았습니다만, 정보원이 적었기 때문에 써 보았습니다.
    원인 알 것 같은 분, 코멘트 란에 부탁합니다.

    좋은 웹페이지 즐겨찾기