JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■Eclipse の小径 Tomcat9(M8)の導入について
Eclipseの最新版4.6(Neon)を導入したことにより、
Tomcat9が扱えるようになったので、実験を兼ねて、まずWindows Eclipse(4.6)の環境に、
早速、Tomcat9(M8)を導入してみました。

Tomcat9のダウンロード/インストール方法は、Tomcat8と基本的には変わらないので
これについては、「1-3)TomcatのDL/Install」を参考にしてください。

Tomcatダウンロードページ
左側メニューの「Download」ー「Tomcat9」を選択し、
表示されたパッケージ
「32-bit Windows zip (pgp, md5, sha1)」または「64-bit Windows zip (pgp, md5, sha1)」を選択してダウンロードします。

ダウンロードが完了したら、任意の場所にzipを展開します。
展開されたフォルダ「apache-tomcat-9.0.0.M8」をそのままフォルダ丸ごと
C:¥Program Files¥Apache Software Foundation 配下にコピーします。

あとは、Eclipse(Neon)の「サーバー」Viewで、Tomcat9 でサーバーを設定したらすんなりと動きました。

Tomcat9


ちなみに、テスト用のLinuxサーバーでTomcat9を動かしてみていますが、
特に問題もなく、サクサクと動いています。
近日中に、この散歩道もTomcat9で動くようにするつもりです。


■Linux版 apache-tomcat-9.0.0.M8 のセットアップ時の注意事項
2016年7月吉日 Linuxサーバーのtomcatをapache-tomcat-9.0.0.M8にアップグレードしました。
表面的には、すんなりと切り替えできてサクサク動いているように見えたのですが、
maven-ant でプロジェクトのデプロイなんかやってみたら、
ReloadTaskエラーとかが発生してうまくデプロイできない現象が発生したので
備忘録として記録しておきます。
apache-tomcat-9.0.0.M8.tar.gz をtar xzvf で展開すると

 [usr@ws01 tomcat]$ ll ${TOMCAT_HOME}
 drwxr-x--- 2 tomcat tomcat 4096 7月 5 16:02 bin
 drwxr-x--- 2 tomcat tomcat 4096 7月 5 16:02 lib
 drwxr-x--- 7 tomcat tomcat 4096 7月 5 16:05 webapps
のように、ディレクトリ(と、その下のファイルも)パーミッションが、750 となっています。
これでは、tomcatユーザーだったら問題ないのですが、
その他のユーザーだと、何にもできない(読み込みすら不可)のでちょっと困ったことになります。
ちなみに、アンダーバージョンである、apache-tomcat-8.0.36 とかだと
 [usr@ws01 tomcat]$ ll ${TOMCAT_HOME}
 drwxr-xr-x 2 tomcat tomcat 4096 7月 5 14:28 bin
 drwxr-xr-x 2 tomcat tomcat 4096 7月 5 14:47 lib
 drwxr-xr-x 7 tomcat tomcat 4096 7月 5 14:53 webapps
で、755 となっているので問題ありません。
手動で、chmod 755 xxxx で補正してあげたところ、問題なく動くようになりました。
という訳で本サイトは、最新のTomcat9 で稼働しています。

750はどう考えても納得いかないので、多分 apache-tomcat-9.0.0.M8的にはバグなのでしょう(?)
正式版リリースを期待して待ちましょう。

2016/Jul/19 追記)
 Apache Tomcatのサイトを覗いてみたら
 さっそく、apache-tomcat-9.0.0.M9 というのがリリースされてたので
 内容を確認してみましたが、状況はM8 と変わらず、ディレクトリパーミッションは
 750のままなので、とりあえずインストールはやめにしました。

2016/Jul/21 追記)
 その後、色々触ってて気が付いたこと。
 apache-tomcat-9.0.0.M8の環境で、Tomcatマネージャ
 http://xxxx:8080/manager/html
 を叩くと、403エラーが返ってきて画面が表示されません。
 apache-tomcat-8.0.36では問題なく表示されるので
 ディレクトリのパーミッション等を全て、8.0.36に合わせてみましたが
 やはし結果はNGでした。
 そもそも、M8とかM9の「M」は、milestone の「M」の意味っぽいですね。

 とりあえず、tomcat9の実験は終了とし、
 tomcat8の最新版、apache-tomcat-8.0.36に戻すことにします。

 

2017/Oct/13 追記)
前述の、Tomcatマネージャが、403:Access Denied になる現象は回避策がわかりました。
${TOMCAT_HOME}/conf/Catalina/localhost/manager.xml というファイルを作成し、
<Context privileged=""true"" antiResourceLocking=""false"" docBase=""${catalina.home}/webapps/manager"">
  <Valve className=""org.apache.catalina.valves.RemoteAddrValve"" allow=""^.*$"" />
</Context>
を書いてあげれば、403:Access Deniedは発生しなくなります。

で、tomcat9.0.1 の正式リリースがあったみたいなので、
この散歩道の動作環境を、tomcat9 に更新しました。