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))が必要です。

仮想ホストコンテナの内外のServerNameディレクティブにHyper-V IPアドレス(xxxx)を追加します。

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 使用情報。また、1、2.2、2.4はすべて設定が異なるため、使用しているApacheのバージョンに質問を更新してください。

例えば、2.2から2.4にアップグレードする場合あなたは気づくでしょう

NameVirtualHost ディレクティブは、もはや警告を出す以外の効果はありません。複数の仮想ホストに表示されるすべてのアドレス/ポートの組み合わせは、暗黙的に名前ベースの仮想ホストとして扱われます。

答え2

このメッセージはデフォルトで選択された通知なので無視できます。生成の問題を解決するには、定義されたホスト/サイトの外部のデフォルト設定ファイルにディレクティブを追加しますServerName

EG - 私のDebianシステムのデフォルト設定は次のとおりです/etc/apache2/apache2.conf。下部に以下を追加します。

ServerName somehost.example.com

もちろん、対応するFQDNはDNSにある必要はなく、/etc/hosts127.0.1.1(または必要なループバック)を指すコンピュータファイルに存在する必要があります。

IIRC Redhat / CentOS / etcはすべてを1つの大きなhttpd.confファイルに保存します。この場合、実際の名前付きホスト定義を開始する前にこの行を追加してください。

関連情報