UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Tomcat4を動かす

Tomcat4を動かす


0.改訂履歴

  • 2002.08.25 新規作成

1.はじめに

 このドキュメントでは,Tomcat4をMacOS Xで動かす手順を説明する.

 なお,使用しているTomcatは,4.0.4である.

 また,今回はMacOS Xで動かしているが,UNIX系の他のOSでも同じだと思われる.

2.Tomcatとは

 簡潔に,Tomcatの紹介を以下に述べる.これをしらなくても,インストールは出来るが豆知識?に必要かと.

2.1.特徴と生い立ち

  • フリーソフト.
  • Javaのソフトなので,1つのモジュールでプラットホーム(OS)を選ばない.
  • Apacheプロジェクトの傘下に,JServというソフトを開発していたThe Java Apache Projectがあった.
  • The Java Apache Projectを中心に,Sun Microsysytemsからソースコードライセンスを受けて誕生したのが,Jakartaプロジェクトである.
  • Tomcatは,Jakartaプロジェクトのサブプロジェクトとして開発が進められているソフトである.

2.2.何する物か

  • 簡単にいうと,アプリケーションサーバ.
  • JSP(Java Server Pages)やら,Servlet(Java Servlet)を実行するアプリケーション.
  • 簡易的なWebサーバ機能を持っているが,それはJSPやServletの開発・デバッグを行うためのもの.

2.3.どんな種類があるの

  • 現在使用できるバージョンは2つあり,次のような違いがある.
    • Tomcat 3.x
      • Java Servlet 2.2
      • JSP 1.1
    • Tomcat 4.x
      • Java Servlet 2.3
      • JSP 1.2
  • 機能を追加する方法として,“コネクタ”がある.
    • Tomcat 3.1までは,JServ用のコネクタであるmod_jservを流用していた.
    • Tomcat 3.2からは,Apacheとは異なるWebサーバに追加できるよう,コネクタが見直された.
    • 現在はmod_jk,mod_jk2,mod_webapp等のコネクタがある.

3.モジュールの入手とインストール

  • インストールの手順と言っても,この展開されたフォルダを適切な場所に移動するだけ.
  • Terminalを起動する.
  • rootユーザになる.
[localhost:~] shinnai% su - root
Password:■■■■■■■■■■
[localhost:~] root#
  • インストール先の/usr/localディレクトリを確認する.
[localhost:~] root# cd /usr/local
[localhost:/usr/local] root# ls -la
total 0
drwxr-xr-x   4 root  wheel   92 Jul  9 21:58 .
drwxr-xr-x  12 root  wheel  364 Sep  3  2001 ..
drwxr-xr-x   4 root  wheel  264 Jul  9 21:58 analog
drwxr-xr-x   4 root  wheel   92 Aug 16 12:30 bin
[localhost:/usr/local] 
  • 先ほど展開したファイルを,/usr/local以下に移動する.
[localhost:/usr/local] root# mv /Users/shinnai/Desktop/Tomcat/jakarta-tomcat-4.0.4 tomcat
[localhost:/usr/local] root# ls -la
total 0
drwxr-xr-x   4 root     wheel    92 Aug 25 01:33 .
drwxr-xr-x  12 root     wheel   364 Sep  3  2001 ..
drwxr-xr-x   4 root     wheel   264 Jul  9 21:58 analog
drwxr-xr-x   4 root     wheel    92 Aug 16 12:30 bin
drwxr-xr-x  33 shinnai  staff  1078 Aug 25 01:31 tomcat
[localhost:/usr/local] root# 

4.環境変数を設定する

  • Tomcatは,それ自体がJavaアプリケーションなので,Javaに関連した環境変数の設定と,Tomcat用の環境変数の設定が必要となる.
  • 環境変数JAVA_HOMEを設定して確認する.
[localhost:/usr/local] root# setenv JAVA_HOME /Library/Java/Home/
[localhost:/usr/local] root# env | grep JAVA
JAVA_HOME=/Library/Java/Home/
[localhost:/usr/local]
  • MacOS Xの場合は,以上の通り.
  • 環境変数CATALONA_HOMEを設定して確認する.
[localhost:/usr/local] root# setenv CATALINA_HOME /usr/local/tomcat
[localhost:/usr/local] root# env | grep CATALINA
CATALINA_HOME=/usr/local/tomcat
[localhost:/usr/local] root# 
  • これで準備OKである.

5.Tomcatを起動する

  • startup.shを利用して,Tomcatを起動する.
[localhost:/usr/local] root# $CATLINA_HOME/bin/startup.sh

OK? $CATALINA_HOME/bin/startup.sh? yes
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /Library/Java/Home/
[localhost:/usr/local] root# 
  • Webブラウザでアクセスする.
  • Tomcatでは,デフォルトは8080ポートを使っているので,URLは以下の通りとなる.
  • http://localhost:8080/

  • 起動している模様.
  • JSP examplesをクリックしてみる.

  • エラーがでた...
  • 先行きくらいですね.

6.エラーの原因を調べる

  • いきなりエラーがでても,経験がないのでつらいですねぇ.
  • しかし,だいたいこういうサーバソフトは,エラーログをはき出す物なので,それを確認して見ようと考える.
[localhost:/usr/local/tomcat] root# ls -la
total 536
drwxr-xr-x  34 shinnai  staff   1112 Aug 25 02:39 .
drwxr-xr-x   5 root     wheel    126 Aug 25 01:33 ..
-rw-rw-rw-   1 shinnai  staff   8196 Aug 25 02:39 .DS_Store
-rwxr-xr-x   1 shinnai  staff   4629 Jun 10 22:08 LICENSE
-rwxr-xr-x   1 shinnai  staff   3148 Jun 10 22:08 README.txt
-rwxr-xr-x   1 shinnai  staff   2430 Jun 10 22:08 RELEASE-NOTES-4.0-B1.txt
-rwxr-xr-x   1 shinnai  staff  15409 Jun 10 22:08 RELEASE-NOTES-4.0-B2.txt
-rwxr-xr-x   1 shinnai  staff   5573 Jun 10 22:08 RELEASE-NOTES-4.0-B3.txt
-rwxr-xr-x   1 shinnai  staff  15133 Jun 10 22:08 RELEASE-NOTES-4.0-B4.txt
-rwxr-xr-x   1 shinnai  staff   7148 Jun 10 22:08 RELEASE-NOTES-4.0-B5.txt
-rwxr-xr-x   1 shinnai  staff  22713 Jun 10 22:08 RELEASE-NOTES-4.0-B6.txt
-rwxr-xr-x   1 shinnai  staff  13480 Jun 10 22:08 RELEASE-NOTES-4.0-B7.txt
-rwxr-xr-x   1 shinnai  staff  14596 Jun 10 22:08 RELEASE-NOTES-4.0-RC1.txt
-rwxr-xr-x   1 shinnai  staff   9677 Jun 10 22:08 RELEASE-NOTES-4.0-RC2.txt
-rwxr-xr-x   1 shinnai  staff  13402 Jun 10 22:08 RELEASE-NOTES-4.0.1-B1.txt
-rwxr-xr-x   1 shinnai  staff  13545 Jun 10 22:08 RELEASE-NOTES-4.0.1.txt
-rwxr-xr-x   1 shinnai  staff  17080 Jun 10 22:08 RELEASE-NOTES-4.0.2-B1.txt
-rwxr-xr-x   1 shinnai  staff  12457 Jun 10 22:08 RELEASE-NOTES-4.0.2-B2.txt
-rwxr-xr-x   1 shinnai  staff  12714 Jun 10 22:08 RELEASE-NOTES-4.0.2.txt
-rwxr-xr-x   1 shinnai  staff  15181 Jun 10 22:08 RELEASE-NOTES-4.0.4.txt
-rwxr-xr-x   1 shinnai  staff   7817 Jun 10 22:08 RELEASE-NOTES-4.0.txt
-rwxr-xr-x   1 shinnai  staff   2618 Jun 10 22:08 RELEASE-PLAN-4.0.1.txt
-rwxr-xr-x   1 shinnai  staff   2751 Jun 10 22:08 RELEASE-PLAN-4.0.txt
-rwxr-xr-x   1 shinnai  staff   6119 Jun 10 22:08 RUNNING.txt
drwxr-xr-x  21 shinnai  staff    670 Aug 25 01:30 bin
drwxr-xr-x   2 shinnai  staff    264 Aug 25 01:30 classes
drwxr-xr-x   4 shinnai  staff     92 Aug 25 01:30 common
drwxr-xr-x   7 shinnai  staff    264 Aug 25 01:30 conf
drwxr-xr-x   5 shinnai  staff    126 Aug 25 01:30 lib
drwxr-xr-x   8 shinnai  staff    264 Aug 25 01:41 logs
drwxr-xr-x   4 shinnai  staff     92 Aug 25 01:30 server
drwxr-xr-x   2 shinnai  staff    264 Aug 25 02:11 temp
drwxr-xr-x   7 shinnai  staff    264 Aug 25 01:31 webapps
drwxr-xr-x   3 shinnai  staff    264 Aug 25 01:37 work
[localhost:/usr/local/tomcat] root# 
  • それらしいlogsディレクトリがあったので移ってみる.
[localhost:/usr/local/tomcat] root# cd logs
[localhost:local/tomcat/logs] root# 
  • ファイルを確認する.
[localhost:local/tomcat/logs] root# ls -l
total 184
-rw-r--r--  1 root  staff    514 Aug 25 01:41 apache_log.2002-08-25.txt
-rw-r--r--  1 root  staff    308 Aug 25 01:43 catalina.out
-rw-r--r--  1 root  staff   3058 Aug 25 01:43 catalina_log.2002-08-25.txt
-rw-r--r--  1 root  staff   2411 Aug 25 02:04 localhost_access_log.2002-08-25.txt
-rw-r--r--  1 root  staff   5050 Aug 25 01:42 localhost_examples_log.2002-08-25.txt
-rw-r--r--  1 root  staff  10176 Aug 25 01:45 localhost_log.2002-08-25.txt
[localhost:local/tomcat/logs] root#
  • Javaなので,Exceptionをキーワードでログを検索してみる.
[localhost:local/tomcat/logs] root# cat localhost_examples_log.2002-08-25.txt | grep Exception
java.lang.ClassNotFoundException: filters.SetCharacterEncodingFilter
java.lang.ClassNotFoundException: filters.SetCharacterEncodingFilter
[localhost:local/tomcat/logs] root# 
  • filtersの中の,setCharacterEncodingFilterというclassってのが無いと言ってる.
  • 探してみる.
[localhost:local/tomcat/logs] root# find /usr/local/tomcat -name 'SetCharacter*' -print
/usr/local/tomcat/webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.clas
/usr/local/tomcat/webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
[localhost:local/tomcat/logs] root# 
  • いた.
  • 早速ディレクトリに移動してみる.
[localhost:local/tomcat/logs] root# cd /usr/local/tomcat/webapps/examples/WEB-INF/classes/filters/
[localhost:WEB-INF/classes/filters] root# ls -la
total 88
drwxr-xr-x   8 shinnai  staff   228 Aug 25 02:09 .
drwxr-xr-x  39 shinnai  staff  1282 Aug 25 01:31 ..
-rwxr-xr-x   1 shinnai  staff  2323 Jun 10 22:08 exampleFilter.class
-rwxr-xr-x   1 shinnai  staff  6470 Jun 10 22:08 exampleFilter.java
-rwxr-xr-x   1 shinnai  staff  5665 Jun 10 22:08 RequestDumperFilter.class
-rwxr-xr-x   1 shinnai  staff  9148 Jun 10 22:08 RequestDumperFilter.java
-rwxr-xr-x   1 shinnai  staff  1959 Jun 10 22:08 SetCharacterEncodingFilter.clas
-rwxr-xr-x   1 shinnai  staff  8135 Jun 10 22:08 SetCharacterEncodingFilter.java
[localhost:WEB-INF/classes/filters] root# 
  • 拡張子が,clasになっている.
  • 名前を変更する.
[localhost:WEB-INF/classes/filters] root# mv SetCharacterEncodingFilter.clas SetCharacterEncodingFilter.class
[localhost:WEB-INF/classes/filters] root# ls -la
total 88
drwxr-xr-x   8 shinnai  staff   228 Aug 25 02:09 .
drwxr-xr-x  39 shinnai  staff  1282 Aug 25 01:31 ..
-rwxr-xr-x   1 shinnai  staff  2323 Jun 10 22:08 exampleFilter.class
-rwxr-xr-x   1 shinnai  staff  6470 Jun 10 22:08 exampleFilter.java
-rwxr-xr-x   1 shinnai  staff  5665 Jun 10 22:08 RequestDumperFilter.class
-rwxr-xr-x   1 shinnai  staff  9148 Jun 10 22:08 RequestDumperFilter.java
-rwxr-xr-x   1 shinnai  staff  1959 Jun 10 22:08 SetCharacterEncodingFilter.class
-rwxr-xr-x   1 shinnai  staff  8135 Jun 10 22:08 SetCharacterEncodingFilter.java
[localhost:WEB-INF/classes/filters] root# 

7.Tomcatをシャットダウンする

  • shutdown.shを実行する.
[localhost:WEB-INF/classes/filters] root# $CATALINA_HOME/bin/shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /Library/Java/Home/
[localhost:WEB-INF/classes/filters] root# 

8.サンプルを動かしてみる

  • 起動する.
[localhost:WEB-INF/classes/filters] root# $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /Library/Java/Home/
[localhost:WEB-INF/classes/filters] root# 
  • JSPのサンプルを実行してみる.

  • 動いた.


広告スペース
Google