コマンドを使用して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
それでも機能しません。助言がありますか?
「httpd.conf」で「DocumentRoot」として指定されたフォルダーのアクセス許可を確認し、少なくともApacheユーザー(デフォルトでは「_www」)に読み取りアクセスを許可する必要があります。
それ以外の場合は、「DocumentRoot」フォルダーで「Sudochmod755」を実行できます。
ちなみに、「httpd.conf.default」はApacheの元の構成を復元する場合に使用できるデフォルトの構成であるため、「httpd.conf」ファイルのみを変更する必要があります。 「httpd.conf」ファイルを「httpd.conf.default」ファイルで上書きします。
名前ベースの仮想ホストを有効にしていないと思います。名前ベースの仮想ホストを有効にすると、メイン構成のドキュメントルートが無視されるためです。代わりに、一致するホスト名のルートが使用され、一致するものがない場合は、デフォルトで最初の仮想ホストになります。
最後に、問題が発生した場合、最初に確認するのは常にApacheエラーログファイルです。
エラーログの場所は、Apache構成ファイルの「ErrorLog」ディレクティブを調べることで見つけることができます。
プロセスがポート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を確認することもできます。
すべてのIfDefine !WEBSERVICE_ON
タグをコメントアウトし、コンテンツを内部に保持します。MountainLionにはWEBSERVICE
はありません。