CentOS 5.0でApacheサーバーを再起動しようとしたところ、次のメッセージが表示されました。
httpd:ServerNameに127.0.0.1を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした
これが/etc/hosts
ファイルです。
127.0.0.1 server4-245 server4-245.com localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
これが/etc/sysconfig/network
ファイルです。
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245
私はまたApache httpd.confファイルにこれを持っています:
ServerName localhost
しかし、Apacheを再起動すると、最初のエラーメッセージが表示されます。
Hostsファイルに有効なFQDNが含まれていないか、またはlocalhost
がFQDNではありません。 FQDNには、ホスト名の部分とドメイン名の部分を含める必要があります。たとえば、次は有効なFQDNです。
Host.server4-245.com
FQDNを選択して、使用しているIPv4アドレスとIPv6アドレスの両方の/etc/hosts
ファイル(この場合はlocalhost
または127.0.0.1
)に含めて、一致するようにhttpd設定のServerName
を変更します。
/ etc/hosts:
127.0.0.1 localhost.localdomain localhost Host.server4-245.com
::1 localhost.localdomain localhost Host.server4-245.com
httpd.conf:
ServerName Host.server4-245.com
フォルダhttpd.conf
に/etc/Apache2
がない場合は、Apache2.confが必要です。単に以下を追加してください。
ServerName localhost
その後、Apache2
サービスを再起動します。
Apacheサーバーの初期インストール後、 Ubuntu 12.04 でApacheサービスを再起動しているときに次のエラーが発生しました。
解決策は本当に簡単です。 ServerName
ディレクティブを/etc/Apache2/httpd.conf
に追加するだけです。
Sudo nano /etc/Apache2/httpd.conf
追加:ServerName localhost
最後にApacheサーバーを再起動します。
Sudo /etc/init.d/Apache2 restart
それで、これが答えられて受け入れられている間、それはまだトップの検索結果として出てきました、そして(多くの研究の後に)レイアウトされたけれども答えは私に私の頭を掻いてそしてもっともっと掘り下げました。だからここで私は問題を解決した方法の簡単なレイアウトです。
私のサーバーがmyserver.myhome.comで静的IPアドレスが192.168.1.150だとします。
$ Sudo nano -w /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 myserver.myhome.com myserver
192.168.1.150 myserver.myhome.com myserver
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 myserver.myhome.com myserver
Httpd.confを編集する
$ Sudo nano -w /etc/Apache2/httpd.conf
ServerName myserver.myhome.com
ネットワークを編集
$ Sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
確認する
$ hostname
(output) myserver.myhome.com
$ hostname -f
(output) myserver.myhome.com
Apacheを再起動します
$ Sudo /etc/init.d/Apache2 restart
Hostsファイルに127.0.0.1と静的IPアドレス192.168.1.150の両方にmyserver.myhome.com
が含まれているのが違いです。 UbuntuサーバーとCentOSでも同じです。
Httpd.confで、「ServerName」を検索してください。通常、Macではデフォルトでコメントアウトされています。コメントを外して記入してください。また、/ etc/hostsに/ ipコンボの名前が設定されていることを確認してください。
正しいhttpd.conf
ファイルを編集していることを確認すると、信頼できないサーバーのドメイン名に関するエラーがなくなるはずです(これが最も一般的な間違いです)。
httpd.conf
Apache設定ファイルを見つけるには、次のコマンドを実行してください。
apachectl -t -D DUMP_INCLUDES
それからファイルを編集し、コメントを外すかServerName
行を次のように変更します。
ServerName localhost
それからApacheを再起動してください:Sudo apachectl restart
Apacheのhttpd.conf
ファイルで:
ServerName: 127.0.0.1
このエラーを解決するには2つの方法があります。
Include /etc/Apache2/httpd.conf
上記の行をファイル/ etc/Apache2/Apache2.confに追加します。
この行をファイルの最後に追加します/ etc/Apache2/Apache2.conf。
ServerName localhost
私のサーバーのホスト名を/etc/Apache2/httpd.confファイルと/etc/Apache2/Apache2.conf
ファイルに追加することで、完全修飾ドメイン名メッセージをさまざまな状況で解決しました。
端末にhostname -f
と入力してください。このクエリはあなたのホスト名を返します。
次に、/etc/Apache2/httpd.conf
ファイルを編集し(または何らかの理由で存在しない場合は作成して)、ServerName <your_hostname>
を追加します。
あるいは、ServerName <your_hostname>
ファイルに/etc/Apache2/Apache2.conf
を追加してメッセージを削除することもできました。
すべてうまくいけば、Apacheを再起動するとメッセージは消えます。
ほとんどの回答は、単にServerName localhost
を/etc/Apache2/Apache2.conf
に追加することをお勧めします。
しかし引用 Apacheのドキュメント :
このエラーメッセージが表示されていることは、Apache httpdがサーバーのIPアドレスを逆引きすることによって完全修飾ホスト名を取得できなかったことも示しています。上記の指示はどんな場合でも警告を取り除きますが、この逆マッピングが機能するようにあなたの名前解決を修正することもまた良い考えです。
したがって、/etc/hosts
にそのような行を追加することは、おそらくより堅牢な解決策です。
192.0.2.0 foobar.example.com foobar
ここで、 192.0.2.0 は、example.com
ドメイン内のfoobar
という名前のサーバーの静的IPアドレスです。
FQDNを確認することができます。と
hostname -A
(hostname --all-fqdn
のショートカット).