目次

Apache Tomcat8 の導入

Tomcat 8 をインストールし、Javaアプリケーションを実行できる環境を作成してみます。

Apache Tomcat


準備

ベースのファームウェアの変更 (full JRE 版)

デフォルトの Compact3 profile では動作しないため、full JRE 版へファームウェアを更新しておきます。


セットアップ

ユーザの追加

Tomcat を実行するためのユーザを作成します。

root@plum:~# useradd -d /opt/tomcat8 -M tomcat
root@plum:~#


Apache Tomcat のダウンロード

Apache Tomcat は http://tomcat.apache.org/download-80.cgi よりダウンロードします。
現時点での最新バージョンは 8.5.3 となっています。

root@plum:~# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz
--2016-06-22 15:36:52--  http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz
Resolving ftp.riken.jp (ftp.riken.jp)... 134.160.38.1
Connecting to ftp.riken.jp (ftp.riken.jp)|134.160.38.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9272944 (8.8M) [application/x-gzip]
Saving to: 'apache-tomcat-8.5.3.tar.gz'

100%[====================================================================>] 9,272,944   8.82MB/s   in 1.0s   

2016-06-22 15:36:53 (8.82 MB/s) - 'apache-tomcat-8.5.3.tar.gz' saved [9272944/9272944]

root@plum:~#


Tomcat8 の展開

さきほどダウンロードした Tomcat8 のアーカイブを展開します。

root@plum:~# tar axvf apache-tomcat-8.5.3.tar.gz -C /opt
apache-tomcat-8.5.3/conf/
apache-tomcat-8.5.3/conf/catalina.policy
apache-tomcat-8.5.3/conf/catalina.properties
apache-tomcat-8.5.3/conf/context.xml
apache-tomcat-8.5.3/conf/jaspic-providers.xml
apache-tomcat-8.5.3/conf/jaspic-providers.xsd
apache-tomcat-8.5.3/conf/logging.properties
apache-tomcat-8.5.3/conf/server.xml
...
apache-tomcat-8.5.3/bin/shutdown.sh
apache-tomcat-8.5.3/bin/startup.sh
apache-tomcat-8.5.3/bin/tool-wrapper.sh
apache-tomcat-8.5.3/bin/version.sh
root@plum:~#


ディレクトリの rename, 所有者の変更

ディレクトリ名を変更し、さきほど作成したユーザに所有者を変更します。

root@plum:~# cd /opt/
root@plum:/opt# mv apache-tomcat-8.5.3 tomcat8
root@plum:/opt# chown -R tomcat:tomcat tomcat8 
root@plum:/opt#

確認しておきます。

root@plum:/opt# ls -l
total 0
drwxr-xr-x 3 root   root    26 Oct 24  2014 mae3xx
drwxr-xr-x 9 tomcat tomcat 260 Jun 22 15:45 tomcat8  <----
root@plum:/opt#


設定の変更 (conf/server.xml)

Listen ポートがデフォルトでは TCP/8080 になっており、MA-E3xx の内部で動作している Application Server とバッティングするため、 任意のポートに変更します。

root@plum:~# nano -w /opt/tomcat8/conf/server.xml


例として、8081 に変更しています。

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->


init script の作成

Upstart から起動させるための、init script を作成します。
How To Install Apache Tomcat 8 on Ubuntu 14.04 - DigitalOcean のものを変更しています。

root@plum:~# nano -w /etc/init/tomcat.conf
tomcat.conf
description "Tomcat Server"
 
 
start on runlevel [2345]
stop on runlevel [!2345]
 
respawn
respawn limit 10 5
 
setuid tomcat
setgid tomcat
 
env JAVA_HOME=/usr/lib/jvm/ejdk-8-oracle
env CATALINA_HOME=/opt/tomcat8
 
# Modify these options as needed
env JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
env CATALINA_OPTS="-Xms128M -Xmx256M -XX:+UseParallelGC"
 
exec $CATALINA_HOME/bin/catalina.sh run
 
# cleanup temp directory after stop
post-stop script
  rm -rf $CATALINA_HOME/temp/*
end script


Firewall 設定の追加

さきほど変更したポートでアクセス可能にするために、firewall-cmd で設定を追加します。

root@plum:~# firewall-cmd --zone=external --add-port=8081/tcp
root@plum:~# firewall-cmd --permanent --zone=external --add-port=8081/tcp


起動

Tomcat8 を起動させてみます。

root@plum:~# service tomcat start
tomcat start/running, process 3237
root@plum:~#

起動しているか確認しておきます。

root@plum:~# ps ax|grep 3237
 3237 ?        Ssl    0:05 /usr/lib/jvm/ejdk-8-oracle/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Djdk.tls.ephemeralDHKeySize=2048 -Xms128M -Xmx256M -XX:+UseParallelGC -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start
 3256 pts/1    S+     0:00 grep --color=auto 3237
root@plum:~#


ブラウザでアクセス

ブラウザでアクセスしてみます。

デフォルトのページが表示されましたので、Tomcat8 が動作していることが確認できました。