403 Apache에서 localhost를 보려고 할 때 금지 된 오류


4

제 아파치가 망쳐 야한다고 생각합니다. 나는 그것이 이제까지 작동하는지 모른다. 방금 스노우 레오파드로 업그레이드 했고이 튜토리얼 의 첫 번째 단계 는 아파치를 시작하고 http : // localhost를 열어 아파치가 작동하는지 확인하는 것이다 . 그것은 잘 시작하지만 localhost에 갈 때 403 금지 된 오류가 발생합니다.

나는 그것을 고치는 방법을 알아내는 것을 시작할 곳이 어디인지 알지 못하기 때문에, 아파치의 새로운 설치가 트릭을 할 수 있을지 궁금하다.

어떻게 생각해?

업데이트 : 일부 오류 로그인을 발견했습니다 /private/var/log/apache2/. 로그 중 하나에서 이걸 찾았습니다. 확실하지 않은 내용 :

[Tue Nov 10 17:53:08 2009] [notice] caught SIGTERM, shutting down
[Tue Nov 10 21:49:17 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
httpd: Could not reliably determine the server's fully qualified domain name, using Andrews-Mac-Pro.local for ServerName
mod_bonjour: Skipping user 'andrew' - cannot read index file '/Users/andrew/Sites/index.html'.
[Tue Nov 10 21:49:19 2009] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 10 21:49:19 2009] [notice] Digest: done
[Tue Nov 10 21:49:19 2009] [notice] Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8k DAV/2 PHP/5.3.0 configured -- resuming normal operations

업데이트 : 나는 또한 dummy-host.example.com-error_log파일 에서 뭔가를 발견했다 . 그런데 이러한 더미 호스트 물건을 설정하지 않았습니다. 이것이 기본 구성입니까?

[Tue Nov 10 21:59:57 2009] [error] [client ::1] client denied by server configuration: /usr/docs

업데이트 : 우 후! 가상 호스트 정의가있는 파일을 찾았습니다. 안에 있었어 /etc/apache2/extra/httpd-vhosts.conf. 거기에 가상 호스트 설정이 두 개 있습니다. 나는 localhost가상 호스트를 추가했다 . 이것이 필요한지 확실하지 않지만 이전에는 작동하지 않았기 때문에 어쨌든 그것을하기로 결정했습니다. 이전 버추얼 호스트를 제거하고, 새로운 localhost 가상 호스트를 추가하고, 아파치를 재시작 한 후, 작동하는 것처럼 보입니다. 가상 호스트를 추가 할 때마다이 파일에 추가하기 만하면됩니다. 아니면 리눅스에있는 것처럼 어딘가에 호스트 파일이 있습니까?

업데이트 : 예, /etc/hosts변경해야 할 파일이 있습니다. 해당 파일에 가상 호스트 이름을 추가하십시오.


잠깐, 너 해결 했니?
— 임의

그래, 난 내가 한 생각
— 앤드류

여기에 더 많은 답변이 업데이트되었습니다 : superuser.com/questions/200223/...
— Doug

너의 자신의 대답을 수락 해주세요. 이 질문 은 지역 사회 에 조금주의를 끌기 위해 부딪 혔 지만, 필요하지는 않은 것 같습니다.
— Arjan

답변:


2

403 오류가 발생하면 디렉토리가 존재하지 않거나 해당 디렉토리의 권한으로 볼 수 없게됩니다.

내 문제는 기본 가상 호스트 설정이 존재하지 않는 디렉토리를 가리키고 있다는 것입니다.

그래서 여기 당신이해야 할 일이 있습니다 : (당신이 Snow Leopard에 있다고 가정 할 때)

  1. 가상 호스트 구성 파일을 찾아 엽니 다.

    pico /etc/apache2/extra/httpd-vhosts.conf
    
  2. 가상 호스트 정의가 거기에 있는지 확인하십시오. 그렇지 않으면 가상 호스트 정의가 작성됩니다

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/Users/yourusername/Sites/mysite"
    ServerName mysite.local
    ErrorLog "/private/var/log/apache2/mysite-error_log"
    CustomLog "/private/var/log/apache2/mysite-access_log" common
    </VirtualHost>
    
  3. /etc/hosts파일을 열고 가상 호스트 이름을 추가하십시오. 이것은 내 안에 있습니다.

    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    127.0.0.1          localhost
    255.255.255.255    broadcasthost
    ::1                localhost 
    fe80::1%lo0        localhost
    
    # VIRTUAL HOST START
    127.0.0.1          localhost
    127.0.0.1          mysite.local
    # VIRTUAL HOST STOP
    
  4. 이제 아파치를 재시작하면 좋을 것입니다!

    sudo apachectl restart
    

아파치를 다시 시작하려면 어디에서 명령을 입력해야합니까?
— Doug

터미널 창에서
— Andrew

@ 앤드류는 두 번째 127.0.0.1 localhost항목이 단순히 위의 것을 반복 하지 않거나 둘 다 필요합니까?
— YPCrumble

0

또한 경고로 레이블이 지정되어 있으며 오류 로그의 중요한 라인입니다.

Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist

Apache는 대화 할 때 해결할 파일을 저장할 디렉토리를 검색합니다. 분명히이 디렉토리는 존재하지 않기 때문에 아파치는 당신을 아무 것도 해결할 수 없다. 디렉토리를 만들고 index.html거기에 파일을 두거나 아파치가 다른 디렉토리를 가리 키도록 설정 파일을 편집하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.