Apache httpd と tomcatを使った構成のうち、Apache httpd をdockerで構築していた
ところがローカルマシンを M1 Mac に変えたところ動かなくなったので調査した
しかし結果的に、Apache httpd と tomcat を連携する mod_jk
がインストールできず、Apache httpd の静的コンテンツ表示だけにとどまった
やったことだけメモする
起動時のエラーは以下
apache mod_jk.so: cannot open shared object file: No such file or directory LoadModule jk_module modules/mod_jk.so
jk_moduleが見つからないというエラーだが、dockerインスタンスに入って確認したが存在しているので謎
dockerイメージは以下のようなDockerfileで作ったもの
FROM httpd:2.4 COPY ./modules/mod_jk.so /usr/local/apache2/modules/mod_jk.so
ここで利用している、httpd:2.4
イメージには確かに元々はmod_jk.so
というモジュールはないため、事前にインストールしたものをコピーして配置するということを行なっていた
2017年くらいに以下の記事を参考にインストールしたもので、一緒にコミットしておいていた
spirits.appirits.com
# cd /usr/local/src/ # wget http://www.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz # gunzip -c tomcat-connectors-1.2.28-src.tar.gz |tar xvf – # cd tomcat-connectors-1.2.28-src/native/ # ./configure –with-apxs=/usr/sbin/apxs # make # make install ... 出力パス: /etc/httpd/modules/mod_jk.so
これまではこれでうまく動いていたが、 M1 Mac に変えた環境で実行したら動かないという事象
もう一度、インストールし直すかと思ったが、このバージョンのモジュールがもうなかったので別のバージョンにしてみたが、makeがうまくいかず断念
ここをもう少し深掘りしても良いが、一旦Apache httpdだけでも動かしたかったので、mod_jk
周りをコメントアウトして
参考
CentOS 7 にmod_jkをインストールして、ApacheとTomcatとAJPで連携させてみる - Qiita
Dockerのはじめ方|新しいMac(M1)で仮想環境をつくる|エンジニアBLOG|株式会社クラウドスミス
DockerとApacheを使ってWebサーバーを構築しよう - Avintonジャパン株式会社
Dockerで構築したapache環境の設定ファイル更新と反映 | masaki-blog