Docker 上の Apache で AH00534: httpd: Configuration error: No MPM loaded. 対処

現象

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 までテンプレートとして持っておくのはバージョンが変わった際にメンテナンスが面倒なので、ファイル永続化はやめて指定ディレクトリにファイルコピーするだけにしました。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。