8

コマンドでMac OS Mountain LionにApache Webサーバーをロードしました

sudo apachectl start

ただし、Firefox で localhost を開こうとすると、メッセージが表示されます。

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

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

#ServerName www.website.com

ServerName localhost

それでもうまくいきません。助言がありますか?

4

3 に答える 3

6

プロセスがポート 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 がログに記録した内容を確認することです。これは私が示しているものです。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 を確認することもできます。

于 2012-09-12T21:08:19.147 に答える
5

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

于 2012-09-12T20:47:03.423 に答える
1

IfDefine !WEBSERVICE_ONすべてのタグをコメント アウトし、内容はそのままにしておきますWEBSERVICE。Mountain Lion にはありません。

于 2012-10-18T16:33:50.873 に答える