0
0

『GroupSession』無料版導入「インストールガイド:Linux + Tomcat」の個人的補足

Last updated at Posted at 2024-05-13

はじめに

GroupSession』とは、
日本トータルシステム株式会社さんが提供されている、
無料・ユーザ数無制限からスタートできるグループウェアです。
無料版から有料版へのデータ移行も考慮されています。

※1~4 2024.1.23に実施。
※5~7 2024.5.13~2024.6.2に実施。

1. 「AlmaLinux 8」「OpenJDK 11」「Tomcat 9」を選択

$ cat /etc/redhat-release
AlmaLinux release 8.6 (Sky Tiger)

OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz
apache-tomcat-9.0.85.tar.gz
gsession.war

※VPSは「WebARENA Indigo」のCPU:2コア、メモリ2GBを選択しました。

※インストール自体は、このインストールガイドに従えば進められましたが、以下の設定を行わないと運用に入れませんでした。

2. 「.bash_profile」の修正(/root/.bash_profile)

「/root/.bash_profile」全体

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
JAVA_HOME=/usr/local/java/jdk-11.0.22+7
PATH=$JAVA_HOME/bin:$PATH
export JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom'	#(2)#
CATALINA_HOME=/usr/local/java/apache-tomcat-9.0.85
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_OPTS='-Xmx1024m -Xms512m'					#(1)#
export PATH

(1)「OutOfMemoryError」への対処

export CATALINA_OPTS='-Xmx1024m -Xms512m'

インストールガイドから引用抜粋)

Tomcatのメモリ割り当て
「OutOfMemoryError: Java heap space」や「OutOfMemoryError: PermGen space」が発生した場合に参考にして下さい。

設定する値は下記を目安にしてください。
・メモリ最大使用量(-Xmx)搭載メモリの半分程度
・メモリ初期使用量(-Xms)Xmxで指定した数値の半分位
例として搭載メモリが2Gの場合は「-Xmx1024m -Xms512m」になります。

(2)Tomcatの起動が遅い件への対処

export JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom'

起動が遅いなと思い、起動できてから見てみるとcatalina.outに次のログが記録されていましたので、

$ sudo tail -f /usr/local/java/apache-tomcat-9.0.85/logs/catalina.out
︙
org.apache.catalina.startup.Catalina.start Server startup in [37130] milliseconds

以下に記載の対処を行って起動時間の改善をしました。

3. OS起動時にTomcatを自動起動するようにする(/etc/rc.d/rc.local)

「/etc/rc.d/rc.local」の行末に次の2行を追記する。

source /root/.bash_profile
/usr/local/java/apache-tomcat-9.0.85/bin/startup.sh

4. GroupSessionのシステム時間の同期とタイムゾーンを合わせる

$ sudo timedatectl set-timezone Asia/Tokyo

5. Tomcat と Apache連携

(1)Apacheインストール

$ sudo rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
$ sudo dnf install httpd
$ sudo systemctl enable httpd
$ sudo systemctl restart httpd

・ApacheとTomcatで同じサーバで動作させる場合

(2)Tomcatの設定ファイル(server.xml)を編集
$ sudo vi /usr/local/java/apache-tomcat-9.0.85/conf/server.xml

【変更前】

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    -->

【変更後】

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector protocol="AJP/1.3"
               port="8009"
               redirectPort="8443"
               secretRequired="false" />

(3)Apacheの設定ファイル(httpd.conf)を編集

$ sudo vi /etc/httpd/conf/httpd.conf

#----------最終行に追記します----------#

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
<Location /gsession >
ProxyPass ajp://localhost:8009/gsession
</Location>

(4)SELinuxを記録のみにする
 ※SELinuxが有効のままだった際にHTTPが開かず502エラーになってしまいTomcatとの連携がとれていないのかと勘違いした。

$ sudo vi /etc/selinux/config

SELINUX=permissive
$ sudo reboot

(補足:現時点TomcatとApacheの再起動コマンドは次の通り → Tomcatはサービス化すべきか。)

$ source /root/.bash_profile
$ bash /usr/local/java/apache-tomcat-9.0.85/bin/shutdown.sh
$ bash /usr/local/java/apache-tomcat-9.0.85/bin/startup.sh

$ sudo systemctl restart httpd

(これはまだ実施していません。)

6. https対応(自己証明書)

$ sudo dnf update openssl
$ openssl version

$ cd /etc/pki/tls/certs

# 有効期限が 3650日(約 10 年)の自己署名証明書を作成 #
$ sudo openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,DNS:*.*,DNS:*" -keyout localhost.key -out localhost.cer

$ sudo dnf install mod_ssl

$ sudo systemctl restart httpd

7. https対応(Let's Encryptの証明書を使う)

  • (Server World様) AlmaLinux 9 : Apache httpd : SSL/TLS の設定
    • ※前章でmod_sslはインストールしてあるので、
      /etc/httpd/conf.d/ssl.confの編集(Let's Encryptで取得した証明書のパスに書き換え)から実施。
      (編集後)
      $ sudo systemctl restart httpd

(続く)

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0