突然macでApacheが起動しなくなりました😭。自動アップデートとかで時々あるんだけど久々になった。仕事とかローカルのWikiに書いているのでWebサーバ動かないと仕事できないので、この機会に環境を再構築することに。
以下、古い情報なので、最新の情報は、こちらのブログを参照すること。
macOSデフォルトのApacheを止める
まず、macデフォルトのApacheが入っていれば削除
sudo /usr/sbin/apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
HomebrewでApacheをインストール
brew install httpd
brew services start httpd
それでも駄目なとき
上記のようにしても、Homebrewで入れたApacheが動かない場合、エラーログを見るべし。設定ファイルをチェック。
/usr/local/etc/httpd/httpd.conf
設定ファイルの項目ErrorLog
のパスを調べるべし。例えば以下のように記されている。
ErrorLog "/usr/local/var/log/httpd/error_log"
ここで動かなくなった原因が判明
ここまでやって、今回、私がどうしてもうまくApacheが起動しなかった原因は、このエラーログとアクセスログのアクセス権限がなくなっていた事だと判明。そのため、ログを記録しようとApacheが起動した時に、アクセス権がなくてうまくApacheが起動できなくなっていたようだ。
とりあえず動かないと思ったらエラーログを見るべき。エラーログに何も記されていないと思ったら、アクセス権限を確認しよう。