Ubuntu Server 12.04 上的虚拟主机无法正常工作

Ubuntu Server 12.04 上的虚拟主机无法正常工作

我知道这个问题已经被问了上千次,我也尝试了几乎所有的解决方案,但我仍然无法让它工作。我试图从内部和外部访问 example.com。我对服务器还很陌生,所以我真的不知道我做错了什么,或者没有做什么。

根据大家的指示,我在以下位置设置了网站:/etc/apache2/sites-available/example.com以下是文件中的内容:

<VirtalHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example/httpdocs
    <Director />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /var/www/example/httpdocs>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow, deny
        allow form all
    </Directory>

    ErrorLog /var/www/example/logs/error.log
    LogLevel warn
    CustomLog /var/www/example/logs/access.log combined
</VirtualHost>

以下是我的/etc/hosts文件中的内容:

12.345.67.89 example.com

然后我按照提示执行了sudo a2ensite example.com,然后sudo service apache2 reload。现在,我在我的内部 IP(192.168.1.100)上进行了端口转发,将端口转发到端口为 80 的外部 IP(12.345.67.89),如果我进入浏览器并输入 12.345.67.89/example/httpdocs,我可以看到我的页面。但是,如果我输入 example.com 或 www.example.com,我会看到 DNS 搜索页面。我做错了什么,还是我遗漏了什么?提前谢谢您...

答案1

我假设,您的 example.com vhost 文件以字母 a、b、c 或 d 开头。因此它按字母顺序位于默认 vhost conf 文件之前。

如果是这种情况,您可以将默认配置文件重命名为 000-default(例如)

另请确保您的默认配置文件中没有相同的 ServerName。

相关内容