web-dev-qa-db-ja.com

Mac OS Mountain Lion-Apacheは実行されているが、ローカルホストが機能していない

コマンドを使用してMacOS MountainLionにApacheWebサーバーをロードしました

Sudo apachectl start

ただし、Firefoxでローカルホストを開こうとすると、次のメッセージが表示されます。

見つかりません:要求されたURL /はこのサーバーで見つかりませんでした。ローカルホストポート80のApache/2.2.21(Unix)DAV/2サーバー

Httpd.confとhttpd.conf.defaultの両方を編集して変更しました

#ServerName www.website.com

ServerName localhost

それでも機能しません。助言がありますか?

8
Spartanblogger

「httpd.conf」で「DocumentRoot」として指定されたフォルダーのアクセス許可を確認し、少なくともApacheユーザー(デフォルトでは「_www」)に読み取りアクセスを許可する必要があります。
それ以外の場合は、「DocumentRoot」フォルダーで「Sudochmod755」を実行できます。
ちなみに、「httpd.conf.default」はApacheの元の構成を復元する場合に使用できるデフォルトの構成であるため、「httpd.conf」ファイルのみを変更する必要があります。 「httpd.conf」ファイルを「httpd.conf.default」ファイルで上書きします。
名前ベースの仮想ホストを有効にしていないと思います。名前ベースの仮想ホストを有効にすると、メイン構成のドキュメントルートが無視されるためです。代わりに、一致するホスト名のルートが使用され、一致するものがない場合は、デフォルトで最初の仮想ホストになります。
最後に、問題が発生した場合、最初に確認するのは常にApacheエラーログファイルです。
エラーログの場所は、Apache構成ファイルの「ErrorLog」ディレクティブを調べることで見つけることができます。

5
user1419445

プロセスがポート80でリッスンしていることを確認するには、ターミナルウィンドウでlsofを使用できます。

$ Sudo lsof -iTCP:80 -sTCP:LISTEN
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
httpd      88 root    4u  IPv6 0xffffff8018804600      0t0  TCP *:http (LISTEN)
httpd      90 _www    4u  IPv6 0xffffff8018804600      0t0  TCP *:http (LISTEN)
httpd   14843 _www    4u  IPv6 0xffffff8018804600      0t0  TCP *:http (LISTEN)

これにより、Apacheが正常に有効になったことを確認できます。

(xcodeをインストールしていますが、lsofは通常のインストールの一部だと思います)

追加:

これにより、Apacheがポート80でリッスンしていることが確認されます。次のステップは、アクセスログを調べて、Apacheがブラウザに返したエラーに示されているように、「/」を要求したときにApacheが記録した内容を確認することです。これは私のが示しているものです。 http GET要求は、戻りコード200(成功)で示されていることに注意してください。

bash-3.2# grep 'GET / ' /private/var/log/Apache2/access_log 
127.0.0.1 - - [12/Sep/2012:16:46:45 -0400] "GET / HTTP/1.1" 200 44
127.0.0.1 - - [12/Sep/2012:16:49:44 -0400] "GET / HTTP/1.1" 200 44

また、ブラウザウィンドウを更新し、Apacheがその新しいリクエストをaccess_logに記録することを確認することで、ブラウザがリクエストしているURLを確認することもできます。

6
Tim B

すべてのIfDefine !WEBSERVICE_ONタグをコメントアウトし、コンテンツを内部に保持します。MountainLionにはWEBSERVICEはありません。

1
Peter Poptarts