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.