启动 httpd 服务时出错“无法使用 localhost.localdomain 可靠地确定服务器的完全限定域名

启动 httpd 服务时出错“无法使用 localhost.localdomain 可靠地确定服务器的完全限定域名

我一直在关注 LibreNMS 的安装https://www.linuxhelp.com/how-to-install-librenms-in-centos/。一切都很好,直到我终于启动了 httpd 服务。它吐出这个错误。我已经配置了虚拟主机。这是确切的错误消息:

无法使用 localhost.localdomain 可靠地确定服务器的完全限定域名。全局设置服务器名称指令。

我将在下面的 httpd 配置文件中显示虚拟主机。

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName linuxhelp1.com
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes On
<Directory "/opt/librenms/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

答案1

请注意linuxhelp1.com就是一个例子。您需要实际的 ServerName,在本例中为 hyper-v IP 地址 (xxxx)。

将您的 hyper-v IP 地址 (xxxx) 添加到虚拟主机容器内部和外部的 ServerName 指令中。

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName x.x.x.x
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes On
<Directory "/opt/librenms/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

参考本文关于使用 NameVirtualHost 和 ServerName。另外,请使用您使用的 Apache 版本更新您的问题,因为 1、2.2 和 2.4 的配置都不同。

例如,从 2.2 升级到 2.4 时你会注意到

除了发出警告之外,NameVirtualHost 指令不再有任何作用。出现在多个虚拟主机中的任何地址/端口组合都被隐式地视为基于名称的虚拟主机。

答案2

该消息只是默认选择的通知,可以忽略。要解决生成它的问题,请在任何定义的主机/站点之外的主配置文件中添加一个ServerName指令。

EG - 在我的 Debian 系统上,主要配置是/etc/apache2/apache2.conf- 在最底部只需添加

ServerName somehost.example.com

当然,该 FQDN 不需要位于 DNS 中,只需位于/etc/hosts指向 127.0.1.1(或您喜欢的任何环回)的计算机文件中即可。

IIRC Redhat/CentOS/etc 将所有内容都保存在一个大httpd.conf文件中 - 如果是这种情况,请在开始定义实际命名主机之前添加这一行。

相关内容