RaspberryPi3の時と同様にお家内にGitサーバーを立てる。

もちろん、GitBucketで。

但し、今回はTomcat使わない。メンドイので。

Javaのインストール

GitBucketはJavaの上、厳密に言うととJavaVM上で動くScala言語で書かれているらしいので、JavaVMが欲しいがためにJavaをインストールする。

ただ、最近のJavaは9以降はOracleJavaが有償になったり、それに伴ってOpenJDKやらAdoptOpenJDKやらCorrettoやらと、色々なJDKが出てきて決定的なLTS(LongTermSupport)版が無いのかな?

もうよく分らんよ、Java回り。。。

というわけで、最新版にこだわらずインストール可能なものを入れていく。

そんでもって最近のラズパイでJavaをインストールするときは、以下のコマンドで実施するらしい。

pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt list --upgradable
pi@raspberrypi:~ $ sudo apt install default-jdk

これだけでインストールできる。

で、インストールされたバージョンを確認すると、、、

pi@raspberrypi:~ $ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Raspbian-3deb10u1)
OpenJDK Server VM (build 11.0.7+10-post-Raspbian-3deb10u1, mixed mode)
pi@raspberrypi:~ $ javac -version
javac 11.0.7

というわけで、インストールされたJavaのバージョンは11でした。

GitBucketのインストール

さて、GitBucketの最新版を調べてみるとVer.4.33.0。

https://github.com/gitbucket/gitbucket/releases

Raspbian上でのインストール先というか置く場所は/opt/gitbucketに決めた。

というわけで、最新のgitbucket.war取ってくる。

pi@raspberrypi:~ $ cd /opt
pi@raspberrypi:/opt $ sudo mkdir gitbucket
pi@raspberrypi:/opt $ cd gitbucket/
pi@raspberrypi:/opt/gitbucket $ sudo wget -O gitbucket.war https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
:
:
gitbucket.war       100%[===================>]  54.75M   767KB/s    in 90s

2020-06-15 15:39:50 (621 KB/s) - ‘gitbucket.war’ saved [57407895/57407895]

なんか時計が合ってないが、DL完了。chrony?ntp?は後で設定する!

そんじゃ動かす。いや、その前に。

前回USBメモリーをストレージとして導入したので、GitBucketのデータはそこに保存したいのでディレクトリ作成する。

pi@raspberrypi:~ $ cd /data
pi@raspberrypi:/data $ sudo mkdir gitbucket

動かす。

pi@raspberrypi:/opt/gitbucket $ java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/data/gitbucket/ --port=8081 &

–gitbucket.home=/data/gitbucket/を付けることでデータディレクトリを指定できる。

あとデフォルトではポートは8080らしいけど今後何か動かす時を考えて試しに8081にして動くかやってみた。

で、ブラウザーから以下のURLにアクセス。

http://192.168.0.11:8081/

そしたらこんな画面。

だめじゃん!

で、TeraTerm上のコンソールにエラーメッセージ出ていて

2020-06-15 15:58:44.003:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@1e547da{/,null,UNAVAILABLE}{file:/opt/gitbucket/gitbucket.war}
java.lang.IllegalStateException: Temp dir /data/gitbucket/tmp not useable: writeable=false, dir=false

うほ、すいません、/data/gitbucketに権限付け忘れました。。。

なので今動かしたgitbucketを一旦kill!

pi@raspberrypi:/data $ ps aux | grep [j]ava
pi        5137 11.3  4.6 1211772 185812 pts/0  Sl   19:15   1:01 java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/data/gitbucket/
pi@raspberrypi:/data $ sudo kill -9 5137
pi@raspberrypi:/data $ !p
ps aux | grep [j]ava
pi@raspberrypi:/data $

そんでもって/data以下の権限とオーナーを変更。

pi@raspberrypi:/data $ cd /
pi@raspberrypi:/ $ sudo chmod -R 777 /data/
pi@raspberrypi:/ $ sudo chown -R pi:pi /data/
pi@raspberrypi:/ $ ls -la
total 112
drwxr-xr-x  22 root root  4096 May 23 21:16 .
drwxr-xr-x  22 root root  4096 May 23 21:16 ..
:
drwxrwxrwx   4 pi   pi    4096 Jun 15 19:15 data
:

再度動かす。

pi@raspberrypi:/opt/gitbucket $ java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/data/gitbucket/ --port=8081 &

http://192.168.0.11:8081/にアクセス。

画面出た。

自動起動設定

ラズパイを起動したら自動でGitBucketが起動するようにrc.localに書いておく。

pi@raspberrypi:/data/gitbucket $ sudo vi /etc/rc.local

    :
    java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/data/gitbucket/ --port=8081 & # ←追記
    :

GitBucketを(少し)触る

本当にGitBucketが動いているのか、もう少し動作確認。

右上の「Sign in」をクリックしてログイン画面へ。

初期のUsername/Passwordはroot/root。

入れた。

ログイン後画面の右上のプルダウンメニューから「System Administration」を選択してrootユーザーをEditしてPasswordを変更しておく。

パスワードは20文字超えるとダメみたい。20文字以内で。(あ、Imageも変えました。)

右上メニューの「Sign out」のあと、再度ログインして右上メニューの「Your profile」をクリックして表示した画面。

新しいパスワードでログインもできたし、rootユーザーのイメージも変わってるし、新しいリポジトリは作成していないけれども、まぁ「動いている」って判断して良いんじゃぁないだろうか。

まとめ

よし、今日は終了。