- PR -

AIX5.2での、mod_jkを利用してのApacheとTomcatの連携について

1
投稿者投稿内容
まこと
会議室デビュー日: 2004/06/24
投稿数: 1
投稿日時: 2004-06-24 11:54
はじめまして、まことといいます。

現在、AIXにてApacheとTomcatをインストールし、
mod_jkを利用して連携をさせようとしているのですが、
うまくいかず、困っています。

以下に環境と、今までの手順を記述します。

(環境)
OS:AIX5.2
Apache:1.3.26
Tomcat:3.3.1a
mod_jk:jakarta-tomcat-connectors-jk-1.2.3-src
JDK:1.3.1(AIXに標準でインストールされていたもの)

(手順)
1.mod_jkをビルド
 (1) configureの実行
  cd jakarta-tomcat-connectors-jk-1.2.2-src/jk/native
  ./buildconf.sh
  ./configure --with-apxs=/usr/local/apache/bin/apxs --with-java-home=/usr/java131

 (2) Makefileの修正
  -------------------------------------------------
  #
  # Compile part.
  #
  mod_jk.la: mod_jk.lo $(APACHE_OBJECTS)
   ${MOD_LINK} -o $@ -module -rpath ${libexecdir} $^
  -------------------------------------------------
  を以下のように修正。
  -------------------------------------------------
  #
  # Compile part.
  #
  mod_jk.la: mod_jk.lo $(APACHE_OBJECTS)
   ${MOD_LINK} -o $@ -Wl,-bI:/usr/local/apache/libexec/httpd.exp -module -rpath ${libexecdir} $^
  -------------------------------------------------
  また、
  -------------------------------------------------
  LIBTOOL=/opt/freeware/libtool
  -------------------------------------------------
  を
  -------------------------------------------------
  LIBTOOL=$CONNECT_HOME/jakarta-tomcat-connectors-jk-1.2.5-src/jk/native/libtool
  -------------------------------------------------
  に修正。
  ※ 既存のlibtoolではコンパイルできなかったため、mod_jkに付いてきたlibtoolを利用。

 (4) gmakeの実行

 (5) Apacheの下にコピー
  cp mod_jk.so /usr/local/apache/libexec/mod_jk.so

2.Tomcatの設定の変更
 server.xml
 の
 <AutoWebApp dir="modules" host="DEFAULT" trusted="true"/>
 の下に以下の行を追加。
  <ApacheConfig />

3.Apache側の設定の変更
 Apacheの設定ファイル
 /usr/local/apache/conf/httpd.conf
 に以下の行を追加。
  Include /usr/local/tomcat/conf/mod_jk.conf-auto

4.Apache,Tomcatの再起動
 /usr/local/tomcat/bin/shutdown.sh
 /usr/local/tomcat/bin/startup.sh
 →mod_jk.conf-autoが作成されない。

そのため、5以降の設定に変更

5.Apache側の設定の変更
 Apacheの設定ファイル
  Include /usr/local/tomcat/conf/mod_jk.conf-auto
 を
  Include /usr/local/tomcat/conf/auto/mod_jk.conf
 に変更。

6.Tomcatの起動方法の変更
 以下のコマンドを実行することにより、/usr/local/tomcat/conf/auto/mod_jk.confを作成。
  @ /usr/local/tomcat/bin/startup.sh jkconf
 その上で、
  A /usr/local/tomcat/bin/startup.sh
 を実行。
 (@だと、
 Tomcat will not start - configuration only mode
 となったため。)

7.Apacheの再起動
 /usr/local/apache/bin/httpd restart
 →以下のエラーが発生
  Syntax error on line 1052 of /usr/local/apache/conf/httpd.conf:
  Can't locate API module structure `jk_module' in file /usr/local/apache/libexec/mod_jk.so: Function
  not implemented (jk_module)

 /usr/local/apache/bin/httpd configtest
 でも、同様のエラーが発生。

上記の環境、手順で何か問題がありますでしょうか?
ご存知の方がいらっしゃいましたら、ご教授いただきたく思います。

よろしくお願いいたします。
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2004-06-25 19:55
AIX は使った事ないのですが、以下のページを見つけました。
関係あるでしょうか。
http://www-6.ibm.com/jp/servers/aix/developer/special/java/st09.html

libexec/httpd.exp を書き換えていたり、
apxs に -bE:httpd.conf なんていうオプションを付けていたり、
私には、これらの操作がどんな意味を持っているのか解かりませんでした。

mod_jk.so に、'jk_module' シンボルが有るか無いかが関係しているか
判りませんが、私が Red Hat Linux 7.2 にインストールした物は以下の
様に成ります。

$ file mod_jk.so
mod_jk.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

$ nm mod_jk.so | grep jk_module
00019de0 D jk_module
1

スキルアップ/キャリアアップ(JOB@IT)