GitBucket 構築メモ

ソースコードを Git で管理するため、Git サーバを構築します。
今回は導入が比較的簡単そうな GitBucket を選定しました。

【2017/10/20 追記】
外部データベースを使用する記事を追加しました。
GitBucket のデータベース変更 - さばかん

検証環境

  • CentOS 7.3
  • Git 1.8.3
  • GitBucket 4.18.0
  • Tomcat 7.0.76
  • Nginx 1.12.2

インストール

Git については CentOS に最初からインストールされていたため省略します。

# yum info git
Version     : 1.8.3.1

Tomcat セットアップ

GitBucket のアプリケーションは Tomcat 上で動作させるため、
Tomcat をインストールする必要があります。

インストール後、Tomcat ディレクトリは所有者を tomcat に変更します。

# yum -y install java-1.8.0-openjdk
# yum -y install tomcat
# chown -R tomcat:tomcat /usr/share/tomcat

GitBucket セットアップ

Tomcat アプリケーション用ディレクトリにダウンロードします。

# cd /usr/share/tomcat/webapps
# curl -OL https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war
# chown tomcat:tomcat /usr/share/tomcat/webapps/gitbucket.war

Tomcat サービスの開始後、 ポート 8080 で GitBucket にアクセスができます。

# systemctl start tomcat
# systemctl enable tomcat

Nginx セットアップ

今回はポート 80 から 8080 へのリバースプロキシとして使用します。
リポジトリ情報を作成し、yum でインストールします。

# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enable=1

# yum -y install nginx

Nginx の http ディレクティブ内に設定を追加します。(抜粋)

client_max_body_size については、リポジトリにプッシュしたときに
サイズ上限エラーが出たため暫定的に 100MB として設定しています。

# vi /etc/nginx/nginx.conf

http {
    client_max_body_size 100m;

    server {
        location /gitbucket {
            proxy_pass http//127.0.0.1:8080;
        }
    } 
}

設定に問題がないことを確認し、サービスを起動します。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

# systemctl start nginx
# systemctl enable nginx

正しく動いていれば、ブラウザから http://127.0.0.1/gitbucket にアクセスして
GitBucket の Web アプリケーションが閲覧できるようになっています。

ログイン

デフォルトの設定では以下の情報でサインインできます。

Username: root
Password: root

参考サイト