組み合わせはこんな感じ。
Gitbucket 4.32.0 Tomcat 8.5.43(www/tomcat85) FreeBSD 11.3
Portsからtomcat85入れてgitbucket.war引っ張ってきてサクッと…動きません。
Webに散らばってる情報が、いまいち役に立たなかった、FreeBSD故に…。
「Tomcat実行ユーザーの$homeを指定しましょう」
Linux系の記事で見掛けるあるあるネタ。
Gitbucketは環境変数の$homeに設定ファイル作りに行くんで、サービス専用ユーザーで/noexist指定だったりすると、設定ファイル作れずに起動でコケるんです。
FreeBSDの場合、pkg/Portsから入れたtomcatはwww(uid=80)で動くんで、passwdファイル編集してwwwユーザーのhomeディレクトリを設定…しても動きません。
エラーログ見ると”/root/.gitbucket”が作れないって宣ってる。
「$homeは/rootだけど実行権限はwww」なんてことになってるようで、そりゃぁ無理ってもんだ。
「bin/setenv.shで”GITBUCKET_HOME”を指定しましょう」
以下にあったネタ。
GitHub cloneのgitbucketをFreeBSDにインストールしたときのメモ
https://qiita.com/kkimura/items/f51303d3beba02e3e781
ちょっと内容が古くて、今時のFreeBSD/pkgからインストールするTomcatでは、setenv.sh作っても無駄っぽい。
service(/usr/local/etc/rc.d/tomcat85)から起動すると、そもそもbin/以下のスクリプト使ってないっぽくて、setenv.shも呼ばれない。
昔は呼んでたの?
結局…
そんなわけで、pkgの起動スクリプト見ても、GITBUCKET_HOMEを設定させるうまい方法が思い付かなかったんで、/root/.gitbucket作ってchmod www:wwwするっていう、何だかなぁ…って対応に。
ピンバック: GitbucketをFreeBSDのTomcatで動かそうとしてでハマる(その2) – 人生という名の酷道で遭難中