Tomcat6.0覚え書き(Windows 7, 10; x64)

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

最終更新: 2017.4/11

以下はJRE 1.6・Tomcat 6.0・MySQL 5.1によるWebアプリ(Java/JSP)の運用環境構築の手順をメモしたものです。メインPC VGC-RA73S のOSを Windows 7 Professional 64bit版に代えたらけっこう苦労したので稿を改めました。JavaもMySQLもいつの間にかORACLEのものになってしまいましたねえ……。

【本稿の前提条件】
OS
Windows 7 Professional 64bit
JRE
Java SE Runtime Environment 6u22
Tomcat
Apache Tomcat 6.0.29
※別途Apache単体を入れての連動はナシ。自動起動させる。
MySQL
MySQL Community Server 5.1.51
※文字コードは UTF-8。自動起動させる。
JDBC Connector
Connector/J 5.1.13

MySQLの文字化けには懲りているのでUTF-8一択です。


1. インストール

C:
└Program Files
 └Java
  └jre6
   ├bin
   │└keytool.exe
   └lib
    └ext
     └mysql-connector-java-5.1.13-bin.jar

x:
├MySQL
│└MySQL Server 5.1
│ ├bin
│ │└MySQLInstanceConfig.exe
│ ├data
│ │├DB名称
│ ││├db.opt
│ ││└*.frm
│ │├ib_logfile0
│ │├ib_logfile1
│ │└ibdata1
│ ├share
│ │└charsets
│ └my.ini

└Tomcat
 ├conf
 │├keystore.jks
 │├server.xml
 │└tomcat-users.xml
 ├logs
 │└catlinayyyy-MM-dd.log
 └webapps
  └webアプリ
   ├logs
   ├META-INF
   │└context.xml
   ├WEB-INF
   │├classes
   ││└webアプリ
   ││ └*.class
   │└web.xml
   ├index.html
   ├*.css
   ├*.html
   ├*.js
   ├*.jsp
   └*.xml

1.1 Java実行環境の導入

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

[Windows x64]を選んで[I agree to the Java SE Runtime Environment 6u22 with JavaFX License Agreement .]をチェックし,User Login を勧める入力欄は失礼して[Continue]へ進む。

ダウンロードしたexeをつついてインストール開始。ほんとはDドラに入れるつもりだったのに後述のトラブルのため萬止むを得ずデフォルト(C:\Program Files\Java\jre6)のままインストールした。

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

java -version

1.2 Tomcatの導入

Apache TomcatのサイトからTomcatをダウンロードする。10.10/16現在 7.0.2 が出てたけど,BETA版だったから敬遠した。

ダウンロードしたexeをつついてインストール開始。[Custom]インストールで[Tomcat][Service]をチェックしてサービスを自動起動させることを忘れないように。

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

http://localhost:8080/

1.3 MySQLの導入

1.3.1 MySQLの導入

MySQLのサイトからMySQL本体をダウンロードする。

途中の User Login 入力欄は失礼して[No thanks, just take me to the downloads!]へ進む。

ダウンロードしたmsiをつついてインストール開始。インストール先を変えるなら[Custom]を選ぶ。DBデータの格納先は別に指定する必要があり,インストーラ中段ツリーの[MySQL Server Datafiles]で決める(実際にはここで指定したパスの下に自動生成されるサブフォルダ \Data になる)。あとで my.ini を書きかえるのはトラブルの元なのでこの段階で確定のこと。

インストールが終わったら続けて Configure する。[Detailed Configuration][Developer Machine][Multifunctional Database]と来て InnoDB はそのまま。[Decision Support],TCP/IPとStrict Mode をチェック,[Manual Selected Default Character Set / Collation]で[utf8]を選択する。次のWindows Service と PATH 設定も両チェックして自動起動させる。[Modify Security Settings]で rootパスワードを適当に決める。

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

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

ついでに文字コードを確認する。

show variables like 'character%';

次のようにutf8がずらずら並んでいれば大成功。

+--------------------------+-------------------------------------------+
| Variable_name      | Value                   |
+--------------------------+-------------------------------------------+
| character_set_client   | utf8                   |
| character_set_connection | utf8                   |
| character_set_database  | utf8                   |
| character_set_filesystem | binary                  |
| character_set_results  | utf8                   |
| character_set_server   | utf8                   |
| character_set_system   | utf8                   |
| character_sets_dir    | x:\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------------+

Windowsのサービスで MySQL が自動開始登録されていることを確認する。

1.3.2 JDBCコネクタの導入

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

ダウンロードしたzipを展開した中から mysql-connector-java-5.1.13-bin.jar を JREインストール先の \lib\ext\ 下にコピーする。

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


2. 環境設定

2.1 webappsの設定

2.1.1 webアプリ用フォルダの作成

Tomcatフォルダ\webapps\ 下にwebアプリの設置フォルダを作成する。ここにJSPやJavaScriptのソースを置くことになる。取りあえず適当なHTMLを書いて index.html の名前で格納しておく。

2.1.2 server.xmlの編集

Tomcatフォルダ\conf\server.xml を開き,non-SSL HTTP/1.1 Connector on port 8080 の Connectorタグの port を"80"に,redirectPortを"443"に変更する。

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
 <Connector port="80"
  protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="443"
 />

Engineタグ内の最後に次のようなwebアプリのHostタグを追記する。

 <Host name="webアプリ" appBase="webapps/webアプリ" />
</Engine>

ここでWindowsサービスの Apache Tomcat を再起動する。ブラウザを立ち上げてアドレスバーに以下を指定し,項番2.1.1で作ったindex.htmlが表示されればOK(ファイル名までURIで指定するなら当該ディレクトリ下のどのファイルでも呼び出せる。また:8080を付けないことに注意)。

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

Tomcatフォルダ\webapps\webアプリ\ 下に META-INF という名のフォルダを作り,以下のような内容の context.xml を設置する。

<Context docbase="webアプリ" path="webアプリ" reloadable="true">
 <Resource
  name="jdbc/DB名称"
  auth="Container"
  type="javax.sql.DataSource"
  username="root"
  password="MySQLのrootパスワード"
  driverClassName="org.gjt.mm.mysql.Driver"
  url="jdbc:mysql://localhost/DB名称"
  maxActive="4"
  maxWait="5000"
  maxIdle="2"
 />
</Context>
2.1.4 web.xmlの編集

Tomcatフォルダ\webapps\webアプリ\ 下に WEB-INF という名のフォルダを作り,以下のような内容の web.xml を設置する。context.xmlと呼応する箇所に注意。

<?xml version="1.0" encoding="utf-8"?>
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">

 <resource-ref>
  <description>DB名称</description>
  <res-ref-name>jdbc/DB名称</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

 <servlet>
  <servlet-name>動かしたいclass名</servlet-name>
  <servlet-class>webアプリ.動かしたいclass名</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>動かしたいclass名2</servlet-name>
  <servlet-class>webアプリ.動かしたいclass名2</servlet-class>
 </servlet>

 <servlet-mapping>
  <servlet-name>動かしたいclass名</servlet-name>
  <url-pattern>/呼びだすときの名前</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>動かしたいclass名2</servlet-name>
  <url-pattern>/呼びだすときの名前2</url-pattern>
 </servlet-mapping>
</web-app>
2.1.5 classesフォルダの設置

Tomcatフォルダ\webapps\webアプリ\WEB-INF 下に classes\webアプリ という名のフォルダを作成する。この下に Servlet の classファイルを設置する。

2.2 MySQLの設定

2.2.1 my.iniの確認

MySQLフォルダ\MySQL Server 5.1\my.ini はインストール時に設定したとおりになってるハズ。

[mysql]
default-character-set=utf8
[mysqld]
(中略)
#Path to installation directory. All paths are usually resolved relative to this.
basedir="インストールフォルダ"
#Path to the database root
datadir="データフォルダ/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=utf8
2.2.2 DBとその格納フォルダの生成

コマンドプロンプトでMySQLにログインしてひとまづDBをcreateし,そのDBのデータ格納先フォルダを生成させる。

mysql -uroot -p[パスワード]
create database DB名称;
2.2.3 db.optの編集

MySQLフォルダ\MySQL Server 5.1\data\DB名称\db.opt の character-set を utf8 に変更する。このファイルは偶然発見したんだけど,character-setを見つけたらとにかくutf8を指定してしまう。collationには utf8_general_ci と入れる。

default-character-set=utf8
default-collation=utf8_general_ci

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

以上でインストールとセットアップはおしまい。


3. コーディング例

3.1 JDBC接続と切断

JSPやServletでJDBC接続するときのコーディングはこんな感じ。

Connection db = null;
try {
 Context ctx = new InitialContext();
 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/DB名称");
 db = ds.getConnection();
} catch (Exception e) {
 e.printStackTrace();
}

切断は従来どおりclose。

try {
 db.close();
} catch (Exception e) {
 e.printStackTrace();
}

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

4.1 JSPファイルの回復

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

Servletのclassファイルは webapps\webアプリ\WEB-INF\classes\webアプリ\ の下に配置。

4.2 DBデータの回復

DBは素直に create table して新規に作りなおしたほうがいい。データは select * from x into y しといたのを load data infile y into table x する。


表紙][WindowsメモPalm覚え書きWARPメモ][Tomcat6.0メモ][Tomcat 10 メモ][TOP
© (c) Copyright 2010, 2015; nii.n All Rights Reserved.
counter