
Apache を起動するとこのエラー メッセージが表示されます。macOS Mojave 10.14.5 を使用しています。
AH00558: httpd: Stevens-MacBook-Air.local を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした。このメッセージを抑制するには、グローバルに 'ServerName' ディレクティブを設定してください。httpd (pid 856) はすでに実行されています
ファイルにネームサーバーを追加しましたhttpd.conf
が、それでもこのエラー メッセージが表示されます。
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
#ServerName localhost:8080
このメッセージがまだ表示されるのは、何を見逃しているからでしょうか?
答え1
httpd.conf ファイルにネーム サーバーを追加しましたが、それでもこのエラー メッセージが表示されます。
残念ですが、そうではありません。実質的には次のようになります:
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
#ServerName localhost:8080
上記のすべての行が先頭に追加され#ServerName localhost:8080
ていることに注目してください#
。つまり、コメント アウトされているということです。設定ファイルを見回すと、コメント アウトされている行だけでなく、コメントされている行もいくつかあります。設定を有効にするには、次のようにコメントを解除する必要があります。
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName localhost:8080
http://localhost:8080
その後、Apache を再起動すると、期待どおりに Apache サーバーにアクセスできるようになります。
答え2
Apache 設定に完全修飾ホスト名の行を追加します。
LINE='ServerName www.example.com'
FILE='/etc/apache2/apache2.conf'
grep -qF -- "$LINE" "$FILE" || echo "$LINE" >> "$FILE"
service apache2 restart
サーバーにドメインがない場合は、localhost
代わりに