Tomcat5.5覚え書き

表紙][WindowsメモPalm覚え書きWARPメモ][ApacheメモTomcatメモ2Tomcat6.0メモ][bottom

最終更新: 05.12/23

以下はJDK 1.5・Tomcat 5.5・MySQL 4.1によるWebアプリの開発/運用環境構築の手順をメモしたものです。ついでにTomcatでPerlのCGIを動かすためのTipsを示します。

これは言うまでもなく筆者自身が再構築のさい泣かないようにするためのものです。2年前の Apacheメモ は古くてハナシにならなくなってしまいました。ここでは MySQL へのアクセスでさえ JSP 内でやっつけており,Java Servlet は作成していません。JSP実行時のコンパイル済みclassはworkディレクトリの奥深くに作られるようですね。

筆者の場合,SDK1.4→JRE1.5・Tomcat5.0→5.5・MySQL4.0→4.1と大きなギャップを乗りこえるヴァージョンナップだったので,既存分は事前にすべてアンインストールしました。mysqldumpしたMySQL4.0のデータを4.1に流すとき文字化けが発生しやすいようですが,筆者は普段から select * したタブ区切りテキストを load しており,この問題はスルーしています。

PC環境は Windows 2000 SP4 および xp HomeEdition。使用するCharactersetは Shift_JIS を想定しています。


1. インストール

x:
├Java
│├jdk1.5.0_06
│└jre1.5.0_06
│ └lib
│  └ext
│   └mysql-connector-java-3.1.12-bin.jar

├MySQL
│└MySQL Server 4.1
│ ├bin
│ │├libmySQL.dll
│ │└MySQLInstanceConfig.exe
│ ├data
│ │└webアプリ
│ │ └*.frm
│ └my.ini

├Perl
│└bin
│ └perl.exe

├Ruby
│└bin
│ └ruby.exe

└Tomcat
 ├conf
 │└server.xml
 ├server
 │└lib
 │ └servlets-cgi.jar
 ├webapps
 │├cgiアプリ
 ││└WEB-INF
 ││ ├cgi
 ││ │├cgiアプリ.cgi
 ││ │├cgiアプリ.pl
 ││ │└cgiアプリ.rb
 ││ ├classes
 ││ │└filters
 ││ │ └SetCharacterEncodingFilter.class
 ││ └web.xml
 │├jsp-examples
 ││└WEB-INF
 ││ └classes
 ││  └filters
 ││   └SetCharacterEncodingFilter.class
 │└webアプリ
 │ ├logs
 │ ├WEB-INF
 │ │└classes
 │ │ └webアプリ.properties
 │ ├*.css
 │ ├*.js
 │ ├*.jsp
 │ └*.xml
 └work
  └catalina
   └localhost
    └webアプリ
     └org
      └apache
       └jsp
        ├*.class
        └*.java

1.1 Java開発キットの導入

SunのサイトからJDKをダウンロードする。

J2SE(TM) Development Kit 5.0 Update 6

ダウンロードしたexeをつついてインストール開始。JRE 5.0 も当然いれる。

コマンドプロンプトを開け,いきなり以下を打ってversion番号が表示されればOK。

java -version

1.2 Tomcatの導入

Apache TomcatのサイトからTomcatをダウンロードする。JDKとTomcatのヴァージョンを合わせてやる必要があり,Javaで SDK 1.4.2 を選んだ場合は Tomcat 5.0.xx が吉。

5.5.12

ダウンロードしたexeをつついてインストール開始。インストール_オプションで jsp-example も一所に落とし,更にWindowsサービスの登録も行なうようにする。

ここで環境変数を設定する。[コントロールパネル][システム][詳細]を辿って[環境変数]を開け,以下を設定。

ここでWindowsを再起動する。Windowsのサービスで Apache が[自動]で[開始]していることを確認する。Apacheが起動しない場合は JDK/SDKとTomcatのヴァージョンの組み合わせをまづ疑う。

ブラウザを立ち上げてアドレスバーに以下を指定して,Tomcatのウェルカム頁が表示されればOK。

http://localhost:8080/

1.3 MySQLの導入

1.3.1 MySQLの導入

MySQLのサイトからMySQL本体をダウンロードする。MySQLは既に 5.0 だが,RubyOnRailsとの兼ね合いで 4.1 を採る。MySQLは 4.0 と 4.1 の間に仕様の断絶があるのでこれより古いものは避けるべし。

MySQL 4.1 Downloads

ダウンロードしたzipを展開して setup.exe でインストール開始。途中に出てくる設定事項にはちょっと注意が要る。

  1. Sign-Up要求は Skip。
  2. Configure now はチェック(ここでインストールはいったん終了してセットアップへ移行)。
  3. Configuration は Standard Configuration。
  4. Install As Windows Service・Automatically・Include Bin Directory in Windows PATH はすべてチェック。
  5. Modify Security Settings は時節柄チェック。rootパスワードは適当に決める。

コマンドプロンプトで以下をいきなりタイプして,"Welcome to the MySQL Monitor."と表示されればOK。

mysql -uroot -p[パスワード] -v

Windowsのサービスで MySQL が自動で開始登録されていることを確認する。以前からのMySQLサービスが邪魔をして今回導入分が起動しない場合は Autorunsなどでいったんそのサービスを削除し,MySQL Server 4.1/bin/MySQLInstanceConfig.exe をつついてコンフィギュしなおすと吉。

1.3.2 libmySQL.dllの差し替え

日本MySQLユーザ会のサイトからShift_JISをデフォルトとしたMySQLのバイナリをダウンロードする。MySQL本家のバイナリは latin1 がデフォルトなので,そのままでは確実に文字化けする。

パッチをあてた MS-Windows 用バイナリ&ソース

ダウンロードしたzipを展開した中の /bin/libmySQL.dll を %MySQL%/MySQL Server 4.1/bin/libmySQL.dll に上書きコピーする。

1.3.3 JDBCコネクタの導入

MySQLのサイトからJDBCコネクタをダウンロードする。

Download Connector/J 3.1

ダウンロードしたzipを展開した中から mysql-connector-java-3.1.12-bin.jar を x:/Java/jre1.5.0_06/lib/ext/ 下にコピーする。

ここまで来たら Windows を再起動して上述の確認事項をもう一度やってみる。

2. 環境設定

2.1 webappsの設定

2.1.1 webアプリ用ディレクトリの作成

%TOMCAT_HOME%/webapps/ 下にwebアプリの設置ディレクトリを作成する。ここにJSPやJavaScriptのソースを置くことになる。

2.1.2 server.xmlの編集

%TOMCAT_HOME%/conf/server.xml を開き,non-SSL HTTP/1.1 Connector on port 8080セクションの port を"80"に,redirectPortを"443"に変更する。

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
    port="80" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />

Hostセクションの最後に次のようなwebアプリのコンテキストを追記する。

<!-- webアプリ -->
  <Context path="/webアプリ" docBase="webアプリ" debug="0"
    reloadable="true" crossContext="false">
    <Valve
      className="org.apache.catalina.valves.AccessLogValve"
      directory="logs" prefix="webアプリ_log." suffix=".txt"
      pattern="common"/>
  </Context>
</Host>

ここでWindowsサービスの Apache Tomcat を再起動する。ブラウザを立ち上げてアドレスバーに以下を指定して,webアプリ下のディレクトリ一覧が表示さればOK(:8080を付けないことに注意。逆に:8080を指定すると接続できない)。ただし/WEB-INF/以下は一覧にリストされない。

http://localhost/webアプリ/
2.1.3 webアプリ.propertiesの編集

%TOMCAT_HOME%/webapps/webアプリ/WEB-INF/classes/ 下にJDBC接続用のプロパティファイルを作成する。これをJSPから読みこんで使用する(ソース中にMySQLアクセスのパスワードを書かない)。

con=jdbc:mysql://localhost/webアプリ?user=root&password=MySQLのパスワード&useUnicode=true&characterEncoding=Shift_JIS

jdbc=com.mysql.jdbc.Driver

2.2 MySQLの設定

2.2.1 MySQL DB用ディレクトリの作成

%MySQL%/MySQL Server 4.1/data/ 下にDB定義・データの設置ディレクトリを作成する。ここにwebアプリがアクセスするDBの構造ファイルやデータファイルを置くことになる。

2.2.2 my.iniの編集

%MySQL%/MySQL Server 4.1/my.ini の character-set を Shift_JIS に変更する。何故か2箇所ある。basedir・datadirが意図したディレクトリになっていることを確認。

[mysql]default-character-set=sjis

[mysqld]
(中略)
#Path to installation directory. All paths are usually resolved relative to this.
basedir="x:/MySQL/MySQL Server 4.1/"

#Path to the database root
datadir="x:/MySQL/MySQL Server 4.1/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=sjis

MySQLdumpを遣う人はたぶんここで[mysqldump]のセクションを作って default-character-set=sjis するんだろうけどよく知らない。

ここで Windowsサービスの MySQL を再起動する。

以上でインストールとセットアップはおしまい。開発に専念する。


3. バックアップからの復元

3.1 JSPファイルの回復

%TOMCAT_HOME%/webapps/webアプリ/ に,退避しておいたJSP・JavaScript・CSS・HTMLの各ファイルをコピーする。

3.2 DBデータの回復

%MySQL%/MySQL Server 4.1/data/DB名/ に,退避しておいた *.frm・*.MYD・*.MYI のMySQLデータ実体ファイルをコピーする。

MySQL 4.0 以下からのヴァージョンナップの場合は,改めてDB定義から作りなおしてデータを再ロードする。


表紙][WindowsメモPalm覚え書きWARPメモ][ApacheメモTomcatメモ2Tomcat6.0メモ][TOP
Valid XHTML 1.0 Transitional
© (c) Copyright 2005; nii. n All Rights Reserved.
counter