Edited at
FreeBSDDay 4

FreeBSDにGitbucketを構築

FreeBSD 11.2にGitbucketをインストールします。

Qiitaを検索するとtomcatを使った記事が何個かありましたが、

Gitbucketはtomcatのインストール無しで起動できるのでtomcat無しで構築します。

(ちなみにMySQL無しでもH2databaseで使えます)


環境

ソフトウェア
バージョン

FreeBSD
11.2

MySQL
5.7.24

Gitbucket
4.29.0

最初はMySQL8で試みたがgitbucketの起動時に下記のエラーが出力されて無理だったのでMySQL5.7にしました

java.sql.SQLException: (conn=13) Failed to add the foreign key constraint. Missing index for constraint 'IDX_ISSUE_COMMENT_FK0' in the referenced table 'issue'


pkg を使う準備と必要な pkg をインストール

OSを素でインストールした直後からの手順です。全部rootで作業しています。

# pkg update

# pkg install -y openjdk8 mysql57-server ca_root_nss

ca_root_nss は fetch で gitbucket.war をダウンロードする時に必要(https)


MySQLのインストール&起動&rootユーザのパスワード設定

# sysrc mysql_enable="YES"

# /usr/local/etc/rc.d/mysql-server start
# mysqladmin password 'tekito-pass' -u root -p`tail -1 /root/.mysql_secret`


MySQLのgitbucket用DB&ユーザ作成

# mysql -u root -p'tekito-pass'

mysql> CREATE DATABASE gitbucket;
mysql> CREATE USER 'gitbucket_user'@'127.0.0.1' IDENTIFIED BY 'gggppp';
mysql> GRANT ALL ON gitbucket.* TO 'gitbucket_user'@'127.0.0.1' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;


GitbucketのDB用設定ファイルを作成

# mkdir -p /home/gitbucket

# cat /home/gitbucket/database.conf
db {
url = "jdbc:mysql://127.0.0.1/gitbucket?useUnicode=true&characterEncoding=utf8"
user = "gitbucket_user"
password = "gggppp"
}


Gitbucketのダウンロード

# fetch -o /home/gitbucket/gitbucket.war https://github.com/gitbucket/gitbucket/releases/download/4.29.0/gitbucket.war


Gitbucketの起動

# /usr/local/bin/java -jar /home/gitbucket/gitbucket.war --port=8080 --gitbucket.home=/home/gitbucket/

これでWebブラウザから下記を開けばGitbucketが使えます

http://サーバのIPアドレス:8080/

※ユーザー:root、パスワード:rootでログイン可能


おわりに

実運用する人はgitbucket用のユーザーや起動用スクリプトなどを作成したほうが良いので下記を参考に...

https://blog.bixr.com/2014/11/795/