UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Apache】M1 MacでApache2.4のmod_jkが動かない

Apache httpdtomcatを使った構成のうち、Apache httpd をdockerで構築していた

ところがローカルマシンを M1 Mac に変えたところ動かなくなったので調査した

しかし結果的に、Apache httpdtomcat を連携する 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ジャパン株式会社

zenn.dev

Dockerで構築したapache環境の設定ファイル更新と反映 | masaki-blog

Mac M1 Docker で yum install がコケる

M1 MacでPHP開発環境をDockerで構築する - Qiita