Apache2에서 기본 가상 호스트를 비활성화하더라도 기본 index.html을 제거할 수 없는 이유는 무엇입니까?

Apache2에서 기본 가상 호스트를 비활성화하더라도 기본 index.html을 제거할 수 없는 이유는 무엇입니까?

가상 호스트 설정 파일을 생성했고 a2dissite default를 사용하여 기본 설정을 비활성화했습니다(이것은 꽤 표준적인 Ubuntu 10.04 설치입니다). 그러나 내가 무엇을 시도하든 내 Apache2 서버는 가상 호스트 파일에 설정한 index.php 페이지 대신 기본 index.html 페이지를 계속 표시합니다. 누군가 내가 누락 된 부분을 도와 줄 수 있습니까? 세부사항은 다음과 같습니다:

기본 설정 없음:

ls -l /etc/apache2/sites-enabled/
total 0
lrwxrwxrwx 1 root root 51 May  5 13:32 webmin.1273066327.conf -> /etc/apache2/sites-available/webmin.1273066327.conf
lrwxrwxrwx 1 root root 34 May 30 11:03 www.accontax.be -> ../sites-available/www.accontax.be

관련 가상 호스트의 내용:

cat /etc/apache2/sites-enabled/www.accontax.be

<VirtualHost *>
    ServerName  www.accontax.be
    ServerAlias accontax.be

    DirectoryIndex index.php
    DocumentRoot /var/www/drupal/

    <Directory /var/www/drupal/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

httpd.conf의 내용:

cat /etc/apache2/httpd.conf

Listen 80
NameVirtualHost *

또한 apache2.conf에는 다음과 같은 관련 줄이 있습니다.

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

내가 방문할 때http://www.accontax.be나는 apache2 서버가 /var/www/drupal 하위 디렉토리로 이동하여 index.php 제공을 시작할 것으로 예상하지만 단순히 /var/www 디렉토리에서 index.html을 계속 제공합니다. 구성을 다시 로드하고, 서버를 다시 시작하고, 브라우저 캐시를 삭제했습니다. 아무것도 바뀌지 않았다.

아마도 간단하면서도 중요한 단계를 놓치고 있는 것 같지만 찾을 수 없었습니다.

추신: 서버에 SSH를 통해 연결하고 로컬 호스트를 탐색하려고 하면 예상대로 작동합니다!

답변1

귀하의 호스트 이름이 적절하다고 가정합니다 (li141-187.members.linode.com)

/etc/apache2/httpd.conf에서 아래 줄을 변경하십시오.

NameVirtualHost *에게NameVirtualHost 109.74.194.187:80

& 라인 1의 /etc/apache2/sites-enabled/webmin.1273066327.conf 파일에 중복된 NameVirtualHost가 있을 수 있습니다. 존재하는지 확인하세요. 그렇다면 해당 줄을 삭제하십시오.

& 다음과 같이 /etc/apache2/sites-enabled/000-default 파일에서 VirtualHost 정의를 편집합니다.

<가상호스트 109.74.194.187:80>
   서버 이름 109.74.194.187
   .......

& 다음과 같이 /etc/apache2/sites-enabled/www.accontax.be의 줄을 편집합니다.

<가상호스트 109.74.194.187:80>
   서버 이름 accontax.be
   ServerAlias ​​www.accontax.be
   .......

그 다음에 apache2ctl restart.

& 그리고 accontax.be에 대한 바인드 영역 파일도 확인하세요. 아래 구성과 같아야 합니다.

$ttl 38400
@ IN SOA accontax.be li141-187.members.linode.com. (
            SOA_SERIAL_NUMBER
            10800
            3600
            604800
            38400 )
accontax.be. NS ns1.linode.com.
accontax.be. NS ns2.linode.com.
accontax.be. 109.74.194.187에
www.accontax.be. 109.74.194.187에
ftp.accontax.be. 109.74.194.187에
webmail.accontax.be. 109.74.194.187에
mail.accontax.be. 109.74.194.187에
accontax.be. IN MX 5 mail.accontax.be.
accontax.be. IN TXT "v=spf1 a mx a:accontax.be ip4:109.74.194.187 ?all"

도메인에 대한 고유 일련번호가 있어야 합니다. intodns.com에서는 그렇게 말합니다. SOA_SERIAL_NUMBER를 위와 같이 변경하세요.

& 이 링크는 DNS 구성에 대한 자세한 정보를 제공합니다. http://www.intodns.com/accontax.be

webmin을 사용하고 있는 것 같습니다. Webmin에서 이러한 모든 변경 작업을 수행하는 것이 훨씬 좋습니다. Apache 메뉴의 "Servers" 메뉴에서 모든 항목을 확인하고, 아무것도 변경하기 전에 모듈 구성이 올바른지 확인하세요. & 또한 webmin의 Apache 시작 명령을 apache2ctl로 변경합니다. webmin이 /etc/init.d/apache2 스크립트를 사용하는 것을 허용하지 마십시오.

관련 정보