web-dev-qa-db-ja.com

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

この質問はよく検討されていますが、ここでの解決策はそれらを解決するものではありません。

少し背景情報から始めましょう:

OS X 10.8.4 Apache 2.2.22

問題:コンソールでこのエラーが発生し、Apacheがローカルホストを見つけられませんが、問題なく起動します。変だ。

[Sat Aug 17 13:40:06 2013] [info] mod_ssl/2.2.22 compiled against Server: Apache/2.2.22, Library: OpenSSL/0.9.8r
httpd: Could not reliably determine the server's fully qualified domain name, using Specter.local for ServerName

したがって、通常、これは私のServerNameが正しく設定されていないことを示します。まあそれは:/であり、Specter.local、localhostなどのさまざまなバリアントを試しました

ここに私の/private/etc/httpd.confのコピーがあります。これは/private/etc/Apache2/httpd.confでも同じです

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your Host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost

私のホストファイルは次のように設定されています。

127.0.0.1   localhost localhost.local
255.255.255.255 broadcasthost
127.0.0.1       themill.dev
127.0.0.1       phpmyadmin.dev
127.0.0.1       Specter.local

私の/private/etc/Apache2/users/ta.confには次のとおりです

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
# DEV: THEMILL SITE
<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot "/Users/ta/Sites/themill/htdocs"
  ServerName themill.dev
  ServerAlias *.themill.dev
  ErrorLog "/Users/ta/Sites/themill/log/error_log"
  CustomLog "/Users/ta/Sites/themill/log/access_log" common
</VirtualHost>

# PHPMYADMIN
<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot "/Users/ta/Sites/phpmyadmin"
  ServerName phpmyadmin.dev
  ServerAlias *.phpmyadmin.dev 
  ErrorLog "/Users/ta/Sites/phpmyadmin/log/error_log"
  CustomLog "/Users/ta/Sites/phpmyadmin/log/access_log" common
</VirtualHost>

他に何を実際に設定すべきかわからない。以前は機能していましたが、10.7アップグレードをポストしましたが、機能しませんでした。今、解決しようとしているので、頭を抱えています。

さらに情報が必要な場合はお知らせください。

15
TobyAllen

ServerNamesの設定に関するアドバイスはすべて無視してください。私見これは赤いニシンです。 Apacheは標準システムコンポーネントを使用してFQDNを決定しようとしていますが、適切なものを見つけていません。確かに、Apacheにグローバルにディレクティブを追加することでこのプロセスを覆すことができますが、これは症状を扱っていると考えています。もちろん、virtualhostブロックにServerNameディレクティブを含める必要があります

代わりに、hostsファイルを編集して、FQDNがリストされていることを確認してください。特定の127 *行の構文に関するさまざまな提案を見てきましたが、FQDNがリストされている限り、順序は問題ではないと思います。

127.0.0.1       localhost.localdomain   localhost       foo.example.com

これは私にとってはうまくいき、他のすべての「私のために働いた!」 httpd.confなどの編集を推奨する投稿への賛成票。これがお役に立てば幸いです。同意しない場合は、例を挙げて理由を説明してください。ありがとう。

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

ApacheがシステムのFQDNを決定できると、ApacheはNameBasedHostsの特定のServerNameディレクティブを読み取ります。

8
Spanky

httpd.confファイルの次の行は正しいです:

ServerName localhost

問題は、macOSでは間違ったファイルであることです(/private/etc/httpd.confではありません)。

httpd.conf Apache構成ファイルの正しい場所を見つけるには、次のコマンドを実行します。

apachectl -t -D DUMP_INCLUDES

次に、ServerNameがコメント解除されてlocalhostに設定されているかどうかを再確認します。

12
kenorb

最近、Macでも同じ問題が発生しました。Spankyの提案に従ってホストファイルを編集しましたが(これも必要だと思います)、httpd.confも編集する必要がありました。

将来的に誰かがこれを持っている場合は、以下が機能する可能性があります

/etc/Apache2/httpd.confで、ServerAdmin [email protected]行の後にこの行を追加します

ServerName your-favorite-server-name

ソース: https://blog.cloudtroopers.com/upgrade-osx-1010-yosemite-and-keep-Apache-functional

1
Mariano_Stanco

私は栄光に向かう途中でいくつかの問題を抱えていました。経験則として、以下を実行するだけであることがわかりました:$Sudo httpd -k restart出力されたメッセージのおかげで、毎回1つ先に進みました。

0
Pete Moore