見出し画像

【Linux】 Tomcatの設定

Tomcat

Javaを使用してWebアプリケーションを開発、実行するためのオープンソースソフトウェアです。Java Servlet、JavaServer Pages (JSP)、Java Expression Language、Java WebSocket技術をサポートしています。


作業ログ


設定例

事前作業

環境の用意とコマンドのインストール

yum update
yum install epel-release
yum install wget

ユーザーとグループの追加

groupadd tomcat
useradd -M -s /bin/nologin -g tomcat
id tomcat


OpenJDK 11をインストール

yum install java-11-openjdk-devel


Apache Tomcatのダウンロード

公式HPから任意のtar.gzファイルをダウンロードする。
必要であればダウンロード前に落としたいディレクトリに移動しておく。

wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz
---------------------------------------------------------------------
--2023-04-23 15:09:20--  https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz
dlcdn.apache.org (dlcdn.apache.org) をDNSに問いあわせています... 151.101.2.132, 2a04:4e42::644
dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 10663778 (10M) [application/x-gzip]
`apache-tomcat-8.5.88.tar.gz' に保存中

100%[====================================================================>] 10,663,778   180KB/s 時間 2m 10s 

2023-04-23 15:11:30 (80.2 KB/s) - `apache-tomcat-8.5.88.tar.gz' へ保存完了 [10663778/10663778]

wgetに-Pコマンドを使用すると、ダウンロード先のパスを指定できる。


ファイルの解凍

tar -xvzf apache-tomcat-8.5.88.tar.gz
---------------------------------------------------------------------
apache-tomcat-8.5.88/conf/
apache-tomcat-8.5.88/conf/catalina.policy
apache-tomcat-8.5.88/conf/catalina.properties
apache-tomcat-8.5.88/conf/context.xml
・
・
・


ファイルの移動と権限変更

mv apache-tomcat-8.5.88 /usr/local/src

chgrp -R tomcat /usr/local/src
cd /usr/local/src/apache-tomcat-8.5.88/
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/


ユニットファイルの作成

systemdで管理できるようにすることで、他のシステムサービスと同じようにTomcatを管理できます。例えば、systemctl start tomcatsystemctl stop tomcatのようなコマンドを使用することができる。
[Tomcat Home Directory]を変更する。例:/usr/local/src/apache-tomcat-8.5.88/

vi /etc/systemd/system/tomcat.service
---------------------------------------------------------------------
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
 
[Service]
Type=forking
 
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=[Tomcat Home Directory]/temp/tomcat.pid
Environment=CATALINA_HOME=[Tomcat Home Directory]
Environment=CATALINA_BASE=[Tomcat Home Directory]
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
 
ExecStart=[Tomcat Home Directory]/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
 
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
 
[Install]
WantedBy=multi-user.target


systemdの読み込み、Tomcatを有効化

ystemctl daemon-reload
systemctl start tomcat
systemctl status tomcat
---------------------------------------------------------------------
● tomcat.service - Apache Tomcat Web Application Container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2023-04-23 15:46:08 JST; 5s ago
  Process: 3521 ExecStart=/usr/local/src/apache-tomcat-8.5.88/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 3528 (java)
   CGroup: /system.slice/tomcat.service
           └─3528 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/local/src/apache-tomcat-8....

 423 15:46:08 hinemos systemd[1]: Starting Apache Tomcat Web Application Container...
 423 15:46:08 hinemos systemd[1]: Started Apache Tomcat Web Application Container.

Firewallやiptableを使用していれば、ポート番号8080を解放しておく。


デフォルトページの疎通確認

次のURLをブラウザから入力してTomcatのページが表示されるか確認。
http://[ホスト名]:8080/



よろしければサポートお願いします!よりいい情報を発信します。