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のデフォルトページが表示されるか確認します。