CentOS7にTomcat9をインストールする方法!firewallの設定まで

Web技術
スポンサーリンク

CentOSにTomcatをインストールしたい。

サービスを自動起動するようにしたい。

どうやって設定するのか手順を教えて欲しい!

こういった疑問にこたえます。

この記事を読めば
  • CentOS7にTomcat9をインストールすることができる
  • サービスを自動起動の設定ができるようになる
  • firewallを設定して外部のブラウザからアクセスできるようになる

CentOS7にTomcat9をインストールした時の備忘録です。

参考になれば幸いです。

CentOS7にTomcat9をインストールする方法

インストール手順
  • Tomcat用ユーザ作成
  • ファイルダウンロード・解凍
  • サービス作成・登録
  • サービスの起動と停止
  • firewallの設定

Tomcat用ユーザの作成

# useradd -s /sbin/nologin tomcat

ファイルダウンロード・解凍

まずホームディレクトリに移動しておきます。

# cd ~

tomcatの公式ページからバージョンを指定してダウンロードできます。

ダウンロードするファイルのパスをコピーしてwgetコマンドでダウンロードします。

# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz

ファイルを展開します。

# tar -xzvf ~/apache-tomcat-9.0.54.tar.gz 

展開したファイルをホームディレクトリから任意のディレクトリに移動します。

今回は/optに配置しました。

# mv ~/apache-tomcat-9.0.54 /opt/

所有者をtomcatに変更します。

# chown -R tomcat:tomcat /opt/apache-tomcat-9.0.54/

サービスの作成・登録

tomcatのサービスを作成します。CentOS7ではsystemdでサービスを管理します。

/etc/systemd/system/tomcat.serviceファイルを作成します。

# vim /etc/systemd/system/tomcat.service

tomcat.serviceの中身はこんなかんじ。

[Unit]
Description=Apache Tomcat 9
After=network.target

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

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

[Install]
WantedBy=multi-user.target

作成できたら権限を変更します。

# chmod 755 /etc/systemd/system/tomcat.service

systemctlコマンドでサービスを有効にします。

# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.

サービスの起動と停止

systemctl startでサービスを起動します。

# systemctl start tomcat

systemctl statusコマンドでActive: active (exited) となっていればOK!

# systemctl status tomcat

停止するときは以下のコマンドを実行します。

# systemctl stop tomcat

firewallの設定

firewallが無効になっていればブラウザから8080ポートを指定して接続すればTomcatのwelcomeページが表示されますが、有効の場合が多くアクセスできない場合がほとんどです。

ここではfirewallの設定を行います。

/etc/firewalld/services/にtomcat.xmlファイルを作成します。

# vim /etc/firewalld/services/tomcat.xml

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>

firewallが通信を許可しているサービスはこちらのコマンドで確認できます。

次の例はdhcpv6-clientとhttp、sshが許可されていることがわかります。

# firewall-cmd --list-services --zone=public --permanent
dhcpv6-client http ssh

tomcatの通信を許可するために以下のコマンドを実行します。

# firewall-cmd --add-service=tomcat --zone=public --permanent

変更した内容を反映させます。

# firewall-cmd --reload

もう一度、許可している通信を確認するとtomcatが追加されていることがわかります。

# firewall-cmd --list-services --zone=public --permanent
dhcpv6-client http ssh tomcat

これでfirewallの設定も完了です。

ブラウザから8080ポートを指定してアクセスしてみましょう。

こんなページが表示されたらOKです。

tomcatのwelcomeページ
Tomcatのwelcomeページ

お疲れ様でした。

コメント

タイトルとURLをコピーしました