OS X Server 10.5を実行しているサーバーがあり、ローカルホストを127.0.0.1に解決できません。
Pingを実行しようとすると、次のようになります。
> ping localhost ping:localhostを解決できません:不明なホスト
SSHブラウザとWebブラウザは同様の結果を取得します(不明なホスト)。 127.0.0.1またはLANに割り当てられたIPアドレスを使用しようとすると、上記のすべてが機能します。
/ etc/hostsファイルの内容は次のとおりです。
> cat /etc/hosts ## #ホストデータベース # #localhostは、ループバックインターフェイスの設定に使用されます #システムの起動時。このエントリは変更しないでください。 ## 127.0.0.1localhost 255.255.255.255 Broadcasthost :: 1 localhost fe80 :: 1% lo0 localhost
ローカルDNSサービスを実行していません。
なぜこれが起こっているのか、またはどうすれば修正できるのか、誰かが知っていますか?
結局、それはちょうど再び働き始めました。サーバー上でいくつかの非正統的な(そして不要な)DNS構成を見つけ、それを本来あるべきものに変更しました。おそらくそれで問題は解決しましたか?当時、ローカルホストの問題を解決しようとしていなかったので、前後にローカルホストをテストしなかったので、確信が持てません。
Mountain Lion(10.8.2)でも同じ問題が発生しました。 [セキュリティとプライバシー]-> [ファイアウォール]-> [ファイアウォールオプション]で[ステルスモード]を無効にすることで解決しました。
これはおそらく元の質問とは関係ありませんが、Mac OS X LionのDNSルックアップに影響を与える可能性のある別の問題があります。具体的には、localhost
または/etc/hosts
にあるその他のエントリです。
どうやら/etc/hosts
ファイルはファイルの行ごとに複数のドメインをサポートしなくなったため、すべてのレコードに独自の行が必要です。
127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev
Justin Carmonyのブログ でこれを見つけました。彼は、/etc/hosts
を使用している場合、他の「興味深い」動作について説明します。それでも問題が解決しない場合は、読んでください。
私のコンピューター(同じ症状)で私の/etc/hosts
ファイルはMacintoshの行末を使用するように変更されていました(CR-0x13
)Unixの行末の代わりに(LF —0x10
)。それ以外の場合、ファイルは正しかった。
私の解決策は:
brew install dos2unix
Sudo dos2unix -c mac /etc/hosts
エンコーディングが問題になる可能性があります。SublimeTextを使用して/ etc/hostsを編集したところ、viを使用して再編集すると問題が解決しました。 cat
が内容を出力することを確認してください。
少し遅いのはわかっていますが、私の場合、行末をUNIXに変更し、タブをスペースに置き換えて、UTF-8としてファイルを保存すると、Mountain Lion(10.8.2)で動作しました
この仕事が他の誰かのためになることを願っています。
/ etc/hostsをSublimeTextで編集しましたが、同じ問題が発生しました。/etc/hostsファイルをviまたはnanoで編集して保存しようとすると、修正されました...
私も同じ問題を抱えてる。新しいMacラップトップをセットアップしただけで、古いものから移行するまで機能していました。現在、ping localhostは解決できません。どこかで変更した設定に違いないけど、どこかわからない….
「ローカルホストにpingする」ことを発見しました。動作します。末尾にドットを追加することは、他の検索ドメインで「localhost」という名前の検索をバイパスすることを意味します。かっこいいですが、/ etc/hostsエントリが機能しない理由がまだわかりません...
編集:解決しました。
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
ping: cannot resolve localhost: Unknown Host
bash-3.2# dscl . append /Hosts/localhost IPAddress 127.0.0.1
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.083 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.140 ms
出来上がり!
どういうわけか、ディレクトリサービスレコードは/ etc/hostsファイルと同期していませんでした。また、ディレクトリサービス構成にIPアドレスがない場合、名前を解決しようとすると、DNSを要求するmDNSResponderに移動します。
サービスの開始時にすべてのエラーがコンソールにスローされるわけではないため、Apacheエラーログを必ず読んでください。構文に問題がない場合でも、問題が発生する可能性があります。
デフォルトでは、これらは/ var/log/Apache2 /に保存され、ログファイルはerror.logです。
私はまったく同じ問題を抱えていました。ホストを解決でき、Apacheはコンソールに問題を通知しませんでした。単純な「問題」は、外付けドライブを交換した後、error.logがvhost-configurationを定義できなかったことです。