はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> Webサーバ >> サーバサイドJAVAの導入(Tomcat5編)
動作確認 [ FC4 / FC5 / CentOS4 ] 当該ページは凍結しました
  1. tomcatとは・・・
  2. 事前準備
  3. tomcatのインストール
  4. tomcatの設定
  5. tomcatの起動と停止
    tomcatの起動・停止スクリプト作成
    tomcat5の起動・停止スクリプトのダウンロード
  6. tomcat動作の確認
    サーブレットの動作確認
    JSPの動作確認
  7. ドキュメントの格納場所
    デフォルトドキュメントパス
  8. 公開前の準備

■ tomcatとは・・・

Jakartaプロジェクトのサブプロジェクトとして開発されているオープンソースのソフトウェアで、Javaサーブレット・JSPを処理するアプリケーションサーバです。
Tomcatは単独でWebサーバとして動作できるそうだがApacheのプラグインと動作できるようになっており、実際にはプラグインとしての利用が主流となっているそうです。

■ 事前準備

java-1.4.2-gcj-compatのアンインストール
# yum -y remove java-1.4.2-gcj-compat

ApacheとTomcatの連携モジュール作成時に必要な「apxs」をインストールする。

httpd-develのインストール
# yum -y install httpd-devel

■ tomcatのインストール

tomcat5の取得
# wget http://archive.apache.org/dist/jakarta/tomcat-5/v5.5.12/bin/apache-tomcat-5.5.12.tar.gz
--05:09:56--  http://archive.apache.org/dist/jakarta/tomcat-5/v5.5.12/bin/apache-tomcat-5.5.12.tar.gz
           => `apache-tomcat-5.5.12.tar.gz'
archive.apache.org をDNSに問いあわせています... 192.87.106.226
archive.apache.org|192.87.106.226|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5,924,214 (5.6M) [application/x-tar]

100%[====================================>] 5,924,214    115.04K/s    ETA 00:00

05:11:27 (64.00 KB/s) - `apache-tomcat-5.5.12.tar.gz' を保存しました [5924214/5924214]

取得したtomcat5の展開
# tar zxvf apache-tomcat-5.5.12.tar.gz
apache-tomcat-5.5.12/bin/catalina.sh
apache-tomcat-5.5.12/bin/digest.sh
apache-tomcat-5.5.12/bin/setclasspath.sh
apache-tomcat-5.5.12/bin/shutdown.sh
apache-tomcat-5.5.12/bin/startup.sh
        :
        :
        :
apache-tomcat-5.5.12/webapps/tomcat-docs/windows-service-howto.html
apache-tomcat-5.5.12/webapps/webdav/WEB-INF/web.xml
apache-tomcat-5.5.12/webapps/webdav/index.html
apache-tomcat-5.5.12/webapps/webdav/tomcat-power.gif
apache-tomcat-5.5.12/webapps/webdav/tomcat.gif

展開されたモジュールを移動
# mv apache-tomcat-5.5.12/ /usr/local/
今後のTomcat5バージョンアップを考慮しシンボリックリンクを貼る
# ln -s /usr/local/apache-tomcat-5.5.12/ /usr/local/tomcat
シンボリックリンクの確認
# ll /usr/local/
lrwxrwxrwx  1 root  root    32  7月 25 05:42 tomcat -> /usr/local/apache-tomcat-5.5.12/



ApacheとTomcatの連携モジュール「mod_jk2.so」を作成する為の「jakarta-tomcat-connectors-jk2」をダウンロード
# wget http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
--05:18:29--  http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
           => `jakarta-tomcat-connectors-jk2-src-current.tar.gz'
archive.apache.org をDNSに問いあわせています... 192.87.106.226
archive.apache.org|192.87.106.226|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 907,088 (886K) [application/x-tar]

100%[====================================>] 907,088       81.71K/s    ETA 00:00

05:18:47 (50.91 KB/s) - `jakarta-tomcat-connectors-jk2-src-current.tar.gz' を保存しました [907088/907088]

ダウンロードした「jakarta-tomcat-connectors-jk2」を展開
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
jakarta-tomcat-connectors-jk2-2.0.4-src/
jakarta-tomcat-connectors-jk2-2.0.4-src/xxx
jakarta-tomcat-connectors-jk2-2.0.4-src/README.txt
jakarta-tomcat-connectors-jk2-2.0.4-src/KEYS
jakarta-tomcat-connectors-jk2-2.0.4-src/LICENSE
        :
        :
        :
jakarta-tomcat-connectors-jk2-2.0.4-src/jk/xdocs/menu.idx
jakarta-tomcat-connectors-jk2-2.0.4-src/lib/
jakarta-tomcat-connectors-jk2-2.0.4-src/scandoc/
jakarta-tomcat-connectors-jk2-2.0.4-src/scandoc/scandoc.pl
jakarta-tomcat-connectors-jk2-2.0.4-src/scandoc/template.pl

ApacheとTomcatの連携モジュール「mod_jk2.so」の生成
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/

# ./configure --with-apxs2=/usr/sbin/apxs
checking build system type... i686-redhat-linux-gnu
checking host system type... i686-redhat-linux-gnu
checking target system type... i686-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
        :
        :
        :
config.status: creating server/apache2/Makefile
config.status: creating server/apache2/Makefile.apxs
config.status: creating ../build.properties
config.status: creating scripts/build/unix/dummy
config.status: executing depfiles commands

# make
list=' server/apache2'; \
for i in $list; do \
        echo "Making $target in $i"; \
        if test "$i" != "."; then \
        (cd $i && make) || exit 1; \
        :
        :
        :
/usr/lib/apr-1/build/libtool --silent  --mode=install /bin/cp ../../../build/jk2/apache2/mod_jk2.la
 `pwd`/../../../build/jk2/apache2//usr/lib/httpd/modules
libtool: install: warning: remember to run `libtool --finish /usr/lib/httpd/modules'
/bin/cp ../../../build/jk2/apache2//usr/lib/httpd/modules/mod_jk2.so ../../../build/jk2/apache2/mod_jk2.so
make[1]: Leaving directory `/root/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'

生成された「mod_jk2.so」の位置へ移動
# cd ../build/jk2/apache2/

「mod_jk2.so」のインストール
# apxs -n jk2 -i mod_jk2.so
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib/apr-1/build/libtool' mod_jk2.so /usr/lib/httpd/modules
/usr/lib/apr-1/build/libtool --mode=install cp mod_jk2.so /usr/lib/httpd/modules/
cp mod_jk2.so /usr/lib/httpd/modules/mod_jk2.so
Warning!  dlname not found in /usr/lib/httpd/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/lib/httpd/modules/mod_jk2.so

「workers2.properties」のコピー
# cd ../../../conf/
# cp -p workers2.properties /etc/httpd/conf/

「mod_jk2.so」の組み込み
# vi /etc/httpd/conf/httpd.conf
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
以下を追加
LoadModule jk2_module modules/mod_jk2.so

■ tomcatの設定

環境ファイルの編集
# vi /etc/profile

以下を追加します。
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib

編集した環境ファイルを反映させる
# source /etc/profile

サーブレットクラスをJRE(Java実行環境)のクラスライブラリへコピー 
# cp $CATALINA_HOME/common/lib/servlet-api.jar $JAVA_HOME/jre/lib/ext/

設定ファイルの編集
# vi /usr/local/tomcat/conf/web.xml
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
ディレクトリの内容が表示されてしまうのを防ぐ
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

サンプル「servlet」と「jsp」を認識させる
# vi /etc/httpd/conf/workers2.properties
[uri:/examples/servlet/HelloW]
info=Example with debug enabled.
debug=10
以下を追加
[uri:/servlets-examples/*]
[uri:/jsp-examples/*]

デフォルトではポート「8080」でアクセスの為(http://サーバアドレス:8080/)、無効にする
# vi /usr/local/tomcat/conf/server.xml
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
以下を追加(「<!--」「-->」を挿入しコメント化)
<!--
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
-->
    <!-- Note : To disable connection timeouts, set connectionTimeout value
     to 0 -->

■ tomcatの起動と停止

tomcatを起動する
# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

apache(httpd)を再起動する
# /etc/rc.d/init.d/httpd restart
httpdを停止中:                                             [  OK  ]
httpd を起動中:                                            [  OK  ]


備考:
tomcatの停止方法
# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

■ tomcat5の起動・停止スクリプト作成

このままでは、起動・停止スクリプトが別々なので操作性が良くありません。
また、システム再起動時にも同様の手順を追わなければならないので以下の手順でスクリプトを作成します。

tomcat5の起動・停止スクリプトの作成
# vi /etc/rc.d/init.d/tomcat5
#!/bin/bash
#
# Tomcat
# chkconfig: - 99 20
#
# description: Tomcat service script

# Source function library.
. /etc/rc.d/init.d/functions

TOMBIN=${TOMCAT_HOME}/bin

case "$1" in
    start)
        if [ -z $(/sbin/pidof java) ]; then
            echo "Starting Tomcat..."
            ${TOMBIN}/catalina.sh $1
            touch /var/lock/subsys/tomcat
        else
            echo "Tomcat allready running!!!"
        fi
        ;;
    stop)
        if [ ! -z $(/sbin/pidof java) ]; then
            echo "Shutting down Tomcat..."
            ${TOMBIN}/catalina.sh $1
            until [ -z $(/sbin/pidof java) ]; do :; done
            rm -f /var/lock/subsys/tomcat
        else
            echo "Tomcat not running!!!"
        fi
        ;;
    status)
        if [ -z $(/sbin/pidof java) ]; then
            echo "Tomcat not running..."
        else
            echo "Tomcat is running... pid=[$(/sbin/pidof java)]"
        fi
        ;;
    version)
        /bin/sh ${TOMBIN}/version.sh
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status|version}"
        exit 1
esac

exit 0

作成したスクリプトのパーミッション変更
# chmod 755 /etc/rc.d/init.d/tomcat5

スクリプトの動作確認

tomcatの起動
# /etc/rc.d/init.d/tomcat5 start
Starting Tomcat...
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

tomcatのステータス確認
# /etc/rc.d/init.d/tomcat5 status
Tomcat is running... pid=[3917]

tomcatの停止
# /etc/rc.d/init.d/tomcat5 stop
Shutting down Tomcat...
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

tomcatのバージョン表示
# /etc/rc.d/init.d/tomcat5 version
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java
Server version: Apache Tomcat/5.5.12
Server built:   Sep 23 2005 09:40:42
Server number:  5.5.12.0
OS Name:        Linux
OS Version:     2.6.17-1.2157_FC5
Architecture:   i386
JVM Version:    1.5.0_07-b03
JVM Vendor:     Sun Microsystems Inc.

tomcat5スクリプトをシステムに反映
tomcat5スクリプトをサービスに追加
# chkconfig --add tomcat5

tomcat5スクリプトを自動起動に設定
# chkconfig tomcat5 on

tomcat5スクリプトの自動起動確認
# chkconfig --list tomcat5
tomcat5         0:off   1:off   2:on    3:on    4:on    5:on    6:off

■ tomcat5の起動・停止スクリプトのダウンロード

*:ダウンロードした「tomcat5.tar」が「/root/」直下にコピーした場合で説明します。

配置位置に移動
# cd /etc/rc.d/init.d/

tarファイルを展開
# tar xvf /root/tomcat5.tar

カレント位置へ移動
# cd

展開したファイル存在の確認
# ls -l /etc/rc.d/init.d/tomcat5
-rwxr-xr-x 1 root root 927  7月 26 04:52 /etc/rc.d/init.d/tomcat5


スクリプトの動作確認

tomcatの起動
# /etc/rc.d/init.d/tomcat5 start
Starting Tomcat...
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

tomcatのステータス確認
# /etc/rc.d/init.d/tomcat5 status
Tomcat is running... pid=[3917]

tomcatの停止
# /etc/rc.d/init.d/tomcat5 stop
Shutting down Tomcat...
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java

tomcatのバージョン表示
# /etc/rc.d/init.d/tomcat5 version
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/java
Server version: Apache Tomcat/5.5.12
Server built:   Sep 23 2005 09:40:42
Server number:  5.5.12.0
OS Name:        Linux
OS Version:     2.6.17-1.2157_FC5
Architecture:   i386
JVM Version:    1.5.0_07-b03
JVM Vendor:     Sun Microsystems Inc.

tomcat5スクリプトをサービスに追加
# chkconfig --add tomcat5

tomcat5スクリプトを自動起動に設定
# chkconfig tomcat5 on

tomcat5スクリプトの自動起動確認
# chkconfig --list tomcat5
tomcat5         0:off   1:off   2:on    3:on    4:on    5:on    6:off

■ tomcat動作の確認

■ サーブレットの動作確認

クライアントより[http://サーバのアドレス/servlets-examples/]でアクセスして下記の様な画面が表示されれば動作しています。

■ JSPの動作確認

クライアントより[http://サーバのアドレス/jsp-examples/]でアクセスして下記の様な画面が表示されれば動作しています。

■ ドキュメントの格納場所

■ デフォルトドキュメントパス

■ 公開前の準備

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.