apache2、vhosts 和 servername 指令

apache2、vhosts 和 servername 指令

我在 Ubuntu 台式机上运行 Apache 开发环境。启动 Apache 时,出现错误

"apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName"

我尝试通过在 apache.conf 中添加一行来解决这个问题:servername myhost

这样就消除了错误消息。但是,使用此配置,vhost 请求将无法实现。只有默认主机可以访问。

有什么方法可以消除这个错误并拥有虚拟主机?

答案1

撤消您的修改apache.conf并将文件更改/etc/hosts为:

127.0.0.1 localhost
127.0.1.1 mycomputername

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

删除第一行中重复的别名应该可以解决问题。显然/etc/hosts每行只能映射一个 FQDN。

答案2

我相信这是一个 serverfault 问题,但是您是否执行sudo a2ensite并激活了 conf 文件apache2ctl graceful

您可以执行此操作apache2ctl -S来查看启用了哪些虚拟主机。同时请确保您已更新,/etc/hosts以便拥有指向的条目127.0.0.1

答案3

虚拟主机请求未得到满足

virtual.conf创建一个名为inside 的文件/etc/apache2/conf.d/

该文件应包含:

NameVirtualHost *

重新加载 apache ( sudo /etc/init.d/apache2 reload) 并且虚拟主机应该可以工作。

答案4

尝试将 ServerName 变量添加到您的 Virtualhost 配置中。

例如,如果您将根 ServerName 变量设置为“www.myhost.com”,则应将 ServerName 设置为“virtualhostname.myhost.com”

相关内容