ubuntu20.04LTSにJavaのアプリケーションサーバーであるTomcatを入れて動かしてみました。学習用に入れただけなのでセキュリティ設定などはしていません。動かすだけであれば、ダウンロードサイトからtarファイルを持ってきて、展開して、任意の場所に置いて終わりです。Tomcatの起動と停止をしています。なお、Javaのインストールは済んでいます。
まず、Apache Tomcat のサイトにアクセスします。
赤枠➀の「Which version?」をクリックします。Tomcatのバージョンにより対応するServletとJSPのバージョンも異なってくるため、どのバージョンのTomcatを使用するかを決めます。Tomcatを動かす際のJavaのバージョンにも気をつけます。
なお、先ほどの赤枠③の記述によるとTomcat10以降では仕様が変わっているようです。赤枠③のgoogleでの翻訳です。
JakartaEEプラットフォームは、JavaEEプラットフォームが進化したものです。Tomcat10以降は、JakartaEEの一部として開発された仕様を実装しています。Tomcat9以前は、JavaEEの一部として開発された仕様を実装しています。
JavaEEをもとに作成されたソースコードを試したいので、Tomcat9にします。
Tomcat9
Version: 9.0.65
Servlet: 4.0対応
JSP: 2.3対応
Java: Java8以降であること
赤枠②の「Tomcat9」をクリックします。ダウンロードの画面が出るので「tar.gz」をクリックしてダウンロードします。
ダウンロードされたファイル名は「apache-tomcat-9.0.65.tar.gz」でした。ダウンロードされたファイルのハッシュ値を確認してみます。
$ sha512sum apache-tomcat-9.0.65.tar.gz
ダウンロードの画面の「sha512」のところをクリックして同じ出力結果となっていれば大丈夫です。
tarファイルを展開します。
$ tar xvf apache-tomcat-9.0.65.tar.gz
「apache-tomcat-9.0.65」というフォルダができました。これを任意の場所に配置します。
apache-tomcat-9.0.65フォルダの下にはbinフォルダがあるので、その中にある「startup.sh」を実行するとTomcatが起動します。
ブラウザで「http://localhost:8080/」にアクセスしてみます。Tomcatの画面が表示されます。
Tomcatの停止は「shutdown.sh」を実行します。
Tomcatの画面の「Manager App」をクリックするとManager画面を表示するのですが、デフォルトのままだとユーザ名とパスワードの設定がないため表示しません。表示させるにはconfフォルダにある「tomcat-users.xml」を修正します。confフォルダはapache-tomcat-9.0.65フォルダの下にあります。
<tomcat-users> : <user username="user" password="pass" roles="manager-gui"/> ←追加(ユーザ名とパスワードを任意に設定) : </tomcat-users>
Manager画面はwarファイルをTomcatにデプロイする際に使用する画面です。
Tomcatの起動と停止のログはlogsフォルダに出力されます。logsフォルダはapache-tomcat-9.0.65フォルダの下にあります。catalina.outファイルを見ると良いでしょう。
ServletをjavacコマンドでコンパイルするときにはCLASSPATHの設定が必要になるので、libフォルダの下にある「servlet-api.jar」にCLASSPATHを通しておきます。
$ export CLASSPATH="/Tomcatを配置したディレクトリ/apache-tomcat-9.0.65/lib/servlet-api.jar"
javacコマンドでコンパイルしたクラスファイルを /apache-tomcat-9.0.65/webapps/コンテキスト名/WEB-INF/classes に配置します。ブラウザからTomcatにアクセスすればServletの動きを確認できます。