Tomcat8をCentOS7へインストールする
CentOS7へTomcat8をインストールしていきます。 Java環境が必要となるのでJDKをインストールします。インストールが必要な場合は、「JDK8をCentOS7へインストールする」参照。
Tomcatのインストール
はじめにTomcatを実行するユーザーを作成します。
# useradd -s /sbin/nologin tomcat
シェルを指定してログインできないユーザーとして作成します。 tomcatを次のサイトからダウンロードします。 ダウンロードしたファイルを/optディレクトリに展開します。
# cd ~/download
# curl -O http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz
# tar -xzvf ~/apache-tomcat-8.0.32.tar.gz
# mv ~/apache-tomcat-8.0.32 /opt
# chown -R tomcat:tomcat /opt/apache-tomcat-8.0.32
Tomcatをサービスとして実行できるよう定義ファイルを/etc/systemd/system/tomcat.serviceへ作成します。
[Unit]
Description=Apache Tomcat 8
After=network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-8.0.32/tomcat.pid
RemainAfterExit=yes
ExecStart=/opt/apache-tomcat-8.0.32/bin/startup.sh
ExecStop=/opt/apache-tomcat-8.0.32/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-8.0.32/bin/shutdown.sh;/opt/apache-tomcat-8.0.32/bin/startup.sh
[Install]
WantedBy=multi-user.target
作成した定義ファイルの権限を 755 に変更します。
# chmod 755 /etc/systemd/system/tomcat.service
定義ファイルの作成が完了したら、「systemctl enable」 コマンドでサービスを有効にします。
# systemctl enable tomcat.service
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.
環境変数の設定
環境変数の設定方法はいろいろあるようですが、今回は専用サーバとして構築するため/etc/profile.d/へtomcat.shを作成し環境変数を設定します。 tomcat.shを次のように作成します。
export JAVA_HOME=/usr/java/default
export CATALINA_HOME=/opt/apache-tomcat-8.0.32
PATH=$PATH:$JAVA_HOME/bin
Firewalld の設定
TomcatのWebサーバ機能を使用してTomcatを使う場合、デフォルトでは8080ポートでのアクセスとなります。 CentOS7でのデフォルトの状態では、外部から8080ポートへはアクセスできないためFirewalldへ設定を行う必要があります。 「/etc/firewalld/services/」ディレクトリにtomcat.xmlファイルを作成しFirewalldの設定を作成します。
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Tomcat (HTTP)</short>
<description>Tomcat HTTP Server.</description>
<port protocol="tcp" port="8080"/>
</service>
作成した設定をFirewalldへ反映します。
# firewall-cmd --zone=public --add-service=tomcat --permanent
# firewall-cmd --reload
設定が反映されたかどうか次のコマンドで確認します。
# firewall-cmd --zone=public --list-services
Tomcatの実行と確認
次のコマンドでTomcatを起動します。
# systemctl start tomcat.service
ブラウザーから「http://アドレス:8080/」へアクセスし、表示されることを確認します。