1.はじめに
この投稿は、「 TomcatのJavaアプリ(VM環境)をTransformation Advisorを使ってモダナイズする 」 の内容を実際に、試したい方向けに必要な環境構築の手順について記載します。
今回、必要な環境は、以下の2つにります。
- TomcatのJavaアプリの分析を行うTransformation Advisor
- 分析対象のTomcat環境
2つの環境の導入を行った後に、「 TomcatのJavaアプリ(VM環境)をTransformation Advisorを使ってモダナイズする 」の流れにそって、手順をすすめると、TomcatのJavaアプリ(VM環境)をTransformation Advisorを使ったモダナイズを体感していただけます。
2. Transformation Advisor の インストール
Transformation Advisorの導入手順は、Qiita記事 「Transformation Advisor Localをインストールした時の手順メモ 」を使って導入してください。
3. 分析対象のTomcat環境のインストール
今回は2020/11/30でEOLを迎えるCentOS6をつかって構築しました。
分析対象の構成
- OS: CentOS6(x86_64)の最小構成インストール
- JDK: IBM Java 7 (java-x86_64-71)
- Tomcatのバージョン: 6.0.53
作業前の前提条件: 名前解決できること DNS等で名前解決できない場合は、 /etc/hostsにホスト名 (例: c603 )を記入してください。
# cat /etc/hosts
127.0.0.1 c603 localhost localhost.localdomain localhost4 localhost4.localdomain4
IBM Java SDK のダウンロード
作業環境:ローカルPC
ローカルPCのブラウザにて, 「 IBM SDK, Java Technology Edition, Version 7 Release 1 」 にアクセスし、
そして、Linux on AMD64/EMT64Tの下記のパッケージをダウンロード
Installable package (InstallAnywhere as root)
(File name: ibm-java-x86_64-sdk-7.1-4.75.bin, Size: 129MB)
IBM Java SDK のインストール
作業環境:centOS
作業ユーザー: root
事前にローカルPCにダウンロードした、IBM Java SDK のバイナリ「ibm-java-x86_64-sdk-7.1-4.75.bin」をCentOSにアップロードします。
そして、バイナリ「ibm-java-x86_64-sdk-7.1-4.75.bin」 を実行してIBM Java SDKのインストールを行います。
bash ./ibm-java-x86_64-sdk-7.1-4.75.bin
インストールが完了すると 「 /opt/ibm/java-x86_64-71 」のPATHにIBM Java SDKがインストールされます。
Tomcatのインストール
モダナイズを体感するためには、古めのTomcatをインストールする必要があるので、今回はTomcat6をインストールします。
まずは、Tomcat 6.0.53のバイナリを/usr/localにダウンロードし、ダウンロードしたapache-tomcat-6.0.53.zipを解凍します。
# curl -L https://archive.apache.org/dist/tomcat/tomcat-6/v6.0.53/bin/apache-tomcat-6.0.53.zip -o /usr/local/apache-tomcat-6.0.53.zip
# cd /usr/local
# ls
apache-tomcat-6.0.53.zip bin etc games include lib lib64 libexec sbin share src
# unzip apache-tomcat-6.0.53.zip
Archive: apache-tomcat-6.0.53.zip
# pwd
/usr/local
[root@c603 local]# ls
apache-tomcat-6.0.53 bin games lib libexec share
apache-tomcat-6.0.53.zip etc include lib64 sbin src
# cd apache-tomcat-6.0.53
# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps
次に、Tomcat起動時に、JAVA_HOMEのパスを通すために Tomcatのsetenv.shをJAVA_HOMEの設定を行います。
# cat <<EOF > /usr/local/apache-tomcat-6.0.53/bin/setenv.sh
JAVA_HOME=/opt/ibm/java-x86_64-71
EOF
そして、Tomcatのbinフォルダのスクリプトに実行権限を付与します。
# cd /usr/local/apache-tomcat-6.0.53/bin/
# ls
bootstrap.jar cpappend.bat setenv.sh tomcat-native.tar.gz
catalina.bat daemon.sh shutdown.bat tool-wrapper.bat
catalina.sh digest.bat shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.sh startup.bat version.bat
commons-daemon.jar setclasspath.bat startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.sh tomcat-juli.jar
# chmod +x *.sh
これで準備が整いました。 startup.shスクリプトを実行して、Tomcatを起動します。
# bash /usr/local/apache-tomcat-6.0.53/bin/startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.53
Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.53
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.53/temp
Using JRE_HOME: /opt/ibm/java-x86_64-71
Using CLASSPATH: /usr/local/apache-tomcat-6.0.53/bin/bootstrap.jar
正常にTomcatが起動できているか確認するためには、ログを確認します。
「INFO: Server startup in 480 ms」と表示されれば正常起動しています。
# tail -100f /usr/local/apache-tomcat-6.0.53/logs/catalina.out
INFO: Deploying web application directory manager
Nov 30, 2020 9:35:30 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Nov 30, 2020 9:35:30 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Nov 30, 2020 9:35:30 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/12 config=null
Nov 30, 2020 9:35:30 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 480 ms
Tomcatは8080番ポートを使って起動しますが、CentOS6のデフォルトでは、8080は
ファイアーウォール(iptables)で閉じているので、外部からアクセスできません。
今回は、便宜上、iptablesを停止して動作確認します。
# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
最後に、ローカルPCからブラウザで、CentOSのIPアドレスの8080番ポートにあくせすすると(例: http://192.168.26.22:8080 ) Tomcatのサンプルページが表示されます。
4.最後に
これで、ソースホスト(分析対象)のTomcatの環境 と Tomcat環境を分析するTransformation Advisorの導入が終了しました。この後は、「 TomcatのJavaアプリ(VM環境)をTransformation Advisorを使ってモダナイズする 」の投稿を使って、ぜひ、Transformation Advisorを使ったTomcatのモダナイズを体感してください!