FreeBSD: AH00534: httpd: Configuration error: No MPM loaded.

しばらく使っていなかった FreeBSD 8.4 テストサーバーを最新の状態にアップデートしようとしたところ、HTTP サーバーの Apache 2.4が起動しなくなってしまいました。
パッケージメンテナンスコマンドも、pkg ではなく pkg_xxxx だったので、相当な期間メンテナンスしていなかった模様。

最終的には FreeBSD 9.x にアップグレードするのですが、その前に他の FreeBSD 8.4 サーバーの役に立つデータを取ろうと計画しました。既存パッケージを pkg upgrade コマンドで一気に最新にして、動かなくなるアプリケーションがないかチェックしようと考えました。

まず、Apache 2.4が起動しなくなるという症状が発生。やっぱり、一気にアップデートするのは危険。

root@pc22:/usr/local/etc/apache24 # /usr/local/etc/rc.d/apache24 start
Performing sanity check on apache24 configuration:
AH00534: httpd: Configuration error: No MPM loaded.
Starting apache24.
AH00534: httpd: Configuration error: No MPM loaded.
/usr/local/etc/rc.d/apache24: WARNING: failed to start apache24

httpd.conf を見てみると、

# Server-pool management (MPM specific)
#Include etc/apache24/extra/httpd-mpm.conf

とコメントが付いていたので、これを削除。
そして、再起動しようとしたものの、エラーは改善されず。

/usr/local/etc/apache24 を確認してみたところ、httpd.conf の他に httpd.conf.sample があり、ファイルサイズがちょっと違いすぎることを発見。私がインストールしていた前のバージョンから修正、修正でかなりコンフィグレーションが変更になっている可能性を発見。httpd.conf.sample の方をみてみると、

#LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
#LoadModule mpm_worker_module libexec/apache24/mod_mpm_worker.so

という「mpm」を含む行がありました。

この3行を httpd.conf にコピーしてみたところ、

root@pc22:/usr/local/etc/apache24 # /usr/local/etc/rc.d/apache24 configtest
Performing sanity check on apache24 configuration:
Syntax OK

httpd.conf の文法チェックがパスし、Apache が起動しました。

ちなみに、環境は、64bit FreeBSD です。

# uname -a
FreeBSD pc22.lifewithunix.jp 8.4-RELEASE-p34 FreeBSD 8.4-RELEASE-p34 #0: Tue Jul 21 21:47:00 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

コメントを残す