サーバ構築 Tomcat 導入
Javaサーブレット・JSPを動かすためApache Tomcatを導入する。
CentOSのTomcatは古いため、最新版をダウンロードして環境を整える。
目的
WEBサーバ上でJavaサーブレットの稼動を可能とする。
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.0 で構築
作成環境
OS | CentOS 5.6 64bit版 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
作業エリア | /home/hogehoge |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
ファイル入手
サイト
- Apache Tomcat
http://tomcat.apache.org/index.html
今回インストールしたファイル
- ダウンロードサイト
http://tomcat.apache.org/download-70.cgi
- インストールファイル
apache-tomcat-7.0.12.zip
http://ftp.riken.jp/net/apache/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.zip
前準備
- CentOSインストール 実施
- yumリポジトリ設定 実施
- LAMPサーバ構築 実施
- Java 実施
インストール
(1)ファイル転送
【FTP】
wget/ftp等にて、ユーザエリア「/home/hogehoge」に apache-tomcat-7.0.12.zip をアップ
(2)ファイルを展開
【Telnet】
$ su パスワード
- パッケージがあるか確認
# ls -l
-rw-rw-r-- 1 hogehoge hogehoge 7638243 4月 5 22:31 apache-tomcat-7.0.12.zip
- パッケージを解凍
# unzip apache-tomcat-7.0.12.zip
Archive: apache-tomcat-7.0.12.zip creating: apache-tomcat-7.0.12/ creating: apache-tomcat-7.0.12/bin/ :
- 解凍ファイルがあるか確認
# ls -l
drwxr-xr-x 9 root root 4096 4月 1 18:15 apache-tomcat-7.0.12 -rw-rw-r-- 1 hogehoge hogehoge 7638243 4月 5 22:31 apache-tomcat-7.0.12.zip
(3)/opt直下にコピー
- ファイルコピー
# cp -R apache-tomcat-7.0.12 /opt
- ディレクトリがあるか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096 4月 30 18:25 apache-tomcat-7.0.12
- ディレクトリ名変更
# mv /opt/apache-tomcat-7.0.12/ /opt/tomcat/
- ディレクトリが変更されているか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096 4月 30 18:25 tomcat
(4)環境変数設定
- 環境変数作成
# vi /etc/profile.d/tomcat.sh
- 以下全面追加
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 export TOMCAT_HOME=/opt/tomcat export CATALINA_HOME=/opt/tomcat export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib
(5)Tomcat起動
- 確認
# ls -l /opt/tomcat/bin/
-rw-r--r-- 1 root root 27145 4月 30 18:25 bootstrap.jar -rw-r--r-- 1 root root 2555 4月 30 18:25 catalina-tasks.xml -rw-r--r-- 1 root root 12246 4月 30 18:25 catalina.bat
:
- 実行権限付与
# chmod +x /opt/tomcat/bin/*
- 確認
# ls -l /opt/tomcat/bin/
-rwxr-xr-x 1 root root 27145 4月 30 18:25 bootstrap.jar -rwxr-xr-x 1 root root 2555 4月 30 18:25 catalina-tasks.xml -rwxr-xr-x 1 root root 12246 4月 30 18:25 catalina.bat
:
★実行権が付与されていること
- 実行
# /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
動作確認
【Web】
以下URLにアクセス
http://192.168.0.10:8080/ → Tomcat 初期画面が表示
起動スクリプト作成
(1)Tomcat停止
- 停止
# /opt/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
(2)起動スクリプト作成
- init.dにスクリプト新規登録
# vi /etc/rc.d/init.d/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.d/tomcat.sh
start(){ if [ -z $(/sbin/pidof java) ]; then echo "Starting tomcat" /opt/tomcat/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" /opt/tomcat/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) /opt/tomcat/bin/catalina.sh version ;; *) echo "Usage: $0 {start|stop|restart|status}" esac
exit 0
- 確認
# ls -l /etc/rc.d/init.d/tomcat
-rw-r--r-- 1 root root 959 4月 30 18:44 /etc/rc.d/init.d/tomcat
- 実行権限付与
# chmod +x /etc/rc.d/init.d/tomcat
- 確認
# ls -l /etc/rc.d/init.d/tomcat
-rwxr-xr-x 1 root root 959 4月 30 18:44 /etc/rc.d/init.d/tomcat
(3)起動スクリプトから起動
- init.dから起動
# /etc/rc.d/init.d/tomcat start
Starting tomcat Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
(4)自動起動登録
- 再度ログイン
# su -
- chkconfig確認
# chkconfig --list tomcat サービス tomcat は chkconfig をサポートしますが実行レベルで参照されていません (run 'chkconfig --add tomcat')
- chkconfigにtomcat追加
# chkconfig --add tomcat
- 確認
# chkconfig --list tomcat
tomcat 0:off 1:off 2:off 3:on 4:on 5:on 6:off
- Tomcat自動起動設定
# chkconfig tomcat on
- 確認
# chkconfig --list tomcat
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Apache/Tomcat連携
(1)Apacheの設定ファイル追加
- Apacheの設定ファイル
# vi /etc/httpd/conf.d/proxy_ajp.conf
- 以下を最終行に追加
ProxyPass /tomcat/ ajp://localhost:8009/
★Tomcatが通常利用するポートは8080番ポートであるが、
AJPコネクタを利用した通信には8009番ポートを利用する点に注意。
(2)Apacheリロード
# /etc/rc.d/init.d/httpd reload
httpd を再読み込み中: [ OK ]
- 終了
# exit
exit $
(3)動作確認
以下URLにアクセス
http://192.168.0.10/tomcat/ - Tomcat画面が表示
遭遇したトラブル
Tomcat画面が表示されない
問題:
http://192.168.0.10:8080/にアクセスしてもエラー画面となる
原因:
1)tomcat.sh の設定が間違っていた
2)修正後起動しても出なかった→ブラウザにキャッシュが残ってた。キャッシュクリアで表示
謝辞
テキスト作成にあたり、以下サイトを参考にさせて頂きました。ありがとうございます。
http://www.gs.sjts.co.jp/v3/support/install_linux_tomcat.html
http://centossrv.com/tomcat6.shtml
http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_01/safetomcat_01_2.html