为什么即使我禁用 Apache2 中的默认虚拟主机,也无法摆脱默认的 index.html?

为什么即使我禁用 Apache2 中的默认虚拟主机,也无法摆脱默认的 index.html?

我创建了一个虚拟主机设置文件,并使用 a2dissite default 禁用了默认设置(这是非常标准的 Ubuntu 10.04 安装)。但无论我怎么尝试,我的 Apache2 服务器只会继续显示默认的 index.html 页面,而不是我在虚拟主机文件中设置的 index.php 页面。有人能帮我解决我遗漏了什么吗?详情如下:

无默认设置:

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。我已重新加载配置、重新启动服务器、删除浏览器缓存。什么都没有改变。

我可能错过了一个简单但关键的步骤,但我就是找不到它。

PS:当我 ssh 到服务器并尝试浏览本地主机时,它可以按我预期的方式工作!

答案1

我认为您的主机名是正确的(li141-187.members.linode.com)

在 /etc/apache2/httpd.conf 中更改以下行,

NameVirtualHost *NameVirtualHost 109.74.194.187:80

您的 /etc/apache2/sites-enabled/webmin.1273066327.conf 文件的第 1 行中可能存在重复的 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
   服务器别名 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.IN NS ns1.linode.com。
accontax.be.IN NS ns2.linode.com。
accontax.be. IN A 109.74.194.187
www.accontax.be. IN A 109.74.194.187
ftp.accontax.be. IN A 109.74.194.187
webmail.accontax.be. IN A 109.74.194.187
mail.accontax.be. IN A 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 ?全部”

域名应该有自己的序列号,如 intodns.com 所述。将 SOA_SERIAL_NUMBER 更改为您自己的序列号。

此链接将为您提供有关 DNS 配置的更多信息。 http://www.intodns.com/accontax.be

看来您正在使用 webmin。最好在 webmin 中完成所有这些更改。在 apache 菜单中检查“服务器”菜单下的所有内容,在更改任何内容之前检查模块配置是否正常。同时将 webmin 中 apache 的启动命令更改为 apache2ctl。不允许 webmin 使用 /etc/init.d/apache2 脚本。

相关内容