FreeBSD java環境構築②(FreeBSD6.0+jakarta-tomcat-5.0.30_5)

jdkが事前に構築済みであることが前程である。

FreeBSD java環境の構築その1(FreeBSD6.0+jdk-1.4.2p8_4)

tomcat4と5どちらにしょうか

・・・でいつものことでしばらくなやんだが、今回は5でやってみた

# cd /usr/ports/www/jakarta-tomcat5
# make clean
===> Cleaning for linux-sun-jdk-1.4.2.12
===> Cleaning for linux_base-fc-4_9
===> Cleaning for javavmwrapper-2.3
===> Cleaning for linux-xorg-libs-6.8.2_5
===> Cleaning for rpm-3.0.6_13
===> Cleaning for linux-fontconfig-2.2.3_5
===> Cleaning for gmake-3.81_1
===> Cleaning for automake-1.4.6_2
===> Cleaning for autoconf-2.13.000227_5
===> Cleaning for libtool-1.5.22_2
===> Cleaning for popt-1.7_1
===> Cleaning for gettext-0.14.5_2
===> Cleaning for ldconfig_compat-1.0_8
===> Cleaning for linux-expat-1.95.8
===> Cleaning for perl-5.8.8
===> Cleaning for m4-1.4.4
===> Cleaning for libiconv-1.9.2_2
===> Cleaning for jakarta-tomcat-5.0.30_5

依存しているものは上記のとおり

# make
# make install clean

あっさり完了である。

Installation settings:
Destination directory: /usr/local/jakarta-tomcat5.0
Location of JDK: /usr/local/linux-sun-jdk1.4.2 Location of Java port: java/linux-sun-jdk14
Running as (user/group): www/www
HTTP port: 8180
Shutdown listener port: 8005
AJP 1.3 connector port: 8009
Logfile stdout: /usr/local/jakarta-tomcat5.0/logs/stdout.log
Logfile stderr: /usr/local/jakarta-tomcat5.0/logs/stderr.log

不思議なのだ Location of JDK: /usr/local/linux-sun-jdk1.4.2 となっている・・・
なんで /usr/local/jdk1.4.2 とならなかったのか?

 

さて起動だが

# /usr/local/etc/rc.d/tomcat50.sh start

とし、特にエラーは出ていないのだが8180ポートでアクセスできない。

次に

# /usr/local/jakarta-tomcat5.0/bin/startup.sh
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program

としたところ上記のメッセージ。

 

JAVA_HOMEへのパスが通っていないのか?そういえばJDKのテストもしていない・・・
.cshrcなどにパスを追加しておかなくてはいけないようなので下記を実施

# set path=($path /usr/local/linux-sun-jdk1.4.2/bin)
# setenv PATH ${PATH}:${JAVA_HOME}/bin

 

再度チャレンジ

# /usr/local/jakarta-tomcat5.0/bin/startup.sh
Using CATALINA_BASE: /usr/local/jakarta-tomcat5.0
Using CATALINA_HOME: /usr/local/jakarta-tomcat5.0
Using CATALINA_TMPDIR: /usr/local/jakarta-tomcat5.0/temp
Using JAVA_HOME: /usr/local/linux-sun-jdk1.4.2

今度はうまくいったようである。ブラウザより8180ポート(http://サーバー名:8080/)でアクセスし
トラネコにご対面。ε=( ̄。 ̄;A フゥ…

ここで疑問:Administrationのユーザ名とパスはなんだろう?
ここは外部からのポートを許可していないのでまずいいだろう・・・でひとまず保留。

なんとかtomcat単体での動作までは確認できた。

 

いよいよapacheと連動

さて当方はapache2なので下記コマンド投入

# cd /usr/ports/www/mod_jk2-apache2
# make install clean

これは難なく終了

次にhttph.confの修正である

下記をコメントアウトし有効にする

LoadModule jk2_module         libexec/apache2/mod_jk2.so

さらに下記を追記する

<IfModule mod_jk2.c>
JkSet config:file /usr/local/etc/apache2/workers2.properties
</IfModule>

設定ファイルの作成

workers2.properties を作成し、/usr/local/etc/apache2配下に設置する。
内容は下記

logger.file:0]
level=ERROR
file=/var/log/mod_jk2.log
[shm:]
disabled=1
[channel.socket:localhost:8009]
[uri:/examples]
info=Example webapp in the default context.
context=/examples
debug=0

[uri:/examples1/*]
info=A second webapp, this time going to the second tomcat only.
group=lb_1
debug=0

[uri:/examples/servlet/*]
info=Prefix mapping

[uri:/examples/*.jsp]
info=Extension mapping

[uri:/examples/*]
info=Map the whole webapp

 

問題点

以上で一通りのことはやったと思っていたがtomcatが自動で起動してくれない。
また手動起動においても /usr/local/etc/rc.d/tomcat50.sh start ではだめである。

どうやら前回のjdk導入でミスったらしい・・・

まず、

/etc/rc.confに以下を追加

linux_enable="YES"


/etc/fstabに以下を追加

linproc /compat/linux/proc linprocfs rw 0 0


その後一度再起動しjdkをmake installするのが正しい手順であるようだ・・o┤*´Д`*├o アァー

/usr/local/etc/rc.d/tomcat50.sh start がうまく起動してくれないので /usr/local/jakarta-tomcat5.0/bin/startup.sh
を使って自動起動させるようにした。

まだテストスクリプトの実行もしていないのでこの記事は再度更新予定

 


参考:

http://www.hayagui.com/tomcat.html
http://ash.jp/freebsd/tomcat.htm
http://www.gizo.net/bsd/tomcat.html
http://www.tom.sfc.keio.ac.jp/~nao/hiki/hiki.cgi?www%2
Fjakarta-tomcat5%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC(in+FreeBSD)
http://www.hijiki.net/archives/000087.html
http://park1.wakwak.com/~ima/freebsd_top.html