読者です 読者をやめる 読者になる 読者になる

より長続きするブログ

続けていきたい気持ち。

Tomcatインストールメモ (Ubuntu13.04)

職場でTomcatを使いはじめ、家でも勉強したいので環境を構築しようとしたら、設定でハマったのでメモ。

インストールから設定

apt-getでインストール

関係ありそうなものを一応一通りインストール。Javaも一緒に。

sudo apt-get install openjdk-7-jdk
sudo apt-get install tomcat7 tomcat7-examples tomcat7-admin tomcat7-common libtomcat7-java tomcat7-docs

たぶんtomcat7だけでも最低限は入るかな。

環境変数tomcatで使うフォルダを指定

Apacheで言うところのドキュメントルートを/home下の方にもってきたかったので、起動スクリプト(/etc/init.d/tomcat7)を開いて、CATALINA_BASEという名前の環境変数を書き換える。

CATALINA_BASE=$HOME/tomcat/base

それでもともとのCATALINA_BASE(/var/lib/tomcat7)の中身を自分で設定したディレクトリにコピーする。 

コピーしてきたファイルの中にあるシンボリックリンクの一部が相対パスなので、絶対パスで作りなおす。

―――以上―――

ハマり所

CATALINA_BASEを移動させるのにとにかく苦労した。

どこかでCATALINA_BASEが定義されているらしいけど、どこにあるのか全然わからなかった。シェルの環境変数に書き加える方法が紹介されてたけど、それを使ってもダメ。蓋を開けてみれば、シェルで決めた変数を起動スクリプトで上書きしてたってことで、そりゃ上手くいかないわ。

それが解決して、$HOME/tomcat/baseがCATALINA_BASEとして認識された。しかし、サーバは立ち上がってhtmlは表示できるけど、jspの表示がされない 。エラーが出る。設定変えてないのに、F5押す度にエラー内容が変わったりして混乱した。ファイルが見つからないか、クラスが見つからないか、workディレクトリがエンジン本体から書き込めないといった内容だった気がする(今もあんまり理解はしてない)。シンボリックリンクを使わずに同名のディレクトリを作って、それぞれの中身をコピーしてたのが原因だったみたい。

参考にしたサイトとか

Ubuntu で Tomcat バージョン 7 のインストールとテスト実行 (基本的な流れなど)

Tomcatの環境構築って皆どうやってるんだろう?(オレオレ設定を晒す) - penultimate diary (起動スクリプトなど)