サーバーの完全修飾ドメイン名を確実に特定できませんでした


110

Apache 2.2.17をインストールしたばかりで、初めて使用します。

コマンドを使用してサーバーを起動しようとすると、次service httpd startのメッセージが表示されます。

httpd:サーバー名に:: 1を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした

ここで、Googleで検索するときにServerNameとIPアドレスを設定する必要があると思います。しかし、どのファイルに設定する必要があるのか​​わかりません。

この問題を解決するにはどうすればよいですか?

回答:


66

はい、ServerNameを設定する必要があります。

http://wiki.apache.org/httpd/CouldNotDetermineServerName

http://httpd.apache.org/docs/current/mod/core.html#servername

さまざまなhttpdディストリビューションで使用されているレイアウトに関する情報は、次の場所にあります。

http://wiki.apache.org/httpd/DistrosDefaultLayout

あなたの場合、編集するファイルは/etc/httpd/conf/httpd.confです


あなたのanswaresに感謝します、私は/etc/httpd/conf/httpd.confを編集して、次のようにServerNameを設定しようとします Listen 80 NameVirtualHost 172.20.30.40:80 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot / home / user / Softwares / mysite / </VirtualHost>**それでもエラーメッセージが表示されます。** httpdを開始しています:警告:DocumentRoot [/ home / user / Softwares / mysite]が存在しませんhttpd:サーバーの完全な状態を確実に判別できませんでした修飾ドメイン名、ServerNameに:: 1を使用
mahesh

81
  1. sudo vim /etc/apache2/httpd.conf
  2. httpd.confに次の行を挿入します。 ServerName localhost
  3. Apacheを再起動するだけです。 sudo /etc/init.d/apache2 restart

2
私のRPiでは、httpd.confファイルを/etc/apache2/conf.dに配置して機能させる必要がありました。
samkass

Ubuntu 13.04を使用して、
etc / apache2 / conf.d / httpd.confに

これで私の問題も解決してくれてありがとう。最近、実際のホスト名を/ etc / hostsに設定しましたが、グローバルコンテキストでServerName localhostを設定するまで、これはApacheを壊しました。これでvhostが再び機能し、SSL証明書が適切に提供されています。
AaronM、2015年

15

ServerNameを間違えていませんでした。この警告メッセージの原因となっているVirtualHost構成内では、httpd.confの上部にある一般的な構成で、デフォルトでコメント化されています。

変化する

#ServerName www.example.com:80

に:

  ServerName 127.0.0.1:80

10

Debian Squeezeの下。

  1. Apache2 confファイルを編集します:vim /etc/apache2/apache2.conf
  2. apache2.confに次の行を挿入します:ServerName localhost
  3. Apache2を再起動します。apache2ctlrestartまたは/etc/init.d/apache2 restart

うまくいくはずです(私の場合は問題が解決しました)

異なるレイアウトのリンクのtks noodl。:)


4

別のオプションは、完全修飾ホスト名(FQDN)が/ etc / hostsにリストされていることを確認することです。これは、デフォルトのApache構成を変更する必要なく、Ubuntu v11.10で私にとってはうまくいきました。


4
  1. sudo nano /etc/apache2/httpd.conf
  2. テキストを検索 ServerNamenanoエディターでを<Ctrl + W>
  3. httpd.confに次の行を挿入します。 ServerName localhost
  4. Apacheを再起動するだけです。 sudo /usr/sbin/apachectl restart

3

この問題を解決するには、ServerNameを設定する必要があります。

1: $ vim /etc/apache2/conf.d/name たとえば、set ServerName localhostまたはその他の名前を設定します。

2:ServerName localhostはApache 2を再起動します

3:$ service apache restart この例では、Ubuntu 11.10.1.125を使用しています」


1

FQDNは、DNSを介して解決された名前を意味します。「server-name.search-domain」のようにする必要があります。

表示される警告は、httpdがFQDNを見つけられないため、名前ベースの仮想ホストを処理することが正しく機能しない可能性があるという通知を提供するだけです。そのため、予想されるFQDNがDNSサーバーに登録されていることを確認するか、DNSに到達する/etc/hosts前のエントリを手動で追加します。


0

私には2つのことがそれをするように見えました:

  1. 127.0.0.1のすべてのエイリアスを/ etc / hostsに1行で入力します(例: 127.0.0.1 localhost mysite.local myothersite.local
  2. ServerName私のhttpd.confに設定します0.0.0.0(localhostまたは127.0.0.1は私のために機能しませんでした)

/ etc / hostsを編集すると長い応答時間がなくなり、ServerNameを設定するとOPの警告が表示されなくなりました。


0

まだ問題を解決できず、Macを使用している人はこれに従ってください

1.ルートフォルダーに移動する/

  1. cd usr / local / etc / apache2 / 2.4

3. sudo nano httpd.conf

4. #servernameをServerName 127.0.0.1:8080に変更し、ctrl + o、+ return + ctrl xを押します。

5.次に、サーバーを再起動しますapachectl restart


0

Windowsを使用している場合は、状況が異なります。

最初に開きc:/apache24/conf/httpd.confます。Apacheフォルダーは、特にパスより上では十分です

その後、httpd.confファイルを設定する必要があります。

数行の直後に次のようなパターンがあります:

#Listen _____________:80
Listen 80

ここでは、を変更する必要がありlocalhostます。

localhostを開くには、ipv4アドレスを入力する必要があります。

このビデオリンクを参照してください。

環境変数を変更します。

システム設定の環境USER変数の画像

パスを入力する必要があります:

c:apache24/bin

および
システム変数で同じ

画像はシステム変数パス用です

質問があれば気軽に聞いてください。


0

ウィンドウを使用している場合は、これらの行のコメントを削除して、次のように設定します。

Line 227 : ServerName 127.0.0.1:80 
Line 235 : AllowOverride all 
Line 236 : Require all granted

私のために働いた!


0

これが私の2セントです。多分それは将来の読者のために役立つでしょう。

Dockerコンテナー内でApacheを使用しているときにこの問題に遭遇しました。Apacheウェブサーバーのイメージからコンテナを起動したときに、で起動したときにこのメッセージが表示されましたdocker run -it -p 80:80 my-apache-container

しかし、デタッチモードでコンテナーを起動した後、を使用しdocker run -d -p 80:80 my-apache-containerて、ブラウザーを介して接続できました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.