GitbucketをUbuntuに入れる
自分用リポジトリが欲しかったので。
環境
$ cat /etc/os-release NAME="Ubuntu" VERSION="16.04.3 LTS (Xenial Xerus)" (省略)
手順
## javaインストール $ sudo apt install openjdk-8-jre-headless $ java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) ## 普通に手順進めていく $ sudo groupadd -g 555 gitbucket $ sudo useradd \ -g gitbucket --no-user-group \ --home-dir /opt/gitbucket --no-create-home \ --shell /usr/sbin/nologin \ --system --uid 555 gitbucket ## 勝手にディレクトリできないので作って、ファイルのダウンロードもしておく $ sudo mkdir -p /opt/gitbucket $ sudo curl -o /opt/gitbucket/gitbucket.war -L https://github.com/gitbucket/gitbucket/releases/download/4.19.2/gitbucket.war $ sudo chown -R gitbucket:gitbucket /opt/gitbucket ## ファイルを作る。内容は後述 $ sudo vim /etc/systemd/system/gitbucket.service ## 起動 $ sudo chown root:root /etc/systemd/system/gitbucket.service $ sudo chmod 644 /etc/systemd/system/gitbucket.service $ sudo systemctl daemon-reload $ sudo systemctl start gitbucket.service $ sudo systemctl enable gitbucket.service ## 起動確認 $ curl localhost:8100
gitbucket.service
はこれを少し編集して使った。公式repoの中はちゃんと探してない。そこにもあるんだろうか
[Unit] Description=Git hosting service [Service] User=gitbucket ExecStart=/usr/bin/java -jar /opt/gitbucket/gitbucket.war --port=8100 --host=127.0.0.1 --gitbucket.home=/opt/gitbucket [Install] WantedBy=multi-user.target
起動確認までできたら、次は外から見えるようにReverse Proxyの設定をする
Reverse Proxy
$ sudo vim /etc/nginx/sites-available/gitbucket $ sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/ $ sudo systemctl restart nginx
Reverse Proxyの設定、僕はほとんど同じにしました。 server_name
と proxy_pass
のポートを変えただけ。
ついでにDBをMySQL使うように設定しておく
$ mysql -uroot -p > create database gitbucket; > grant all privileges on `gitbucket`.* to gitbucket@localhost identified by 'testPassword'; > flush privileges; > quit $ sudo vim /opt/gitbucket/database.conf db { url = "jdbc:mysql://localhost/gitbucket?useUnicode=true&characterEncoding=utf8" user = "gitbucket" password = "testPassword" } $ sudo systemctl restart gitbucket.service
余談
ちなみに僕の環境はt2.nanoなので、よくメモリ足りなくなるため、スワップファイルも作ってます。途中でメモリ足りない系エラーでるならこれやると吉かもしれない