この質問はよく検討されていますが、ここでの解決策はそれらを解決するものではありません。
少し背景情報から始めましょう:
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アップグレードをポストしましたが、機能しませんでした。今、解決しようとしているので、頭を抱えています。
さらに情報が必要な場合はお知らせください。
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ディレクティブを読み取ります。
httpd.conf
ファイルの次の行は正しいです:
ServerName localhost
問題は、macOSでは間違ったファイルであることです(/private/etc/httpd.conf
ではありません)。
httpd.conf
Apache構成ファイルの正しい場所を見つけるには、次のコマンドを実行します。
apachectl -t -D DUMP_INCLUDES
次に、ServerName
がコメント解除されてlocalhost
に設定されているかどうかを再確認します。
最近、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
私は栄光に向かう途中でいくつかの問題を抱えていました。経験則として、以下を実行するだけであることがわかりました:$Sudo httpd -k restart
出力されたメッセージのおかげで、毎回1つ先に進みました。