概要
Tomcatのインストールはアーカイブをダウンロードして解凍して配置して終了という感じで実施していたのですが、yumでもインストールできるのでやってみました
設定ファイルやデプロイ先も自動で設定されるのでその辺も確認しました
環境
- CentOS 6.6 Final
- Tomcat 7.0.33
- Java 1.8.0_31
インストール作業
yumを使って各種インストールしてみます
Tomcatのインストール
yum -y install tomcat
でTomcatの 7.0.33というバージョンがインストールされました
これは、バージョン7系のバージョンとしてはだいぶ古いです
バージョンで7系の最新版は 2015/03/18 時点では v7.0.59 でした
v7.0.33は 2012-11-21 12:07 頃にリリースされたバージョンです
tomcat version
Server version: Apache Tomcat/7.0.33
Server built: Apr 30 2014 09:16:58
Server number: 7.0.33.0
OS Name: Linux
OS Version: 2.6.32-358.el6.x86_64
Architecture: amd64
JVM Version: 1.8.0_31-b13
JVM Vendor: Oracle Corporation
Server builtを見ると割りと最近(それでも1年以上前)ですがおそらくこれはrpmパッケージとしてビルドされた時期なのでTomcatのリリースとは別になると思います
P.S 2015/03/24
すいません、tomcatの7系はCentOS6.6のbaseリポジトリでは公開されていませんでした
知らぬ間にepelのリポジトリを追加していたみたいです
上記を実施するにはまず以下を実施してください
rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
JVMについて
もし自分の環境にTomcatがまだインストールされていない状態だと一緒にJavaもインストールされます
インストールされるJavaはOpenJDKになります(Oracle版ではないです)
最終的に自分の環境で動作させたJavaは1.8になります
実はTomcatをyumインストールするとそのバージョンに依存したJavaのRPMパッケージも自動でインストールされます
Tomcat7.0.33の場合、一緒にインストールされたJavaのバージョンは1.7.0.75
でした
これは既にJavaの1.8がyumがインストールされていても強制的にインストールされるようです
同時にインストールされたRPMパッケージ名はjava-1.7.0-openjdk-1.7.0.75-2.5.4.0.el6_6.x86_64
で詳細を確認したい場合は
rpm -qli java-1.7.0-openjdk-1.7.0.75-2.5.4.0.el6_6.x86_64
でOKです
JVMを切り替える
既に1.8がインストールされている状態だと使用するJavaのバージョンが1.7で上書きされてしまいます
実際にjava -version
辺りを実行すると1.7 になっていることがわかると思います
1.8を使いたい場合はalternatives
コマンドを使うと簡単に切り替えることができます
コマンドの流れとしては以下の通りです
java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
まだ1.7の状態でalternatives
コマンドを利用してバージョンを切り替えます
alternatives --config java
3 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.31-1.b13.el6_6.x86_64/jre/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*+ 3 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:1
使用したいバージョンの番号を入力すればOKです
切り替えたあとに再度バージョンを確認しましょう
java -version
openjdk version "1.8.0_31"
OpenJDK Runtime Environment (build 1.8.0_31-b13)
OpenJDK 64-Bit Server VM (build 25.31-b07, mixed mode)
これでTomcatが利用するJVMを切り替えることができます
もしyumでJavaをインストールしている場合はお好きなバージョンに切り替えてください
起動方法
yumでインストールした場合はinit.d配下に起動スクリプトが作られるので service コマンド経由で起動することができます
service tomcat start
init.d経由なので chkconfig で自動起動をONにすることもできます
Tomcat起動中にJavaのバージョンを切り替えて停止しようとするとうまく停止することができないので、Javaのバージョンを変更したい場合は起動 -> 停止
をしてから変更してください
管理画面をインストール
Tomcatの管理画面は別途yumインストール必要がありました
yum -y install tomcat-admin-webapps
でインストールできます
これでTomcatを再起動するとhttp://localhost:8080/manager/html
にアクセスできるようになります
アクセスするとユーザ名とパスワードが聞かれます
デフォルトだと管理UIにアクセスできるユーザは存在しないのでアクセスしたい場合は設定ファイルにユーザを追加しましょう
- vim /etc/tomcat/tomcat-users.xml
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui,manager-gui"/>
上記をtomcat-users
タグ内に記載しましょう
これで管理画面にアクセスすることができます
設定の確認
設定ファイルのパスやデプロイパスを確認します
設定ファイルのパス
まず、インストールしたTomcatの詳細情報を確認してみましょう
rpm -qli tomcat-7.0.33-4.el6.noarch
上記のコマンドでインストールされたファイルやパスがすべて表示されます
その中で設定ファイルは以下のパスで管理されるようです
/etc/tomcat/
このパスの実態は/usr/share/tomcat/conf
になっており、ここからシンボリックリンクがはられている感じになります
設定変更したい場合は/etc/tomcat
配下にある設定ファイルを変更すればOKです
デプロイ先のパス
デプロイ先は以下でした
/var/lib/tomcat/webapps
これは/usr/share/tomcat/webapps
からシンボリックされています
ログ
ログは以下に出力されます
/var/log/tomcat
これは/usr/share/tomcat/logs
からシンボリックされています
なので、log4jなので FileAppenderを使う場合は./logs/hoge.log
と書いておけば上記にログが吐かれるようになります
最後に
yumだと簡単にインストールできます
ただ設定ファイルのディレクトリやログのディレクトリも勝手に決まるのでその辺をインストール後に自分で確認する必要があります
起動スクリプトが自動で生成されるのも嬉しいポイントかなと思います
ただ、デメリットもやはりあり最新版がインストールされないことや管理UI用のRPMを別途インストールしなければいけないなど若干手間になる作業もあります
アーカイブ版とyum版を比較すると個人的にはyumインストールでいいかなと思っています
もしアップデートやセキュリティパッチが出たらyumコマンドで簡単に適用できます
最新版を絶対使う必要がなければyumをおすすめします
それでも最新版を使いたいのであればアーカイブ版方式でインストールするしかないかなと
もしくは自分でrpmbuild等を使ってrpmファイルを作成すればrpmコマンドでインストールでされるのでパッケージ管理システム配下で管理することはできるようになります