思い立った時の記録

日々の生活で得た情報をお届け

Raspberry Pi で NAS 環境を構築する[Git サーバー編]

[前回]

【第一弾】 ラズパイで2本のUSBメモリーを使用し、RAID1のミラーリングを構築しました。 ashx.hatenablog.com

【第二弾】 RAIDを構築した上に、Samba共有サーバーを構築しました。

ashx.hatenablog.com

[今回]

第三弾で RAID & Samba 上にGit(GitBucket)サーバーを構築します。

[JAVA インストール]

まずは apt で JAVA をインストール(OpenJDK 11)

$ sudo apt install -y openjdk-11-jdk

インストール完了したら、バージョンを確認

pi@raspberrypi:~ $ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Raspbian-1deb10u1)
OpenJDK Server VM (build 11.0.11+9-post-Raspbian-1deb10u1, mixed mode)

[GitBucket インストール]

Git 用のフォルダを作成

cd ~/Share
sudo mkdir gitbucket
cd gitbucket/

以下のサイトで最新版のバージョンを確認(この時は「4.35.3」だった) https://github.com/gitbucket/gitbucket/releases

最新版の GitBucket をダウンロード

sudo wget -O gitbucket.war https://github.com/gitbucket/gitbucket/releases/download/4.35.3/gitbucket.war

[GitBucket 設定]

git で使用する作業フォルダを作成し、権限の付与と所有者などを変更する。

sudo mkdir /home/pi/Share/gitbucket/data
sudo chmod -R 777 /home/pi/Share/gitbucket/data/
sudo chown -R pi:pi /home/pi/Share/gitbucket/data/

ラズパイ起動時に、自動で GitBucket が動作できる様に登録する。

nano コマンドで設定ファイルを開く。

$ sudo nano /etc/rc.local

開いたら最下部に以下の1行を追記する。(「exit 0」の上)

java -jar /home/pi/Share/gitbucket/gitbucket.war --gitbucket.home=/home/pi/Share/gitbucket/data --port=8080 &

設定できたら cat コマンドで確認する。

pi@raspberrypi:~ $ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
java -jar /home/pi/Share/gitbucket/gitbucket.war --gitbucket.home=/home/pi/Share/gitbucket/data --port=8080 &
exit 0

[完了]

最後に、ラズパイを再起動させて動作確認します。

$ sudo reboot

再起動したら、ラズパイのIPアドレス:8080を付けてブラウザからアクセスします。

例:http://192.168.0.46:8080

あとは普通に GitBucket を使うだけです。 まずは root でログインして必要に応じユーザー登録など行いましょう。

f:id:ashx:20210718192647p:plain