Tomcatのインストール
概要:Webコンテナとは、アプリケーションサーバが備えるJ2EEで規定されたWebアプリケーションの実行環境である。サーブレットとJSP(JavaServer Pages)という、動的なWebページを生成するためのコンポーネントが実行可能である。
Apache Software Foundationで開発されているサーブレットコンテナであるTomcatを導入する。
前提:
1. java-1.4.2-gcj-compatのアンインストール
CentOSのパッケージからインストールされるjavaコマンドはGNU版javaのためインストールされている場合は、アンインストールする。
# rpm -qa java-1.4.2-gcj-compat ← インストールされているか確認する。
# yum -y remove java-1.4.2-gcj-compat ← インストールされている場合削除する。
2. JDKのインストール
- ) Java SE Downloadsのサイト[ http://www.oracle.com/technetwork/java/javase/downloads/index.html ] からJava SE(JDK)のRPM(この執筆時点ではjdk-6u20-linux-i586-rpm.bin)をダウンロードし、サーバーの/tmp/workディレクトリへアップロードする。
- ) JDKのインストール
# chmod +x jdk-6u20-linux-i586-rpm.bin ← 実行権限を付加する。
# ./jdk-6u20-linux-i586-rpm.bin ← JDKにインストール開始。
:
: Licenseの説明が表示されるので、SPACEキーを押下して流す。
:
Do you agree to the above license terms? [yes or no]
y ← yを入力する。
Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-6u20-linux-i586.rpm
inflating: sun-javadb-common-10.5.3-0.2.i386.rpm
inflating: sun-javadb-core-10.5.3-0.2.i386.rpm
inflating: sun-javadb-client-10.5.3-0.2.i386.rpm
inflating: sun-javadb-demo-10.5.3-0.2.i386.rpm
inflating: sun-javadb-docs-10.5.3-0.2.i386.rpm
inflating: sun-javadb-javadoc-10.5.3-0.2.i386.rpm
準備中... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...
Installing JavaDB
準備中... ########################################### [100%]
1:sun-javadb-common ########################################### [ 17%]
2:sun-javadb-core ########################################### [ 33%]
3:sun-javadb-client ########################################### [ 50%]
4:sun-javadb-demo ########################################### [ 67%]
5:sun-javadb-docs ########################################### [ 83%]
6:sun-javadb-javadoc ########################################### [100%]
Java(TM) SE Development Kit 6 successfully installed.
Product Registration is FREE and includes many benefits:
* Notification of new versions, patches, and updates
* Special offers on Sun products, services and training
* Access to early releases and documentation
Product and system data will be collected. If your configuration
supports a browser, the Sun Product Registration form for
the JDK will be presented. If you do not register, none of
this information will be saved. You may also register your
JDK later by opening the register.html file (located in
the JDK installation directory) in a browser.
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue..... ← Enterを押下する。
Done.
- ) JDK設定
# vi /etc/profile ← 環境変数設定ファイルを編集
以下を最終行へ追加
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
# source /etc/profile ← 環境変数設定を反映
# java -version
java version "1.6.0_20" ← javaのバージョンが表示されればOK。
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
3. Tomcatのインストール
ここでは後述のAIPOを導入するためTomcat 5.5.xをインストールする。
最新版を[ http://tomcat.apache.org/download-55.cgi ]で確認する。
- ) Tomcatのダウンロードとインストール
# cd /tmp/work
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.29/bin/apache-tomcat-5.5.29.tar.gz
# tar zxvf apache-tomcat-5.5.29.tar.gz
# mv apache-tomcat-5.5.12/ /usr/local/tomcat
- ) Tomcatの設定
# vi /etc/profile ← 環境変数を編集
以下を最終行へ追加
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib
# source /etc/profile ← 環境変数を反映
- ) Tomcatの起動
# vi /etc/rc.d/init.d/tomcat ← Tomcat起動スクリプト作成
#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.
# Source function library.
. /etc/rc.d/init.d/functions
source /etc/profile
start(){
if [ -z $(/sbin/pidof java) ]; then
echo "Starting tomcat"
$CATALINA_HOME/bin/startup.sh
touch /var/lock/subsys/tomcat
else
echo "tomcat allready running"
fi
}
stop(){
if [ ! -z $(/sbin/pidof java) ]; then
echo "Shutting down tomcat"
$CATALINA_HOME/bin/shutdown.sh
until [ -z $(/sbin/pidof java) ]; do :; done
rm -f /var/lock/subsys/tomcat
else
echo "tomcat not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
$CATALINA_HOME/bin/catalina.sh version
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac
exit 0
# chmod +x /etc/rc.d/init.d/tomcat ← Tomcat起動スクリプトに実行権限付加
# /etc/rc.d/init.d/tomcat start ← Tomcat起動
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/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
# chkconfig --add tomcat ← Tomcat起動スクリプトをchkconfigへ追加
# chkconfig tomcat on ← Tomcat自動起動設定
# chkconfig --list tomcat ← Tomcat自動起動設定確認
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- ) Tomcatの確認
- http://サーバー名:8080/servlets-examples/にアクセスしてServlet Examplesページが表示されることを確認する。
- http://サーバー名:8080/jsp-examples/にアクセスしてJSP Examplesページが表示されることを確認する。
4. ApacheとTomcatの連携
URLにポート8080を指定しなくてもいいように、ApacheとTomcatを連携するように設定する。
また、ポート8080でアクセスできないようにする。
- ) Apacheの設定
# vi /etc/httpd/conf.d/proxy_ajp.conf ← proxy_ajp.conf編集
以下を最終行へ追加する。
ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /servlets-examples/ ajp://localhost:8009/servlets-examples/
ProxyPass /jsp-examples/ ajp://localhost:8009/jsp-examples/
# /etc/rc.d/init.d/httpd reload
httpd を再読み込み中: [ OK ]
- ) Tomcatの設定
# vi /usr/local/tomcat/conf/server.xml ← Tomcat設定ファイル編集
:
:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!-- ← 追加(ポート8080でのTomcatアクセスを無効化)
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
--> ← 追加(ポート8080でのTomcatアクセスを無効化)
# /etc/rc.d/init.d/tomcat restart
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/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
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/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
- ) Tomcatの確認
- http://サーバー名:8080/servlets-examples/にアクセスしてエラーとなることを確認する。
- http://サーバー名:8080/jsp-examples/にアクセスしてエラーとなることを確認する。
- http://サーバー名/servlets-examples/にアクセスしてServlet Examplesページが表示されることを確認する。
- http://サーバー名/jsp-examples/にアクセスしてJSP Examplesページが表示されることを確認する。
5. 不要アプリの削除
アプリケーションの導入後に不要なTomcatのドキュメントやサンプルのアプリケーションを削除する。
- ) Tomcat不要アプリの削除
ディレクトリー/usr/local/tomcat/webapps下にある
ROOT、balancer、jsp-examples、servlets-examples、tomcat-docs、webdav
を削除する。
# rm -rf ROOT ← Defaultのページを別途用意して入れ替える。
# rm -rf balancer
# rm -rf jsp-examples
# rm -rf servlets-examples
# rm -rf tomcat-docs
# rm -rf webdav
- ) Apacheの設定
ApacheとTomcatの連携で設定したTomcatのサンプルなどの設定を削除する。
# vi /etc/httpd/conf.d/proxy_ajp.conf ← proxy_ajp.conf編集
以下を削除する。
ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /servlets-examples/ ajp://localhost:8009/servlets-examples/
ProxyPass /jsp-examples/ ajp://localhost:8009/jsp-examples/
# /etc/rc.d/init.d/httpd reload
httpd を再読み込み中: [ OK ]