アップグレード後、OS X Mountain Lion で Apache が応答しなくなる

アップグレード後、OS X Mountain Lion で Apache が応答しなくなる

Leopardからアップグレードした後、MacBook Mountain LionでApacheを設定するのに問題があります。次のことを試しました。これらの指示LoadModule php5_module libexec/apache2/libphp5.soの行はコメント解除されており、 には次の内容のファイル/etc/apache2/httpd.confがあります。my_user_name.conf/etc/apache2/users

<Directory "/Users/sarah/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

に index.html ファイルがあり/Users/my_user_name/Sites、これは chmod 644 に設定され、所有者は ですmy_user_name

  • しかし、 にアクセスするとhttp://localhost/~my_user_name、依然として 403 Forbidden が表示されます。
  • /Library/WebServer/Documents/phpinfo.phpその中で作成した<?php phpinfo(); ?>ものをブラウザで表示すると、ソース コードだけが表示されます。
  • にアクセスするとhttp://localhost、「It works!」と表示されます。しかし、 を実行した後で にsudo apachectl stopアクセスすると、http://localhost依然として「It works!」と表示されます。Apache を停止した場合、これはアクセスできないはずではないでしょうか。

の背後に別の Web サーバーがあるような気がしますlocalhostが、これが と を変更してhttpd.confmy_user_name.conf効果がないことの理由です。何かアイデアはありますか?

答え1

複数のサーバーを実行していることが確認できましたapache

最初にお勧めするのは、再起動することです。これは通常お勧めする解決策ではありませんが、Apache が半分死んでいてシステムが何らかの矛盾した状態になっている場合は、再起動することで問題が解決し、Web サーバーの起動/停止に通常のツールが機能する状態に戻ります。

それでも動作状態にならない場合は、追加の httpd がどこから来ているのかを特定する必要があります ( lsofroot として を使用すると、httpd.conf読み取っているファイルを特定できます。このファイルには、インストール元に関する手がかりや、無効化または再構成する方法が含まれている可能性があります)。

答え2

追加の Web サーバーは、OS X に組み込まれているものだと思います。Mountain Lion でもまだありますが、有効化と無効化の UI は削除されています。ただし、コマンド ラインから管理することはできます。OS X は組み込みの Web サーバーを launchd で起動して維持するため、launchctlこれを管理するために使用します。まず、launchd が apache を実行しているかどうかを確認します。

$ sudo launchctl list | grep apache
1526    -   org.apache.httpd

この結果から、launchd がラベル org.apache.httpd の項目を開始し、プロセス ID 1526 として実行していることがわかります。アクティブな apache 項目がない場合、結果は空白になります。

システム提供の launchd 項目の場合は、次のコマンドでオフにできます。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

により、アンロードが永続的になることに注意してください-w(これがない場合、アイテムは次回の再起動時に再ロードされます)。

関連情報