グループウェアGroupSessionのインストール【Java(Temurin)とTomcat編】

Apache Tomcat Apache+Tomcat

はじめに

長年グループウェアとして、日本トータルシステム株式会社さんのGroupSession無料版を利用させてもらっています。
現在GroupSessionはオンプレのCentOS7上で使っていますが、新サーバーRockyLinuxへの移設に伴いGroupSessionもバージョンアップしたいと思い、Javaのインストールからやり直したので、その手順をメモしておきます。

長文なので今回はJava(Temurin)とTomcatのインストールまで。

サーバ環境と各ソフトバージョン

OS : Rocky Linux release 8.6
Apache : 2.4.37
Java : Adoptium OpenJDK Temurin-11.0.17+8
Tomcat : 9.0.70
GroupSession : Ver.5.3.0

Javaバージョンが最新ではないです。
GroupSession公式のインストール手順ページに記載されている推奨バージョンでやっていきます。

https://groupsession.jp/support/setup_linux.html

Java(OpenJDK Temurin)インストール

ちょっと古いJava11(OpenJDK Temurin11)をインストールしたいので、dnfだとVer.19が入ってしまうので、GitHubからバージョン指定でダウンロードしてきます。
インストール先は「/usr/local/java」にするので、後でjavaコマンドの環境変数の設定が必要です。

Java設置フォルダ作成

※dnf(yum)でインストールしない場合、どこに設置するのが正解なのかがいつも分からない。


[root@sv02 ~]# mkdir /usr/local/java
[root@sv02 ~]# cd /usr/local/java

Javaファイルをダウンロード

ダウンロードしてきて展開


[root@sv02 ~]# wget https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.17%2B8/OpenJDK11U-jdk_x64_linux_hotspot_11.0.17_8.tar.gz
[root@sv02 ~]# tar zxvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.17_8.tar.gz

展開したJavaの中身を移動

展開したフォルダ名が「jdk-11.0.17+8」になり、jdkも嫌だし名前にプラス記号が入っているのも嫌だし、「/usr/local/java/jdk-11.0.17+8」と階層が1つ無駄に多いのでJavaの中身を移動。


[root@sv02 ~]# mv ./jdk-11.0.17+8/* ./
[root@sv02 ~]# rm -rf ./OpenJDK11U-jdk_x64_linux_hotspot_11.0.17_8.tar.gz
[root@sv02 ~]# rm -rf ./jdk-11.0.17+8
[root@sv02 ~]# cd

Javaの環境変数の設定

dnf(yum)でインストールせず、自分で好きな場所にインストールしたのでjavaコマンドが使えるように環境変数の設定をする。

環境変数の設定は「~/.bash_profile」や「~/.bashrc」にする場合もあるみたいだが、RockyLinux上のどのユーザーでも実行できた方がいいと思うので、今回は「/etc/bashrc」に設定しました。

[root@sv02 ~]# vi /etc/bashrc
----------
# Java Temurin JDK
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export PATH
----------
[root@sv02 ~]# source /etc/bashrc

Javaコマンドの確認


[root@sv02 ~]# which java
/usr/local/java/bin/java
[root@sv02 ~]# java --version
openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment Temurin-11.0.17+8 (build 11.0.17+8)
OpenJDK 64-Bit Server VM Temurin-11.0.17+8 (build 11.0.17+8, mixed mode)

Tomcatインストール

Tomcatも最新では無く、Ver.9で行きたいのでソースコードをダウンロードしてきて好きな場所に設置する感じです。
「/usr/local/java/bin/java/」の下に設置します。

Tomcatファイルをダウンロード

これも展開したフォルダ名が長いので名前変更します。


[root@sv02 ~]# cd /usr/local/java/
[root@sv02 ~]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.70/bin/apache-tomcat-9.0.70.tar.gz
[root@sv02 ~]# tar zxvf apache-tomcat-9.0.70.tar.gz
[root@sv02 ~]# mv ./apache-tomcat-9.0.70 ./apache-tomcat
[root@sv02 ~]# rm -rf ./apache-tomcat-9.0.70.tar.gz

Tomcatの環境変数の追加

Javaの時と同じファイルに追記する。


[root@sv02 ~]# vi /etc/bashrc
----------
# Java Temurin JDK
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
# Apache-Tomcat
export CATALINA_HOME=/usr/local/java/apache-tomcatcat
export PATH
----------
[root@sv02 ~]# source /etc/bashrc

Tomcatの起動と確認

TomcatはPort8080なので、確認前にFirewall(iptables)やルーター側でポート許可されているか要確認

ウチはSophosUTMがあるので、そっちのFirewallで許可して、NATでポート転送が必要。

[root@sv02 ~]# /usr/local/java/apache-tomcat/bin/startup.sh

確認は、http://123.123.123.123:8080/にアクセス。
起動ログは「/usr/local/java/apache-tomcat/logs/」配下にある。
Tomcat停止コマンドは「/usr/local/java/apache-tomcat/bin/shutdown.sh」

TomcatのServiceを作成

起動や停止で毎回「/usr/local/java/apache-tomcat/bin/startup.sh」を打つのも面倒なので、systemctlコマンドで起動や停止が出来るようにsystemctlで起動できるようにする。

Tomcatサービス用の環境変数定義ファイル作成


[root@sv02 ~]# vi /etc/sysconfig/tomcat
--------
# Temurin JDK
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/java/apache-tomcat
CATALINA_PID=/var/run/catalina.pid
#CATALINA_OPTS='-Xmx2048m -Xms1024m'
--------
[root@sv02 ~]# 
source /etc/sysconfig/tomcat

Tomcatサービス用の起動スクリプト作成


[root@sv02 ~]# vi /etc/systemd/system/tomcat.service
--------
[Unit]
Description=Apache Tomcat Servlet Container
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
PIDFile=/var/run/catalina.pid
ExecStart=/bin/bash -c "${CATALINA_HOME}/bin/startup.sh"
ExecStop=/bin/bash -c "${CATALINA_HOME}/bin/shutdown.sh;/usr/bin/tail -f /dev/null --pid=`cat /var/run/catalina.pid`"
KillMode=none

[Install]
WantedBy=multi-user.target
--------
[root@sv02 ~]# systemctl restart httpd
[root@sv02 ~]# systemctl start tomcat

OS起動時に本サービスも自動起動するように設定


[root@sv02 ~]# systemctl enable tomcat

まとめ

今回は以上になります。
GroupSession本体のインストール長くなりそうなので別記事で書く予定です。
GroupSessionは1サーバ上で2ドメインで使うかもしれないので、各ドメインごとにJavaAppsの設置場所を分けたり、80ポートでもアクセスできる様にしたいと考えています。

追記

GroupSession本体のインストール手順はアップしました。
グループウェアGroupSessionのインストール【GroupSession本体編】

コメント