[MAMP]Apacheが起動しないときの手順


Apacheを再起動しようとしても、起動しない。。。

Apacheが起動しない原因は主に3つ。

①ポート番号競合

②モジュールエラー

③設定ファイルの書き間違え

らしい。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10112045530

というわけで、しらみつぶしにいきます。

①ポート番号の競合

WindowsではよくSkypeがポート80を占有してApacheが起動しないなんてことがあるらしいです。Macでの調べ方はターミナルで

$ lsof -i :80

を実行。(LISTEN)となっているプロセスがポートを読んでいます。
プロセスを削除するには、

$ open /Applications/Utilities/Activity\ Monitor.app

で、アクティビティモニターというアプリケーションを開きます。

指定したプロセスを終了するをクリックすれば、プロセスを終了できます。

あるいはコマンドラインから

$ kill プロセス番号

で終了可能です。

②モジュールエラー

モジュールエラーを調べるためにはエラーログをみます。

$ vim /Applications/MAMP/logs/apache_error.log

を開いて、
[error]
となっている内容を参照してください。

③設定ファイルの書き間違え

httpd.confや、その参照のconfファイルの構文に誤りが合る場合があります。

①Syntaxエラー

 コメントアウトがコメントアウトされてない

②Includeの参照先に指定ファイルがない。

 ファイル名の誤り。ディレクトリパスの誤り

が主な原因です。
MAMPのAcache構文チェック方法を調べたのですが、よくわからなかったので、
Macのデフォルトのapacheで強制的に調べます。笑

$ cd /etc/apache2/
$ sudo mkdir tmp
$ sudo mv httpd.conf /tmp
$ sudo cp /Applications/MAMP/conf/apache/httpd.conf

でデフォルトのhttpd.confを一旦避難させて、次にMAMPのhttpd.confを移動。
etcの編集はsudoで。

つぎに、apacheの構文をチェック。

$ apachectl configtest
Syntax error on line 120 of /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

とかが出たらビンゴ。所定の箇所をチェックしましょう。