概要
VMware上のCentOS 7でGitBucketを動かします。
タイトルをインストールとしましたがwarファイルを起動しているだけなのでインストールとは言いませんかね?
この記事ではGitBucketの設定等は書きません
OSインストール直後からGitBucket起動までです。
2018/03/08 0:04 追記
記事内で設定ファイルを編集することで設定可能のような表現があるはずですが、記事を書いた当時思い込んでいただけで、引数である程度設定できる感じです。
warファイルの実行で設定ファイルは無いっす。
目次
前提
- CentOS 7 64bit(7.4.1708)
- VMware-toolsインストール済み
- yum update実施済み
その他はOSのMinimalインストール直後から何もしていません
作業ユーザーはroot、作業ディレクトリは/root配下です。
JDKのインストール
GitBucketのGitHubにあるwikiの#Installationを読むと以下のように書いてあります。
GitBucket requires Java8. You have to install it, if it is not already installed.
https://github.com/gitbucket/gitbucket#Installation 🔗
Java8が必要と書いてあるのでインストールします。
インストールはJREでいいと思われますが試してません。JDKをインストールしています。
# yum provides java
(...中略)
1:java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 : OpenJDK Runtime Environment
リポジトリー : base
一致 :
Provides : java = 1:1.8.0
(...中略)
# yum -y install java-1.8.0-openjdk
(...中略)
完了しました!
GitBucketの入手
ここではwarファイルをwgetで入手します。
GitHubからDLしてFTPソフトで転送しても構いませんしなんでもいいです。
gitをインストール済みの環境であればgitでcloneするのがてっとり早いのではないでしょうか
wgetのインストール
wgetコマンドを叩くときはインストールしてあげないと叩けませんインストールしましょう
# yum install wget
(...中略)
インストール:
wget.x86_64 0:1.14-15.el7_4.1
完了しました!
GitBucketをwget
wgetでGitBucketをダウンロードしてきます。
今回は2018/03/06時点で最新の4.22.0をダウンロードします。
バージョンについては特段気にせず最新のものをダウンロードしています。適宜任意のバージョンをダウンロードしてください。
ダウンロード先についてはGitHubのReleasesから確認してください。
https://github.com/gitbucket/gitbucket/releases 🔗
# wget https://github.com/gitbucket/gitbucket/releases/download/4.22.0/gitbucket.war
(...中略)
2018-03-06 20:35:56 (159 KB/s) - `gitbucket.war' へ保存完了 [54139049/54139049]
ポート開放の設定
OSをMinimalでインストール後はファイアーウォールの設定でSSH接続のみ許可となっています。
なのでGitBucketの使うポートを開けてあげます。
今回はGitBucket既定の8080番ポートを開放しますが設定で使用ポートを変更することが可能です。
//現在の設定を確認
# firewall-cmd --list-all --zone=public --permanent
public
(...中略)
services: ssh dhcpv6-client
ports:
(...中略)
//ポート8080番を開ける
# firewall-cmd --add-port=8080/tcp --zone=public --permanent
success
//ファイアーウォールの設定を再読込
# firewall-cmd --reload
success
//設定を再度確認
# firewall-cmd --list-all --zone=public --permanent
public
(...中略)
services: ssh dhcpv6-client
ports: 8080/tcp
(...中略)
GitBucketの起動
先程、紹介したGitBucketのGitHubにあるWikiにしたがってそのままコマンドを叩きます。
[root@localhost ~]# java -jar gitbucket.war
(...中略)
2018-03-06 20:41:54.190:INFO:oejs.Server:main: Started @5285ms
ログにてStartedと確認出来たらブラウザで確認しましょう。
GitBucketにアクセス
GitHubのwikiに従って以下の通りアクセスします。
Go to http://[hostname]:8080/ and log in with ID: root / Pass: root.
https://github.com/gitbucket/gitbucket/releases 🔗
Host名なんぞ設定していないのでIP直打ちでポート8080番を指定します。
http://XXX.XXX.XXX.XXX:8080
以下の画面が出れば完璧!
ログインは右上のSign inから既定でID:root/Pass:root
です。これも後に変更可能です。
自動起動の設定
OS起動時に自動でGitBucketが起動されるよう設定します。
自動起動設定を行う際に.serviceファイルを作成するのですが私自身しっかりと理解して書いているわけではないので参考程度でお願いします。
検索をかけるとgistに公開してくださってる方が居たのでそれを参考に自分の環境に書き換えます。
https://gist.github.com/tmaeda/4723371c3fd913670c52 🔗
# vi /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
調べたらWantedBy=multi-user.target
がrunlevel3に相当するみたいです。
さらに.service
ファイルを作成している/usr/lib/systemd/system/
配下はシステムデフォルトのファイル置き場らしく管理者の設定ファイルは別場所らしいっす…
/etc/systemd/system
配下が正しいらしいっす。
参考:https://qiita.com/chroju/items/4aff0a895f2790f8df8e 🔗
理解した上で書いているわけではないのでそのうち調べて別記事にします。
//書き込んだ
# systemctl daemon-reload
//gitbucket起動
# systemctl start gitbucket.service
//gitbucketのステータス確認
# 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 火 2018-03-06 23:53:45 JST; 13s ago
Main PID: 37161 (java)
CGroup: /system.slice/gitbucket.service
mq37161 /usr/bin/java -jar /root/gitbucket.war
(...省略)
//自動起動設定(登録?)
# systemctl enable gitbucket.service
Created symlink from /etc/systemd/system/multi-user.target.wants/gitbucket.service to /usr/lib/systemd/system/gitbucket.service.
これでrebootかけて画面に接続できればOK
参考サイト様
途中で登場した各サイト(記事)様
雑感
1ヶ月で10記事の目標はどこへ飛んでいったのか…笑