GitBucketをインストールする

AlmaLinux9 + Apache + PsotgreSQL + GitBucketの組み合わせです。

//javaインストール
$ sudo dnf install java-17-openjdk
  :
  :
$ java --version
openjdk 17.0.12 2024-07-16 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.12.0.7-1) (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.12.0.7-1) (build 17.0.12+7-LTS, mixed mode, sharing)


//ユーザ作成
$ sudo useradd gitbucket
$ sudo su - gitbucket


//最新版のGitBucket取得して/home/gitbucketに配置
...省略


//使用DBをPostgreSQLに変更する前準備(ユーザ:postgres)
$ createuser gitbucket
$ psql
=# CREATE DATABASE gitbucket OWNER gitbucket;
=# \l
                                        データベース一覧
   名前    |  所有者   | エンコーディング | 照合順序 | Ctype(変換演算子) | [省略] |   アクセス権限
----------+----------+---------------+---------+-----------------+--------+------------------
 gitbucket | gitbucket | UTF8        | C       | C               |        |
 postgres  | postgres  | UTF8        | C       | C               |        |
 template0 | postgres  | UTF8        | C       | C               |        | =c/postgres [省略]
 template1 | postgres  | UTF8        | C       | C               |        | =c/postgres [省略]
(4 行)


//試しに起動 ... このタイミングで~/.gitbucketができる
$ java -jar gitbucket.war
$ kill xxxx


//使用DBをPostgreSQLに変更(ユーザ:gitbucket)
$ cd ~/.gitbucket
$ cp database.conf database.conf.orig
$ vi database.conf
$ cat database.conf
db {
  url = "jdbc:postgresql://localhost/gitbucket"
  user = "gitbucket"
  password = "DUMMY" # ダミー(設定してないと起動しない)
}


//試しに起動 .... webブラウザから8080ポートで確認する
$ java -jar gitbucket.war

//PostgreSQLにGitBucket用テーブルができているか確認する
$ psql
=> SELECT current_database(), current_user;
 current_database | current_user 
------------------+--------------
 gitbucket        | gitbucket
(1 行)

=> \d
                            リレーション一覧
 スキーマ |                名前                |   タイプ   |  所有者   
----------+------------------------------------+------------+-----------
 public   | access_token                       | テーブル   | gitbucket
 public   | access_token_access_token_id_seq   | シーケンス | gitbucket
 public   | account                            | テーブル   | gitbucket
 public   | account_extra_mail_address         | テーブル   | gitbucket
   :
   :


//自動起動設定
$ cd /usr/lib/systemd/system
$ sudo vi gitbucket.service
$ cat gitbucket.service
[Unit]
Description=GitBucket Server

[Service]
User=gitbucket
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war

[Install]
WantedBy=multi-user.target

$ sudo systemctl enable gitbucket.service
$ systemctl is-enabled gitbucket.service
enabled
$ sudo reboot

//httpsでアクセスできるようにする
$ cd /etc/httpd/conf.d
$ vi member.yamakyogo.jp-gitbucket.conf
$ cat member.yamakyogo.jp-gitbucket.conf
#GitBucket
Listen 10443
<IfModule mod_ssl.c>
<VirtualHost *:10443>
    ServerName member.yamakyogo.jp
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
    SSLCertificateFile /etc/letsencrypt/live/xxx.example.jp/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/xxx.example.jp/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

//FW設定
$ sudo firewall-cmd --add-port=10443/tcp --permanent
$ sudo firewall-cmd --reload
  • この手順でGitBucketが"https://xxx.example.jp:10443/“で使えるようになる。
  • デフォルトポート"http://xxx.example.jp:8080/“がアクセスできないのを確認する。
  • GitBucketの初期アカウント(id:root / pwd:root)は、なる早でパスワードを変更するか削除する。