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.conf
もmy_user_name.conf
効果がないことの理由です。何かアイデアはありますか?
答え1
複数のサーバーを実行していることが確認できましたapache
。
最初にお勧めするのは、再起動することです。これは通常お勧めする解決策ではありませんが、Apache が半分死んでいてシステムが何らかの矛盾した状態になっている場合は、再起動することで問題が解決し、Web サーバーの起動/停止に通常のツールが機能する状態に戻ります。
それでも動作状態にならない場合は、追加の httpd がどこから来ているのかを特定する必要があります ( lsof
root として を使用すると、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
(これがない場合、アイテムは次回の再起動時に再ロードされます)。