Tomcat Web and Application Server on Personal Computer


はじめに

このページは、このサイトを構築するに当たっての、Webサーバプログラム(Tomcat)のインストール覚書です。
Tomcat5.5.xは、Administratorツールを使っていろいろといじる必要のあったTomcat4.1.xに比べ、 ファイル+テキスト設定で比較的簡単に構築することができます。(普通は逆の感想でしょうか・・・(^^;)

インストールしている環境は、こんな感じです。

※2010-03-30 現在

JVMインストール

JREか、またはJDKをインストールします。java言語でのプログラムもするならJDKが良いです。
私は、javaプログラム(myfw.core)を作るのでJDKを選択しています。
仕事で使っていたこともあり、Javaのバージョンは、ずっとJ2SE1.4.2+J2EE1.3.1でしたが、 JREがサポート対象外だったこともあって、JRE1.6.0で再構築しました。(2回目)
というわけで、JREのダウンロードは、http://java.com/ja/download/から。
※このsunのサイトは、常に最新リリースを公開しています。

Tomcatインストール

WEBサイトを作成する場合、(特に仕事で開発する場合に)一般的な構成は、WEBサーバ+APサーバという構成です。
WEBサーバは、ファイルをそのまま公開します。
APサーバは、WEBサーバと違い、ファイルをそのまま公開するのではなく、プログラム処理した結果を公開します。
プログラム処理を行うことで、アクセスの度に内容が変化する、インタラクティブ性の高いサイトを構築できます。

一般的に、WEBサーバはApache、APサーバは(javaを実行する場合は)Tomcatというのが定番のようです。
Tomcatは、WEBサーバとしても動作しますので、Apache+Tomcatという構成ではなく、Tomcat単体でもWEBサイトを構築できます。
WEBサーバとAPサーバを分けているのは、WEBサーバは基本的に静的コンテンツを返すだけなので軽い処理、 APサーバはリクエスト毎にプログラムを処理して結果を生成する必要があるので比較して重い処理を専用で処理させたい、 つまり、サーバ負荷があがってくると、APサーバだけよりよい性能に替えて(もしくはクラスタを組んで負荷分散!)対応ができる・・・ というスケーラビリティを目した構成となっています。

ただ、PCでのWEBサイト構築を考えると、サーバ・・・PCの性能を考える必要がある程、規模が大きくなることはないと思います。

そこまで規模が大きくなると、サーバをレンタルして本格的にやったほうがいいです(^^;

私は、Apacheをインストール・設定するのが面倒だったこともあって、Tomcatだけインストールしています。
Tomcatのダウンロードは、http://tomcat.apache.org/のメニューカテゴリ"Download"から、 インストールするバージョンを選んでダウンロードします。
旧来のバージョンとして5.5が、そして最新版として6.xがあります。(2010/03/30 時点)
スタンドアロンパッケージの場合は、ダウンロードして解凍するだけ。特に問題なく進むと思います。
また、WindowsNT系(WindowsXp以降のWindowsはそうですね)のOSの場合は、Windowsサービスとしてインストールするパッケージが選べるので、選択しておくと便利です。

Windowsサービスとしてインストールしない場合は、インストールフォルダ配下のbinフォルダに、 start.batなどの起動/停止用のbatファイルがあるので、それでいちいち起動したり、停止したりしないといけません。
だだし、こちらが環境などは試行錯誤しやすい感じですね。
それから、インストールするときは、できればサンプルなども含めて、フルインストールしておくことがのぞまいしいです。
(後で参考にすることもできますし・・・、私は構築経験があったのでやりませんでしたけど(^^;)

インストールが終わったら、まずはTomcatの管理コンソールにアクセスしてみます。
ブラウザのアドレスバーに、「http://localhost:8080/」でアクセスできればOKです。
アクセスする時のポート番号は、インストール時に決めた番号です。(デフォルトで8080になっています)
左肩に変な顔のネコ・・・トラのイメージが表示されればOKです。

アクセスできなかった場合は、Tomcatサービスが起動しているかどうか、確認してみてください。
「コントロールパネル」「管理ツール」「サービス」「Apache Tomcat Server」・・・だったかな?
または、タスクトレイにTomcatManagerが追加されるので、コンテキストメニューから"Start Service"でも良いです。
Windowsサービスとしてインストールしなかった場合は、Tomcatサービスの開始を行わないといけません。 プログラムメニューに起動/停止のバッチファイルがそれぞれ登録されていると思いますので、Tomact起動を実行しておきましょう。
そうそう、Windows Vista や、Windows 7 の場合は、 そのままでは Configure Tomcat … タスクトレイ常駐型の監視ツールが起動してくれません。
その場合、いちいちスタートボタンから開いてコンテキストメニューの「管理者で実行」を選ばないと、起動してくれません。

Tomcat初期設定

Tomcat管理ページや、公開する必要のないサイトには、インターネットからアクセスできないように制限をかけておきます。
アクセス制限はデフォルトでは未設定(=インターネットからアクセスが可能)になっていますので、 サイトごとに存在する、サイト定義ファイル(・・・正式な呼び名はそのうちに調べます(^^;)に、設定を追加します。
Tomcat5.5.xのサイト定義ファイルは、"(Tomcatインストールフォルダ)\conf\catalina\localhost"フォルダ配下にあります。
ファイル名は、サイト名 + ".xml" になります。
たとえば、Dドライブの"\www\myapps"フォルダ配下を公開したい場合は、Contextタグを作成し、docBaseアトリビュートにフォルダをパスを指定します。

<Context docBase="d:\www\myapps"/>
docBaseアトリビュートには、warファイルを指定することもできます。
docBaseアトリビュートは、大文字小文字に注意してください。

管理ページは、「manager」というサイト名なので、"manager.xml"というファイルをを開き、アクセス制御を行う設定を追加します。
"manager.xml"ファイルがなければ、"~\webapps\manager\META-INF\context.xml"というファイルを作成し、<Context/>というタグを記述して使用します。
アクセス制御を行う設定は、サイトを定義したContextエレメントの配下に、Valveというエレメントを追加します。

<Context>
<Valve className="org.apache.catalina.valves.RemoteAddrValue"
	allow="127\.0\.0\.1"/>
</Context>
※他のContextタグの中身は省略
allowアトリビュートに記述するのは、カンマ区切りのIPアドレスの正規表現です。ただし、正規表現内で繰り返し("{1,3}"など)は使用できません。
allowアトリビュートで例に指定した127\.0\.0\.1は、Tomcatを実行しているPC自身(127.0.0.1)を表します。
allowアトリビュートはアクセス許可の設定なので、Tomcatを起動しているPCからのみアクセスできます。
allowアトリビュートで指定した以外のPCからアクセスすると、「Page Forbidden(403)」としてアクセスが拒否されます。
Valveを含む、その他の設定など、詳しい説明は、Tomcatドキュメントの"Configuration"ページに記述されています。

サイトの登録

サイトを登録する場合は、管理コンソールからwarファイルを配備するか、特定のフォルダを登録します。
または、Tomcatのインストールフォルダにある、公開用フォルダ内にフォルダを作成します。
私は、サイト内のファイルの入れ替えが簡単なように、パスを指定してフォルダを登録しています。
warファイルを使用する場合は、資源をひとつのファイルにまとめられるので、資源管理をしっかりする必要のある場合に重宝します。
フォルダをサイトとして登録するには、以下の手順を行います。

  1. 管理ページのxmlファイルを同じフォルダ内でコピーして、作成するサイトの名前にリネームする
  2. サイト定義ファイルを開き、Contextエレメントのdocbaseアトリビュートを、設定したいフォルダのフルパスに変更する
なお、作成するサイトは、インターネットへの公開を行うと思いますので、 先ほどTomcat管理ページに追加したアクセス制御(Valve)の設定は、削除しておきます。

ここまでできたら、作成したサイト名でアクセスしてみます。
("sample.xml"という名前でコピーした場合は、"http://localhost:8080/sample/"になります)
一応、サイト名は日本語は使用しない方が良いです。文字化けしてアクセスできなくなります。

文字コードを変更することで使用できるようになりますが、まだ詳細を調べていないので(^^;
それから、フォルダの中に表示できるページがなかった場合は、Page Not Found(404) のエラーになります。
簡単なページを用意して、URLに指定して表示すると良いです。

サイトの設定

以上でサイトの公開はできますが、もう少し設定を追加することで使いやすくなります。
・welcomeファイルの設定(未稿)