現象
Docker 上の Apache で
AH00534: httpd: Configuration error: No MPM loaded.
のエラーが発生したので対処しました。
原因
ボリュームマウントしてファイル永続化する際に、ディレクトリ指定でファイル永続化してしまったので、自前で追加した conf
以外の設定がなくなってしまったことが原因でした。
volumes:
# apache conf.d
- ./apache/confd:/etc/httpd/conf.d
# apache conf.modules.d
- ./apache/confmodulesd:/etc/httpd/conf.modules.d
本来であれば /etc/httpd/conf.modules.d
には 00-base.conf
等の各種モジュール読み込みに関する設定が配置されているはずですが、自前で1つ conf
ファイルを追加するためにディレクトリ全体をファイル永続化したところ、自前追加の該当ファイル以外 (00-base.conf
など) がディレクトリ内から消えたため、上述のエラーが発生してしまいました。
対処
一々関係ない conf
までテンプレートとして持っておくのはバージョンが変わった際にメンテナンスが面倒なので、ファイル永続化はやめて指定ディレクトリにファイルコピーするだけにしました。