QNAP上にGroupSessionを立ち上げる話

皆様、グループウェアって使っていますか?

私は使っていません!どーーん!

仕事では使っています、今回は無料・国産のグループウェアGroupSessionをQNAP(NAS)にて動作させます。

しばらくご無沙汰だったtomcatの勉強です。
ま、実際はjavaソースは触りませんのでtomcatにwarに入れるだけです。

Group Sessionの動作環境をはじめにチェックします

JavaAdopt Open Java Development Kit 11(推奨)
Java Development Kit 11
J2EEコンテナTomcat7,8.5,9

https://groupsession.jp/products/gs_free.html

Tomcat 8.5でも良かったのですが、今回はTomcat 7を利用します。

Tomcat 7.0.107 : 2020-11-23 release なので、枯れているとは言われませんねw

http://tomcat.apache.org/tomcat-7.0-doc/changelog.html#Tomcat_7.0.107_(violetagg)

早速、QNAP(NAS)のContainerを作成します。

tomcat/tomcat:7

現在、入っているのは、以下です
JAVA_VERSION : 8u275
TOMCAT_VERSION : 7.0.107

次に… 8888ポートを利用します。tomcatは8080ポートに送ります

Gsessionを取得して配置します…

端末に入り…

# wget https://www.sjts.co.jp/download/gs/4.8.2/gsession.war 

はい、最新の4.9系ではありません、古い4.8系を使います。

と言うのも、Tomcat 7系を使っているからです。

次にwarパッケージをインストールします。

# mv gsession.war webapps/ 

はい、webappsにwarを入れるだけで、インストールは完了です…

しばらくして、:8888ポートにアクセスすると…

やったぁ〜〜〜!!!!!入りました。

これで、グループがウェアできます!一人だけれどもw

はい、QNAPには結構簡単に入りました。

次のネタですが… ここがポイントです。
CentOS 7.9にインストールします!

え?普通に入るのでは?と思うでしょう。
先のQNAPでのインストールでの調査でローカル環境で試行錯誤していました

さっそく、綺麗なCentOSを作ります。
Vagrantでvirtual boxを使うのが、便利ですw

作業ディレクトリを作って、 Vagrantです

vagrant init centos/7

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "forwarded_port", guest: 8080, host: 8888
end

これでできあがりです…

vagrant up

はい、エラーになります。

No package kernel-devel-3.10.0-1127.el7.x86_64 available.
Error: Nothing to do
Unmounting Virtualbox Guest Additions ISO from: /mnt
...
    default: in which case you may ignore this message.
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

umount /mnt

Stdout from the command:



Stderr from the command:

umount: /mnt: not mounted

Vagrantのバグです。気にしないでください…
Virtualbox Guest Additions ISOを入れようとして、kernelのバージョンが一致しない問題です。yumが新しいkernelを提供しているために発生しています… 2ヶ月くらい悩んでいます。
(destroy -> ) init -> up でしか発生しないので、普通に開発していたら… 気づかない系です。
激烈詳しいw やっとチケットが出たので近々に修正が出てくれるのでしょう

https://github.com/hashicorp/vagrant/issues/12095

さて、で… 普通にsshで入れます… ( ※ shareは使えません。)

vagrant ssh

さて、次にCentOS 7.9のyumでのtomcat,javaそれぞれの提供バージョンをチェックします。

# yum search openjdk
...
java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
$ yum search tomcat 
...
tomcat.noarch : Apache Servlet/JSP Engine, RI for Servlet 3.0/JSP 2.2 API

$ yum info tomcat
...
Available Packages
Name        : tomcat
Arch        : noarch
Version     : 7.0.76
Release     : 16.el7_9

java 1.8.0 , tomcat 7.0.76です。

早速インストールします

$ yum install java tomcat

次に、パッケージを取得します。
QNAPでも書きましたが、古いバージョンを使います。

こちらから古いバージョンは取得できます…

https://groupsession.jp/dl/old_download.html

はじめは4.9系を全部調べてみましたが…

GSHttpSessionListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class jp.groupsession.v2.cmn.GSHttpSessionListener)

はい、要求 55.0 / 動作 52.0となります。/var/log/tomcat/gsessionにありました。

で、悩んでいましたが… 4.8を見つけましたw
旧バージョン提供ページの中で4.9.5 : 提供終了で終わりだと思っていましたが、もっと古いのが下にありました。

早速、4.8系の最新4.8.2を使います。

# wget https://www.sjts.co.jp/download/gs/4.8.2/gsession.war

インストールします

# mv gsession.war  /usr/share/tomcat/webapps/

しばらくして、

http://localhost:8888/gsession/

そして、表示されます。OK!

さて、さて、超まとめましたが、大体… 3時間ほど悩みました。

ちなみに、tomcat 9なら速攻で終わります。
堕落者のツール yumを使うなら、gsession 4.8系を使うとOKです

と、なんで堕落者のツールyumを使うかというと、仕事で使っているからです。
yum楽だもん!w
社内システムなのでやれ、java上げろとかtomcatあげれとか、面倒くさいです。本業じゃないしw

と、問題はこれだけではなく、運用で使っているgsessionですが… サーバを間違えていることを先日気づきましたw

グループウェアの導入検討で動作検証用(開発用)のサーバにインストールして、これでOK!と決着して、そのまま使ってしまってました…
先日書きましたCentOS 6.10から7.9へのアップグレード検証で…
上げた後、tomcatを自動起動させていなかったので気づきましたw
ついでに… 仮想サーバのリソースが開発サーバの割当を下げようと考えていたりします。(もうメモリないの;;)

バックアップファイルを定期的に作ってくれる機能がありますのでそれをそのまま適用すればOKかと思います

で、導入しようとしているサーバでtomcatを起動すると…
8080ポートが既に使われている… 8888ポートに変更すると使われている 18888略…
絶対おかしい!と言う事でその辺りの調査もしなきゃだし

java.net.BindException: Permission denied <null>:8080

QNAPで、centosを入れて、tomcatを起動すると

# systemctl start tomcat                                                                                     
Failed to get D-Bus connection: Operation not permitted   

特権モードを設定する設定はコンテナ時

これでも、先ほどのエラーとなります。

この辺りは、要調査ですね。

要調査やでぇ〜〜〜