Apache2 가상 호스트가 작동하지 않습니다

Apache2 가상 호스트가 작동하지 않습니다

저는 Debian 7을 사용하고 있으며 이 튜토리얼에 따라 주소가 sub.domain.com인 가상 호스트를 설치했습니다.http://www.debian-administration.org/articles/412

활성화하고 컴퓨터를 다시 시작했지만 하위 도메인이 여전히 열려 있습니다. /var/www

다음은 /etc/apache2/sites-available/에 있는 "sub.domain.com" 파일의 내용입니다.

<VirtualHost *>
    ServerName sub.domain.com
    DocumentRoot /usr/share/destfolder
    ServerAdmin [email protected]
    ErrorLog /var/log/apache2/sub.domain.com-error_log
    CustomLog /var/log/apache2/sub.domain.com-access_log common
</VirtualHost>

그런데 Apache 구성을 다시 로드하면 다음과 같은 결과가 나타납니다. NameVirtualHost *:80 has no VirtualHosts

어떤 제안이 있으십니까?

답변1

튜토리얼에 링크하는 것만으로는 정보가 충분하지 않으므로 구성 파일을 게시하는 것이 좋습니다. /var/www가상 호스트 주소를 열 때 발생하는 상황에는 더 많은 이유가 있을 수 있습니다.

Apache 구성 파일은 지시문이 컨텍스트 없이 전역적으로 적용되는 방식으로 구축되었습니다. 그렇지 않으면 상황에 따라서만 적용됩니다. 기본적으로 설정된 대로 가상 default호스트가 완성됩니다. *그러한 가상 호스트가 없는 경우 구성을 구문 분석할 때 처음 발견된 가상 호스트가 기본 호스트로 간주됩니다.

이제 마지막으로 가능한 답변은 다음과 같습니다.

1) 가상 호스트에서 DocumentRoot 지시문을 설정하지 않았으며 (아마 기본) 전역 DocumentRoot가 /var/www.

2) 웹 호스트가 예상대로 작동하지 않습니다. 이름을 잘못 지었을 때 이런 일이 가끔 발생합니다. 디버그 로깅을 활성화 LogLevel debug하고 원하는 주소를 열 때 어떤 일이 발생하는지, 어떤 가상 호스트가 호출되는지 관찰하세요. Debian에서는 로그 파일이 위치합니다(100% 확실하지는 않음) /var/log/apache2/.

구성 파일을 게시하고 메시지를 디버깅하면 유용한 제안을 받을 가능성이 크게 높아집니다.

고쳐 쓰다: 이름 기반 가상 호스팅이 켜져 있는 것 같습니다. 기본적으로 구성이 합리적으로 보입니다. 이 <VirtualHost ...>절에서는 대상 포트 <VirtualHost *:443>등을 지정해야 합니다.

지침 DocumentRoot과 지침이 ServerName모두 여기에 있으므로 그대로 사용하면 됩니다. 페이지를 요청할 때 웹 호스트가 호출되지 않을 수 있습니다.

이는 아마도 Apache가 IP가 무엇을 가리키는지 모르기 때문일 것입니다 sub.domain.com. sub.domian.comDNS가 있거나 최소한 호스트 파일에 있습니까 ?

이름 기반 가상 호스팅에 대한 추가 정보:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

관련 정보