CentOS8にApache Tomcat 9をインストール

CentOS8にApache Tomcat 9をインストール

公式サイト

http://tomcat.apache.org/

ダウンロードはこちら
https://tomcat.apache.org/download-90.cgi

ユーザ作成

tomcatユーザを作成します。

[root@localhost ~]# useradd -s /sbin/nologin tomcat

ダウンロードと解凍

[root@localhost ~]# curl -O https://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
[root@localhost ~]# tar xvf apache-tomcat-9.0.37.tar.gz

ワーッと出る

ファイルの移動と権限付与

みんな/optにやっているので、それに沿って対応

[root@localhost ~]# mv apache-tomcat-9.0.37 /opt
[root@localhost ~]# chown -R tomcat:tomcat /opt/apache-tomcat-9.0.37

起動スクリプト作成と起動

起動スクリプトを作成します。

[root@localhost ~]# vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 9
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-9.0.37/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/apache-tomcat-9.0.37/bin/startup.sh
ExecStop=/opt/apache-tomcat-9.0.37/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-9.0.37/bin/shutdown.sh;/opt/apache-tomcat-9.0.37/bin/startup.sh

[Install]
WantedBy=multi-user.target

権限付与を755にし、サービスを有効にします。

[root@localhost ~]# ls -l /etc/systemd/system/tomcat.service
-rw-r--r--. 1 root root 412 9月 7 22:39 /etc/systemd/system/tomcat.service
[root@localhost ~]# chmod 755 /etc/systemd/system/tomcat.service
[root@localhost ~]# systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.
[root@localhost ~]# ps -eaf | grep tomcat
root 5497 2826 0 22:48 pts/0 00:00:00 grep --color=auto tomcat

起動をしてみます。

[root@localhost ~]# systemctl start tomcat
[root@localhost ~]# ps -eaf | grep tomcat
tomcat 5529 1 42 22:49 ? 00:00:01 /usr/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.37/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/apache-tomcat-9.0.37/bin/bootstrap.jar:/opt/apache-tomcat-9.0.37/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-9.0.37 -Dcatalina.home=/opt/apache-tomcat-9.0.37 -Djava.io.tmpdir=/opt/apache-tomcat-9.0.37/temp org.apache.catalina.startup.Bootstrap start
root 5554 2826 0 22:49 pts/0 00:00:00 grep --color=auto tomcat

firewallの設定追加

そのまま8080ポートで接続しても繋がりません。
firewallでポートを開けないと動かないケースがほとんどだと思います。

ファイアウォールは以下の場所にサービスを定義しています。

[root@localhost services]# pwd
/etc/firewalld/services

ここにtomcat.xmlを作ります。
作るのは以下の通りにします。

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Apache Tomcat 9</short>
<description>Apache Tomcat 9</description>
<port protocol="tcp" port="8080"/>
</service>

まずは今の状態確認から。
自分はhttpなども開けたのでこうなっています。

[root@localhost services]# firewall-cmd --list-services --zone=public --permanent
cockpit dhcpv6-client http ssh

tomcatをオープンし、リロード。

[root@localhost services]# firewall-cmd --add-service=tomcat --zone=public --permanent
success
[root@localhost services]# firewall-cmd --reload
success

結果確認をします。
無事オープンされました。

[root@localhost services]# firewall-cmd --list-services --zone=public --permanent
cockpit dhcpv6-client http ssh tomcat

接続確認

ブラウザから接続確認をすると、以下のようなページが出てきます。
IPアドレスは自身のものに置き換えてください。

BASEカテゴリの最新記事