「玄箱PRO-Tomcat」の編集履歴(バックアップ)一覧に戻る

玄箱PRO-Tomcat - (2007/05/28 (月) 11:09:57) のソース

*玄箱PRO-Tomcat
私の玄箱PROはDebian(etch)化しているのですが、色々試してうまく行ったtomcat4を導入する手順を紹介します。

※先に[[玄箱PRO-Java]]でSableVMが導入されていることが前提です。
※関連パッケージ26個で23.5MB使用します

(tomcat5の方が良いのかな?バージョンが低い方が軽いという観点でtomcat4を選択してます。tomcat3はServletAPIのバージョンが私の移行元のアプリケーションにあわないので必然的にServletAPI 2.3 JSP 1.2のtomcat4になりました。)

問題はetchでapt-cache searchしてもtomcat4が見つからないことです。sargeにはあったので/etc/apt/sources.listを一時的に編集してtomcat4を導入します。
> KUROBOX-PRO:~# vi /etc/apt/sources.list
> deb http://ftp.jp.debian.org/debian etch main contrib non-free
> deb-src http://ftp.jp.debian.org/debian etch main contrib non-free
> deb http://ftp.jp.debian.org/debian sarge main contrib non-free
> 
> deb http://security.debian.org etch/updates main contrib non-free
> deb-src http://security.debian.org etch/updates main contrib non-free
> deb http://security.debian.org sarge/updates main contrib non-free
> 
> KUROBOX-PRO:~# apt-get update
> 
> KUROBOX-PRO:~# apt-cache search tomcat4
> tomcat4 - Java Servlet 2.3 engine with JSP 1.2 support
> libtomcat4-java - Java Servlet engine -- core libraries
> tomcat4-admin - Java Servlet engine -- admin web interfaces
> tomcat4-webapps - Java Servlet engine -- documentation and example web applicat
> KUROBOX-PRO:~# apt-cache depends tomcat4
> tomcat4
> |Depends: <j2sdk1.4>
> |Depends: <j2sdk1.3>
> |Depends: kaffe
>  Depends: <java-virtual-machine>
>    gij
>    gij-4.1
>    jamvm
>    sablevm
>    sun-java5-jre
> |Depends: <j2sdk1.4>
> |Depends: <j2sdk1.3>
> |Depends: kaffe
>  Depends: <java-compiler>
>    gcj
>    gcj-4.1
>    jikes-classpath
>    jikes-gij
>    jikes-kaffe
>    jikes-sablevm
>    jikes-sun
>  Depends: libtomcat4-java
>  Depends: libcommons-digester-java
>  Depends: libcommons-collections-java
>  Depends: libcommons-beanutils-java
>  Depends: libcommons-logging-java
>  Depends: adduser
> |Depends: apache-utils
>  Depends: <apache2-common>
> Suggests: libapache-mod-jk
> Suggests: tomcat4-webapps
> Suggests: tomcat4-admin
> Suggests: ant
> KUROBOX-PRO:~# apt-get install tomcat4 tomcat4-admin tomcat4-webapps
> :
> :
ここまで終わったらsarge用のパスは不要なのでコメント化しておきます。(あとあと混乱のもとになるので)
> KUROBOX-PRO:~# vi /etc/apt/sources.list
> deb http://ftp.jp.debian.org/debian etch main contrib non-free
> deb-src http://ftp.jp.debian.org/debian etch main contrib non-free
> #deb http://ftp.jp.debian.org/debian sarge main contrib non-free
> 
> deb http://security.debian.org etch/updates main contrib non-free
> deb-src http://security.debian.org etch/updates main contrib non-free
> #deb http://security.debian.org sarge/updates main contrib non-free
> 
次にSableVMでTomcat4が起動できるように/usr/share/tomcat4/bin/setclasspath.shを編集します。
編集箇所は1箇所です。「! -x "$JAVA_HOME"/bin/jdb -o」を削除します。
> KUROBOX-PRO:~# vi /usr/share/tomcat4/bin/setclasspath.sh
> if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x 
> "$JAVA_HOME"/bin/javac ]; then
> ↓
> if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
さらにSableVMでTomcat4が起動できるように/etc/default/tomcat4を編集します。
設定する変数と説明を示します。viで編集してください。(もちろん説明部分は不要です)
> KUROBOX-PRO:~# vi /etc/default/tomcat4
> ■1箇所目:free-java-sdkを使用する
> JAVA_HOME=/usr/lib/fjsdk
> ■2箇所目:SableVMに-Xmx128Mの引数はないのでSableVM用の引数にしてここでは64Mに設定
> CATALINA_OPTS="-Djava.awt.headless=true -Dsablevm.heap.size.max=64000000"
> ■3箇所目:free-java-sdkではcom.sun.tools.javac.Main(tools.jar)が無いのでjikesを指定
> JSP_COMPILER=jikes
> ■4箇所目:SecurityManagerを有効にするとうまく動かなかったため、暫定でnoに設定
> TOMCAT4_SECURITY=no
最後にJSPコンパイルをjikesで行うように/var/lib/tomcat4/conf/web.xmlを編集します。
JspServletのinit-paramにcompilerを追加して値をjikesにします。
> KUROBOX-PRO:~# vi /var/lib/tomcat4/conf/web.xml
>    <servlet>
>        <servlet-name>jsp</servlet-name>
>        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>        <init-param>
>            <param-name>logVerbosityLevel</param-name>
>            <param-value>WARNING</param-value>
>        </init-param>
>        <init-param>
>            <param-name>compiler</param-name>
>            <param-value>jikes</param-value>
>        </init-param>
>        <init-param>
>            <param-name>fork</param-name>
>            <param-value>false</param-value>
>        </init-param>
>        <load-on-startup>3</load-on-startup>
>    </servlet>
稼動確認を行います。暫くしてからポートが開いたかを確認します。
> KUROBOX-PRO:~# /etc/init.d/tomcat4 start
> Starting Tomcat 4.1 servlet engine using Java from /usr/lib/fjsdk: tomcat4.
> KUROBOX-PRO:~# netstat -a | grep 8180
> tcp        0      0 *:8180                  *:*                     LISTEN
ログは/var/log/tomcat4に出力されています。
> KUROBOX-PRO:~# ls -l /var/log/tomcat4
> prwx------ 1 tomcat4 root        0 May  2 12:22 catalina.out
> -rw-r--r-- 1 tomcat4 nogroup 32276 May  2 12:22 catalina_2007-05-02.log
> -rw-r--r-- 1 tomcat4 nogroup 20620 May  2 12:22 localhost_2007-05-02.log
wgetで確認します。
> KUROBOX-PRO:~# wget http://localhost:8180/
> --12:32:57--  http://localhost:8180/
>           => `index.html'
> Resolving localhost... 127.0.0.1
> Connecting to localhost|127.0.0.1|:8180... connected.
> HTTP request sent, awaiting response... 302 Moved Temporarily
> Location: http://localhost:8180/index.jsp [following]
> --12:32:57--  http://localhost:8180/index.jsp
>           => `index.jsp'
> Reusing existing connection to localhost:8180.
> HTTP request sent, awaiting response... 200 OK
> Length: 8,083 (7.9K) [text/html]
> 
> 100%[==============================================>] 8,083         --.--K/s
> 
> 12:32:57 (31.85 MB/s) - `index.jsp' saved [8083/8083]
> 
**関連パッケージ
私はtomcat4のみの導入にしました。managerもadminも使うことがないので・・・
> KUROBOX-PRO:~# apt-get install tomcat4
> Reading package lists... Done
> Building dependency tree... Done
> The following extra packages will be installed:
>   apache-utils apache2-utils libant1.6-java libapr1 libaprutil1 libbcel-java
>   libcommons-beanutils-java libcommons-collections-java libcommons-collections3-java
>   libcommons-dbcp-java libcommons-digester-java libcommons-fileupload-java
>   libcommons-logging-java libcommons-modeler-java libcommons-pool-java libjaxp1.3-java
>   liblog4j1.2-java libmx4j-java libpcre3 libpq4 libregexp-java libservlet2.3-java
>   libsqlite3-0 libtomcat4-java libxerces2-java
> Suggested packages:
>   junit ant libbcel-java-doc libcommons-beanutils-java-doc
>   libcommons-collections-java-doc libcommons-collections3-java-doc liblogkit-java
>   libavalon-framework-java classpath-doc libgnumail-java libservlet2.4-java jython
>   libxerces2-java-doc libapache-mod-jk tomcat4-webapps tomcat4-admin
> The following NEW packages will be installed:
>   apache-utils apache2-utils libant1.6-java libapr1 libaprutil1 libbcel-java
>   libcommons-beanutils-java libcommons-collections-java libcommons-collections3-java
>   libcommons-dbcp-java libcommons-digester-java libcommons-fileupload-java
>   libcommons-logging-java libcommons-modeler-java libcommons-pool-java libjaxp1.3-java
>   liblog4j1.2-java libmx4j-java libpcre3 libpq4 libregexp-java libservlet2.3-java
>   libsqlite3-0 libtomcat4-java libxerces2-java tomcat4
> 0 upgraded, 26 newly installed, 0 to remove and 15 not upgraded.
> Need to get 9692kB of archives.
> After unpacking 23.5MB of additional disk space will be used.
> Do you want to continue [Y/n]?

tomcat4-adminやtomcat4-webappsを入れないときはserver.xmlを編集する必要があります。
> KUROBOX-PRO:~# vi /etc/tomcat4/server.xml
>          <!-- Context path="/tomcat-docs" docBase="tomcat-docs" debug="0">
>             <Resources className="org.apache.naming.resources.FileDirContext"
>                        allowLinking="true" />
>          </Context -->
その他不要なGlobalNamingResourcesやRealmなどをコメントしています。(ここでは割愛)
また、tomcat4-adminやtomcat4-webappsを入れないときの稼動確認方法はこちら
> KUROBOX-PRO:~# wget http://localhost:8180/ -O /dev/null
> --11:02:02--  http://localhost:8180/
>            => `/dev/null'
> Resolving localhost... 127.0.0.1
> Connecting to localhost|127.0.0.1|:8180... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 878 [text/html]
> 
> 100%[==============================================>] 878           --.--K/s
> 
> 11:02:02 (8.72 MB/s) - `/dev/null' saved [878/878]

----
最終更新日:&date()