【Linux】CentOS7.5にGitBucketを構築してみる。

# はじめ
CentOS7.5にGitBucketに構築する手順をアウトプットしたいと思います。

# 環境

|  項目  |  説明  |
| ---- | ---- |
|  Hypervisor　|  Virtualbox  |
|  OS  |  CentOS7.5  |

```bash:/etc/redhat-release
[root@tspweb02 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@tspweb02 ~]#
```

# 前提条件

- **こちらの基本設定が完了していること**

[【Linux】CentOS7.3のOSインストール後の基本設定](https://qiita.com/satton6987/items/1fccbe1db7ee04dfbaae)
※最低でもネットワーク設定&DNS設定が完了していること

- **リポジトリが初期状態であること**

```bash:/etc/yum.repos.d直下(初期状態)
[root@tspweb02 yum.repos.d]# ls -la
合計 44
drwxr-xr-x.  2 root root  187  4月 13  2018 .
drwxr-xr-x. 75 root root 8192  7月 30 20:05 ..
-rw-r--r--.  1 root root 1664  4月 29  2018 CentOS-Base.repo
-rw-r--r--.  1 root root 1309  4月 29  2018 CentOS-CR.repo
-rw-r--r--.  1 root root  649  4月 29  2018 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root  630  4月 29  2018 CentOS-Media.repo
-rw-r--r--.  1 root root 1331  4月 29  2018 CentOS-Sources.repo
-rw-r--r--.  1 root root 4768  4月 29  2018 CentOS-Vault.repo
-rw-r--r--.  1 root root  314  4月 29  2018 CentOS-fasttrack.repo
[root@tspweb02 yum.repos.d]#
[root@tspweb02 yum.repos.d]# pwd
/etc/yum.repos.d
[root@tspweb02 yum.repos.d]#
```

※構築前にリポジトリの初期化をしておくことが望ましいです。

**①yumのキャッシュクリア**

```bash
yum clean all
```

**②yumのリポジトリを読み込む**

```bash
yum repolist all
```

# 構築手順

## 1.Javaインストール

### Javaのバージョン確認

Javaの**「java-1.8.0-openjdk」**を探す。

```bash:javaのバージョン確認
[root@tspweb02 yum.repos.d]# yum provides java
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile

<中略>

1:java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64 : OpenJDK Runtime Environment 8
リポジトリー        : updates
一致          :
Provides    : java = 1:1.8.0

[root@tspweb02 yum.repos.d]#
```

### Javaインストール

Javaの「1.8.0」をインストールする。

```bash:Javaインストール
yum install -y java-1.8.0-openjdk
```

## 2.wgetインストール

`wget`のパッケージをインストール

```bash
yum install -y wget
```

`wget`がインストールされていることを確認

```bash
[root@tspweb02 yum.repos.d]# rpm -qa | grep wget
wget-1.14-18.el7_6.1.x86_64
[root@tspweb02 yum.repos.d]#
```

## 3.GitBucketをwgetする

### GitHubにて最新版のGitBucketを確認する。

[Releases · gitbucket/gitbucket · GitHub](https://github.com/gitbucket/gitbucket/releases)

`gitbucket.war`のURLをコピーする。

![スクリーンショット 2020-07-30 21.22.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/5bbd2252-0f07-a55c-bcdb-750f504f1645.png)

※2020/07/30時点では、**「4.34.0」**です。

### GibBucketをダウンロード

```bash
wget https://github.com/gitbucket/gitbucket/releases/download/4.34.0/gitbucket.war
```

## 4. firewalld停止/自動起動停止

firewallサービスの停止と自動起動停止を行う。

### firewalld停止

```bash
systemctl stop firewalld
```

### firewalld自動起動停止

```bash
systemctl disable firewalld
```

## 5.GitBucketの起動

### GitBucket起動コマンド実行

```bash
java -jar gitbucket.war
```

起動後、こちらの一行が表示されることを確認。

```bash
2020-07-30 22:15:52.606:INFO:oejs.Server:main: Started @4054ms
```


### ブラウザにて下記URLを開く

①ブラウザにて下記URLを開く

```
http://***.***.***.***:8080/
```
※「***」の部分は、サーバーのIPアドレスになります。

②GitBucketの画面が起動できることを確認

![スクリーンショット 2020-07-30 22.23.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/ceaf5d42-8e0a-82d9-f90c-3ab4bec56961.png)

※root/rootでログイン可能

## 6.GitBucket自動起動設定

### サービスファイル作成

`/usr/lib/systemd/system/gitbucket.service`を作成する。

```bash
vi /usr/lib/systemd/system/gitbucket.service
```

```bash:/usr/lib/systemd/system/gitbucket.service
[Unit]
Description=Git hosting service
[Service]
User=root
ExecStart=/usr/bin/java -jar /root/gitbucket.war
[Install]
WantedBy=multi-user.target
```

### 設定ファイルの再読込

```bash
systemctl daemon-reload
```

### GitBucket起動

```bash
systemctl start gitbucket.service
```

### GitBucket起動状態確認

```bash
systemctl status gitbucket.service
```

```bash:gitbucket.service
[root@tspweb02 ~]# systemctl status gitbucket.service
● gitbucket.service - Git hosting service
   Loaded: loaded (/usr/lib/systemd/system/gitbucket.service; enabled; vendor preset: disabled)
   Active: active (running) since 木 2020-07-30 22:39:01 JST; 1min 33s ago
 Main PID: 644 (java)
   CGroup: /system.slice/gitbucket.service
           └─644 /usr/bin/java -jar /root/gitbucket.war

 7月 30 22:39:07 tspweb02 java[644]: 22:39:07.934 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.353 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.357 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.409 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.456 [main] INFO  o.scalatra.servlet.ScalatraL...trap
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.458 [main] INFO  o.scalatra.servlet.ScalatraL...trap
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.567 [Thread-10] INFO  g.core.plugin.PluginWat...gins
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.389:INFO:oejsh.ContextHandler:main...war}
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.431:INFO:oejs.AbstractConnector:ma...080}
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.435:INFO:oejs.Server:main: Started...19ms
Hint: Some lines were ellipsized, use -l to show in full.
[root@tspweb02 ~]#
```

→`active`であることを確認

### 自動起動設定

```bash
systemctl enable gitbucket.service
```

### 自動起動設定確認

```bash
 systemctl is-enabled gitbucket.service
```

→結果が`enable`であることを確認。

## 7.再起動後にGitBucketが起動されることを確認

### サーバ再起動

```bash
reboot
```
→再起動されることを確認

### GitBucketが起動していることを確認

```bash:gitbucket.service
[root@tspweb02 ~]# systemctl status gitbucket.service
● gitbucket.service - Git hosting service
   Loaded: loaded (/usr/lib/systemd/system/gitbucket.service; enabled; vendor preset: disabled)
   Active: active (running) since 木 2020-07-30 22:39:01 JST; 1min 33s ago
 Main PID: 644 (java)
   CGroup: /system.slice/gitbucket.service
           └─644 /usr/bin/java -jar /root/gitbucket.war

 7月 30 22:39:07 tspweb02 java[644]: 22:39:07.934 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.353 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.357 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.409 [main] INFO  gitbucket.core.plugin.Plugin....jar
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.456 [main] INFO  o.scalatra.servlet.ScalatraL...trap
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.458 [main] INFO  o.scalatra.servlet.ScalatraL...trap
 7月 30 22:39:08 tspweb02 java[644]: 22:39:08.567 [Thread-10] INFO  g.core.plugin.PluginWat...gins
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.389:INFO:oejsh.ContextHandler:main...war}
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.431:INFO:oejs.AbstractConnector:ma...080}
 7月 30 22:39:09 tspweb02 java[644]: 2020-07-30 22:39:09.435:INFO:oejs.Server:main: Started...19ms
Hint: Some lines were ellipsized, use -l to show in full.
[root@tspweb02 ~]#
```

→`active`であることを確認

### ブラウザにて接続できることを確認

![スクリーンショット 2020-07-30 22.23.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/d291fa8a-220f-d35e-0ea1-5cf2725bd3b0.png)


# 参考サイト
[CentOS 7にGitBucketをインストール](https://kitigai.hatenablog.com/entry/2018/03/07/003840)