2013-08-17 3 views
8

この質問は多分見てきましたが、ここの解決策は解決していません。httpd:サーバーの完全修飾ドメイン名を確実に確認できませんでした

のは、背景情報のビットを見てみましょう:

OS X 10.8.4 のApache 2.2.22

問題: 私は、コンソールでこのエラーを取得し、Apacheは私のローカルホストを見つけることができませんしかし、OKを開始します。奇妙な。

[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と同じです次のように

# 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 

/httpd.conf私のホストファイルは、セットアップです:私の/private/etc/apache2/users/ta.confで

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 

は、以下の

# 
# 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のアップグレードを投稿しましたが、これは決してうまくいかず、今私はそれを解決しようとしています。

詳細が必要な場合は教えてください。

+1

このメッセージを発行するコードは、グローバル設定にservernameがない場合にのみ実行されます。設定ファイルが使用中であることを確認してください。 – covener

答えて

8

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

代わりに、ホストファイルを編集し、そこにFQDNがあることを確認してください。私は特定の127 *ラインの構文上のさまざまな提案を見てきましたが、私は物事が記載されているFQDNがある限り、、であるどのような順序関係ないと思う:これは私のために働いた

127.0.0.1  localhost.localdomain localhost  foo.example.com 

他のすべての "私のために働いたよりもポイントにはるかに見えた!"あなたがhttpd.confなどを編集することを推奨する投稿のアップノート。私はこれが助けられ、私は下降していないことを願っています。あなたが同意しない場合は、例を挙げて理由を述べてください。ありがとう。

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

Apacheが、システムのFQDNを決定することができたら、それは、あなたのNameBasedHostsのためのあなたの特定のServerNameディレクティブを読みます。

+3

"そこにFQDNがあることを確認してください" - 私はこの質問に対して多くの答えを見ました。完全修飾ドメイン名では、実際にfoo.example.comを使用できますか、またはここのドメインは* actual *ドメインでなければなりませんか? foo.example.comが '実際に購入し所有しているドメイン名'を意味するのか、具体的にはここにFQDNパターンに従うドメイン名(www.mynonexistentdomain.com)を置くのかはわかりません。誰かが明快さを提供できますか? – Wittner

1

私は最近Macで同じ問題を抱えていましたが、Spankyが示唆しているようにホストファイルを編集しましたが(これも必要であると思います)、httpd.confも編集する必要がありました。

場合は誰もが、これは将来的には、以下があなたの/ etc/apache2の/ httpdの中

を働くことがあります。 https://blog.cloudtroopers.com/upgrade-osx-1010-yosemite-and-keep-apache-functional

1

あなたhttpd.confファイルに次の行が正しい:SERVERADMIN [email protected]ライン

ServerName your-favorite-server-name 

ソース後のconfこの行を追加します

ServerName localhost 

問題はオンになっていますmacOSそれは間違ったファイルです(/private/etc/httpd.confではありません)。

、あなたのhttpd.conf Apacheの設定ファイルの正しい場所を見つける実行するには:

apachectl -t -D DUMP_INCLUDES 

その後、ServerNameのコメントが外され、localhostに設定されているかどうかをダブルチェック。

関連する問題