フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:00_インストール・設定
/velocity.logについて
[ 7430 ] /velocity.logについて

「java.lang.ClassCastException」が解消できない
という質問を挙げていたものです。
上記の件、
OS:CentOS7.8
Apache Tomcat 9.0.39
AdoptOpenJDK11.0.9.1+1
の環境で、
・/etc/systemd/system/tomcat.serviceにて起動ユーザーをtomcatにしていると
クライアントからGroupsessionを見ようとした時、上記のエラーが発生
この時、catalina.outの中に、/velocity.logに書き込めない、というエラー
・/etc/systemd/system/tomcat.serviceにて起動ユーザーをrootにすると、
上記エラー、/velocity.log書き込みのエラーが発生せず、
クライアントからGroupsessionにAdminログインできた
・# chown tomcat. /velocity.logを実行して、
/etc/systemd/system/tomcat.serviceにて起動ユーザーをtomcatに戻し、
サービス起動したところ、同じくエラー発生せず、
クライアントからGroupsessionにAdminログインできた。
と、求めていることができるようになったと見えるのですが、これで正しいのか?と疑問に思っております。
わざわざ、/velocity.logのオーナーを変えなければならないというのが不自然で、
調べたところ、velocity.logは「カレントディレクトリに吐き出されるもの」と、
http://java.akjava.com/library/jakarta-velocity/log
https://lets-try-simo2.net/velocity-linux/
といった処に書かれておりましたが、
/に書き込もうとしてtomcatユーザーははねられてしまったようです。
何か設定すべき項目があったのでしょうか。

投稿者tomneko
最新書き込み2020/12/24 13:31:18
[ 7432 ] Re: /velocity.logについて

Debianでも同じことが起こりましたが、おそらくtomcatユーザーのホームディレクトリが/になっているのではと思います。
具体的な意図まではわかりませんが、何か理由があってそうなっているのでしょう。
しかし、tomcatユーザーが/に書き込み権限を持つのはいいこととは思えません。

案1:Velocityをバージョンアップして試す
案2:Velocityのログを出力しない
案3:Velocityのログを適切な場所に出力するように設定する

ここまではソースの変更とリビルドが必要です。

案4:tomcatユーザーのホームディレクトリを変更する(副作用の可能性)
案5:tomcatの別バージョン(8.5?)のパッケージでホームディレクトリが違うことを期待する

私は2を試してうまくいきましたが、適切とは限りません。

投稿者デイル
最新書き込み2020/12/27 10:42:05
[ 7467 ] Re: /velocity.logについて

CentOS 8 のサポート終了アナウンスを受けて ubuntu へ乗り換えました。
その過程で同様の現象に見舞われました。なぜそうなるのか、への理解が
全然でお恥ずかしいのですが、取り急ぎのご報告です。あわよくば識者の
解説が頂けるとうれしいな、などと下心を抱きつつ。

 OS ubuntu 20.04 LTS

## adoptopenjdk インストール
add-apt-repository --yes ppa:rpardini/adoptopenjdk
apt -y install adoptopenjdk-11-jdk-hotspot-installer

## tomcat9 インストール
apt -y install tomcat9
※ /etc/default/tomcat9 へ JAVA_HOME=/usr/lib/jvm/adoptopenjdk-11-jdk-hotspot 追記

## Groupsession インストール
systemctl stop tomcat9
cp gsession.war /var/lib/tomcat9/webapps
systemctl start tomcat9

上記手順ですんなりインストールできたのですが、adoptopenjdk インストールのくだりを
apt -y install adoptopenjdk-11-installer とやると、velocity.log 関連エラーで
gsession が起動できませんでした。

投稿者丸三
最新書き込み2021/04/05 11:35:42
[ 7469 ] Re: Re: /velocity.logについて

> CentOS 8 のサポート終了アナウンスを受けて ubuntu へ乗り換えました。
CentOSに慣れているなら、一旦7に戻す選択肢もあります。
8よりも長く、2024/6/30まで使える予定です。

> ※ /etc/default/tomcat9 へ JAVA_HOME=/usr/lib/jvm/adoptopenjdk-11-jdk-hotspot 追記

この記述が有効でないか、このパスに権限がない可能性があります。
通常の書き込み先はtomcat起動ユーザーのhome(psでユーザーを確認して/etc/passwdでhomeを確認)です。

なお、tomcat9をパッケージで入れることでopenjdk系のパッケージが自動でインストールされている可能性が高いです。
複数のjdkをインストールしている場合、どのjdkが使用されるかはalternativesパッケージで管理されているかもしれません。

投稿者デイル
最新書き込み2021/04/06 12:56:26
[ 7472 ] Re: /velocity.logについて

デイル様

ご返信ありがとうございます。
エラーの出る条件を確認しようと、先に記載の手順をOSのクリーンインストールから行ってみたのですが

・・・すみません、インストールパッケージに adoptopenjdk-11-jdk-hotspot-installer を指定しても
adoptopenjdk-11-installer を指定してもエラーは出ず、Groupsessionが正常に実行できてしまいまし
た。

エラーの出る環境はつぶしてしまったので、さて何がいけなかったのか今となっては不明です。
ご指摘のように、libtomcat9-java とか余計なものを一緒に入れていたのかもしれません。

間違った話でお時間を取らせ、申し訳ありません。

※ OSにubuntuを選んだのは、引継ぎ用の立ち上げ手順書作るにあたって aptで色々済ませられる方が
 楽かな、という横着な考えからです、ハイ。

投稿者丸三
最新書き込み2021/04/06 17:01:28
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=2695
 


TOP