Raspberry Pi に Tomcat9 を手動インストールする

Struts1.3.10をラズパイで動かしたかったのですが、Tomcat10では動かなかったため、Tomcat9をインストールする必要がありました。ただし、Tomcat 9がaptパッケージで簡単にインストールできないため、手動でTomcat 9をインストールする必要がありました。この記事ではラズパイにTomcat 9を手動インストール手順を記します。

必要なパッケージのインストール

まず、必要なパッケージをインストールします。

sh
sudo apt update
sudo apt install wget unzip -y

Tomcat 9のダウンロード

Tomcatの公式サイトからTomcat 9をダウンロードします。

sh
cd /opt
sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.89/bin/apache-tomcat-9.0.89.tar.gz

Tomcatの解凍

ダウンロードしたTomcatを解凍します。

sh
sudo tar xzf apache-tomcat-9.0.89.tar.gz
sudo mv apache-tomcat-9.0.89 tomcat9
sudo rm apache-tomcat-9.0.89.tar.gz 

環境変数の設定

Tomcatのディレクトリを環境変数に追加します。

sh
echo 'export CATALINA_HOME=/opt/tomcat9' | sudo tee -a /etc/profile
source /etc/profile

Tomcatの起動スクリプトを作成

Tomcatをサービスとして管理するために、システム起動スクリプトを作成します。

sh
sudo vi /etc/systemd/system/tomcat9.service

以下の内容を追加します:

ini
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
Environment=CATALINA_PID=/opt/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat9
Environment=CATALINA_BASE=/opt/tomcat9
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh

User=pi
Group=pi
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Java環境パス設定

JAVA_HOME環境変数が正しく設定されているか確認します。正しく設定されていない場合、TomcatがJavaを見つけられないため起動に失敗します。
sh
echo $JAVA_HOME

期待される出力はJavaのインストールディレクトリです。もし出力されない場合、正しいディレクトリを設定します。

sh
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64

パーミッションの確認

Tomcatディレクトリおよびファイルのパーミッションが正しく設定されているか確認します。Tomcatユーザーが必要なファイルにアクセスできるようにします。

sh
sudo chown -R pi:pi /opt/tomcat9
sudo chmod -R 755 /opt/tomcat9

サービスのリロードとTomcatの起動

サービスをリロードし、Tomcatを起動します。

sh
sudo systemctl daemon-reload
sudo systemctl start tomcat9
sudo systemctl enable tomcat9

以下のコマンドで動作確認します。

sh
sudo systemctl status tomcat9
● tomcat9.service - Apache Tomcat Web Application Container
     Loaded: loaded (/etc/systemd/system/tomcat9.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-06-19 15:17:56 JST; 4min 9s ago
   Main PID: 1712 (java)
      Tasks: 31 (limit: 3919)
        CPU: 17.409s
     CGroup: /system.slice/tomcat9.service
             └─1712 /usr/lib/jvm/java-17-openjdk-arm64/bin/java -Djava.util.logging.config.file=/opt/tomcat9/conf/logging.pro>

Tomcatの動作確認

ブラウザを開き、http://<RaspberryPiのIPアドレス>:8080にアクセスしてTomcatのデフォルトページが表示されるか確認します。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

関連記事