■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
                      2009年09月13日

    Java総合講座 - 初心者から達人へのパスポート
                  vol.170

                                セルゲイ・ランダウ
 バックナンバー: http://www.flsi.co.jp/Java_text/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


[このメールマガジンは、画面を最大化して見てください。]


========================================================
◆ 01.SOAPのアプリケーション(Webサービス)
========================================================


では、これからLinuxのPCで、Java関連の作業を進めていくことにしましょう。

まず、Webサービスを稼動させるためには、LinuxのPCに以下のソフトをインストール
しておく必要があります。

・JDK
TomcatやAxisを稼動させるためには、最低限としてはJavaの実行環境(JRE =
Java Runtime Environment)さえあればいいのですが、ここではアプリケーション
のビルド&デプロイもこのPCで行うことにして、JDKをインストールしておきます。

・Tomcat
Axisを稼動させるためにTomcatをインストールしておきます。

・Axis
Webサービスを稼動させるために必要です。

・Ant
アプリケーションのビルド&デプロイを行うためにAntを使用します。

・MySQL
現在のWebサービスのプログラムはデータベース(MySQL)を使用しているので、
これもインストールします。

・JAF(JavaBeans Activation Framework)
JavaMailの前提なので、これもインストールします。

・JavaMail
現在のWebサービスのプログラムはJavaMailを使用しているので、これも
インストールします。



では、これらのソフトを順番にインストールしていきましょう。


まず、LinuxのPCを立ち上げてから、EclipseのPC(WindowsのPC)でTera Termを
使ってLinuxのuser01にログインしておきましょう。
そして、
su -
でrootになっておきます。


では、JDKのインストールです。

まず、JDKがインストール可能(available)であることを確認しましょう。

yum list *openjdk*

と入力します(ここでアスタリスク(*)は任意の文字列を意味するワイルドカードです)。
java-1.6.0-openjdk.i386というパッケージがavailableになっていることと思います。
これをインストールしましょう。

yum -y install java-1.6.0-openjdk.i386

と入力します。

インストールが完了(Complete!)したら、その検証を兼ねてjavaコマンドの場所の確認

which java

(結果は、/usr/bin/javaになるはず)
と、Javaのバージョンの確認

java -version

(現在、1.6.0のはず)
を行っておきましょう。



次に、Tomcatをインストールしましょう。yumで確認してみる

yum list tomcat*

と、tomcat5(tomcat5.i386)というパッケージがavailableですね。

という訳で、このtomcat5というパッケージをインストールしておきましょう。

yum -y install tomcat5.i386

と入力します。


Tomcatの動作確認をするためやTomcatのWebページを開いてTomcatを操作できるように
するために、tomcat5-webappsというパッケージもインストールしておきましょう。
(これも予め、availableであることを確認してから行って下さい。)

yum -y install tomcat5-webapps.i386

と入力します。

また、Tomcatの管理のためのパッケージもインストールしておきましょう。
(これも予め、availableであることを確認してから行って下さい。)

yum -y install tomcat5-admin-webapps.i386

と入力します。

以上でTomcatのインストールは終わりです。


では、Tomcatがちゃんと動作するか確認してみましょう。

service tomcat5 start

と入力します。
ここで、しばらく待って、

Starting tomcat5:              [ OK ]

というような結果が表示されればTomcatの始動完了です。

続いて、EclipseのPC(WindowsのPC)でWebブラウザーを開き、URL

http://192.168.0.5:8080/
(ただし、192.168.0.5はLinuxのPCのIPアドレスです。各自の正しいIPアドレスに
置き換えて下さい。)

を入力してTomcatのWebページが表示されることを確認しましょう。

確認が終わったら、Tomcatを停止しましょう。

service tomcat5 stop

と入力します。
ここで、しばらく待って、

Stopping tomcat5:               [ OK ]

というような結果が表示されれば停止完了です。


このTomcatをLinuxのPCを起動したときに自動起動されるように設定しましょう。

chkconfig tomcat5 on

と入力します。
この設定状況を確認しましょう。

chkconfig --list tomcat5

と入力します。
このコマンドに対する結果が、

tomcat5         0:off   1:off   2:on    3:on    4:on    5:on    6:off

というふうに、2、3、4、5がonになっていれば自動起動が設定されています。


┌補足─────────────────────────┐
環境変数JAVA_HOMEの設定は必要ないのか、と疑問に思われる人
もいるかも知れません。
実は、CentOSなどのLinuxでは、通常のJVM(Java Virtual Machine)
の呼び出しは/etc/alternatives/javaというシンボリック・リンク
(シンボリック・リンクとはWindowsのショートカットのようなもの)
を通して行うようになっています。
先ほどのようにyumでインストールしたTomcatも、デフォルトでは
この/etc/alternatives/javaを参照するようになっていて、Tomcat
を起動するスクリプトの中でJAVA_HOMEに/etc/alternatives/java
を割り当てています。
したがって、環境変数JAVA_HOMEの設定は必要ないのです。

ちなみに、先ほどOpenJDKをインストールしたときにjavaコマンド
の場所が/usr/bin/javaであることを確認しましたが。これもシンボ
リック・リンクであり、実際には/etc/alternatives/javaにリンク
しています。

ls -l /usr/bin/java

とコマンド入力して確認してみて下さい。


この/etc/alternatives/javaの現在のリンク先(つまりJVMのありか
として参照する場所)は、

update-alternatives --config java

とコマンド入力することによって、確認(および必要によっては変更)
することができます。このコマンドを入力してみて下さい。OpenJDK
(ディレクトリーの一部にopenjdkという文字列を含んでいるもの)の
他に、GCJという、CentOSに最初からはいっているもの(ディレクトリー
の一部にgcjという文字列を含んでいるもの)がリストされているはず
です。そしてOpenJDKのほうに+のマークがついていますね。これが現在
のリンク先を表しています。

ここでは、何も入力せずにEnterキーを押して抜けて下さい。
(もしリンク先を変更したいときは選択番号を入力すれば変更できます。)

あるいは、

update-alternatives --display java

と入力するともっと詳しい情報が表示されます。(このコマンドの場合、
変更はできない。)

なお、update-alternativesコマンドはalternativesコマンドと
同一なので、update-alternativesの代わりにalternativesと入力
してもかまいません。
(update-alternativesのほうが日本語に訳しても「選択肢を更新
する」となって、意味が鮮明で分かりやすい。)
└───────────────────────────┘



ちなみに、このTomcatの主なディレクトリーは下記のようになっています。
(ただし、ほとんどシンボリック・リンクです。)

/usr/share/tomcat5/bin
/usr/share/tomcat5/common
/usr/share/tomcat5/conf
/usr/share/tomcat5/logs
/usr/share/tomcat5/server
/usr/share/tomcat5/shared
/usr/share/tomcat5/temp
/usr/share/tomcat5/work
/usr/share/tomcat5/webapps

これまでWindows環境で使っていたTomcatバージョン6とは若干ディレクトリー構成
に違いがあるので注意して下さい。
たとえば、WindowsのTomcatバージョン6で

C:\Tomcat6.0\lib

にはいっていたものは、このLinuxのTomcat(Tomcatバージョン5.5まで)では、

/usr/share/tomcat5/common/lib
/usr/share/tomcat5/server/lib
/usr/share/tomcat5/shared/lib

という複数のディレクトリーに分散しています。このうちserver/libはTomcatの
サーバーが専用に使うもので、common/libはTomcatだけでなく皆が共通して使える
ものが入っています。そして、shared/libは我々が複数のWebアプリケーションで
共有して使いたいものを入れる所です(これはTomcatは使いません)。したがって、
これまで我々が
C:\Tomcat6.0\lib
にコピーしたJARファイルなどはこのshared/libに入れることになります。

具体的には、これから個々の作業のときにどのディレクトリーを使うか説明していき
ます。


ではここで、Tomcatの管理者用のユーザー名、パスワード(Web用)を設定しておき
ましょう。
/usr/share/tomcat5/conf/に、tomcat-users.xmlというファイルが入っているので
これを編集します。

vi /usr/share/tomcat5/conf/tomcat-users.xml

このファイルの最後の</tomcat-users>という行の上に次のようなコードを追加
して下さい。

  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager"/>


┌補足─────────────────────────┐
理想的には、ファイルの中身全体が

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="admin"/>
  <role rolename="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="admin" password="admin" roles="admin,manager"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

のような感じになるときれいでいいです。
└───────────────────────────┘

このファイルを保管したあと、Tomcatを再起動しましょう。

service tomcat5 start

(あるいは、tomcat5を停止していなかった場合は、
service tomcat5 restart
と入力します。)

先ほどと同じようにWebブラウザーでTomcatのWebページ

http://192.168.0.5:8080/
(ただし、192.168.0.5はLinuxのPCのIPアドレスです。各自の正しいIPアドレスに
置き換えて下さい。)

を開き、左側のAdministrationという枠の中のTomcat Managerというところを
クリックします。
そうすると、ユーザー名、パスワードを聞いてくるので、先ほどtomcat-users.xml
ファイルの中に設定したadmin、adminを入力します。
そうすると、「Tomcat Webアプリケーションマネージャ」の画面が表示されますね。

この画面では、Tomcatの各アプリケーションを起動したり、停止したり、あるいは
WARファイルをデプロイ(配備)したり、などの管理作業を行うことができます。


以上でTomcatの設定作業が終わりました。



では、続いてAxisをインストールしましょう。
今回は、先ほど使用可能にした「Tomcat Webアプリケーションマネージャ」の画面
を使って、EclipseのPC(WindowsのPC)上にあるAxis(から作成したWARファイル)
をLinuxのPCのTomcatにデプロイするという方法でインストールしてみましょう。


まず、AxisのWARファィルを作成しましょう。その手順を下に記します。

(1) EclipseのPC(WindowsのPC)でコマンド・プロンプトを開きます。

(2) 下記のようなコマンドを入力することによって、axisのディレクトリーに移ります。

cd \axis-1_4\webapps\axis
(ただし、ここで\axis-1_4は、vol.126でAxisの圧縮ファイルを解凍したときのフォルダー
名です。各自がAxisの圧縮ファイルを解凍したときの正しいフォルダー名に置き換えて
下さい。)

(3) 下記のようなコマンドを入力することによって、axisのWARファイルを作成します。

jar -cvf axis.war .
(最後のスペースとドット" ."を見落とさないで下さい。このドットは現行ディレクト
リーを表現します。)
(vオプションを指定しているので詳細な出力が出ます。これで何がWARファイルの中に
取り込まれているのか見ておくといいでしょう。あるいは、詳細な出力を見たくない人は
vをはずして下さい。)

(4) 下記のようなコマンドを入力することによって、axisのWARファイル(axis.war)が
できていることを確認します。

dir axis.*

axis.warというWARファイルができているのがわかりますね。


続いて、このWARファイルをLinuxのPCのTomcatにデプロイしましょう。その手順を下に
記します。

(1) 先ほど行ったようにして、EclipseのPC(WindowsのPC)のWebブラウザーで
「Tomcat Webアプリケーションマネージャ」の画面を開きます。

(2) その画面の下のほうにある「WARファイルの配備」という所の「アップロードする
WARファイルの選択」という入力フィールドの右側にある「参照」ボタンをクリックし、
先ほどのフォルダー(当メールマガジンでは\axis-1_4\webapps\axis)の中のaxis.war
を選択し、「開く」ボタンをクリックすると、「アップロードするWARファイルの選択」
の入力フィールドに、

C:\axis-1_4\webapps\axis\axis.war
(ただし、\はバックスラッシュで表現されることに注意。)

というような文字列が入りますね。(あるいは、直接自分でこの文字列を入力フィールド
に入力してもよい。)

(3) その下の「配備」ボタンをクリックします。
(ちなみに、この「配備」とはデプロイ(deploy)の日本語訳です。)

しばらく待つと、同じ画面の「アプリケーション」という表の「パス」というカラムに

/axis

という文字列がリストされますね。

┌補足─────────────────────────┐
ちなみにその右端のほうに「コマンド」というカラムがあり、
この中に「起動」、「停止」、「再ロード」、「配備解除」と
いう項目がありますが、これらのうち、アンダーラインが引か
れているものをクリックすると、その操作が行われることにな
ります。
現在、「起動」にアンダーラインがついていないのは、既に
起動済みであるため起動の操作ができないことを意味します。
└───────────────────────────┘

この「/axis」という文字列をクリックしてみて下さい。
Apache-AXISのWebページが表示されますね。これでAxisのインストールは完了です。

ここで、このWebページの「検証」という所をクリックして、必須コンポーネントが
すべて見つかっていることを確認して下さい。(オプショナル・コンポーネントは
全部そろっている必要はないので無視して下さい。)

また、Axisを(LinuxのPCの)Tomcatにデプロイしたということは、LinuxのPCの

/usr/share/tomcat5/webapps

の配下にaxisディレクトリーが作られている訳ですから(AxisもTomcatのWeb
アプリケーションである)、そのaxisディレクトリーができていることを確認して
みて下さい。



(次回に続く)


では、今日はここまでにします。



[Windowsは米国Microsoft Corporationの、米国およびその他の国における登録商標です。]

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
★ホームページ:
      http://www.flsi.co.jp/Java_text/
★このメールマガジンは
     「まぐまぐ(http://www.mag2.com)」
 を利用して発行しています。
★バックナンバーは
      http://www.flsi.co.jp/Java_text/
 にあります。
★このメールマガジンの登録/解除は下記Webページでできます。
      http://www.mag2.com/m/0000193915.html
★このメールマガジンへの質問は下記Webページにて受け付けて
 います。わからない所がありましたら、どしどしと質問をお寄
 せください。
      http://www.flsi.co.jp/Java_text/
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Copyright (C) 2009 Future Lifestyle Inc. 不許無断複製