GitBucketを5分で導入する方法

GitHubでプライベートリポジトリ持つのにお金がかかる。
会社で契約してるんだけどリポジトリの数に制限があるから単純作業を定型化したような、プロダクト以外のソースの管理がしにくい。
ということでローカルサーバにGitBucketを導入して自由にリポジトリ増やしたいのでGitHubクローンを導入してみた。
今までGitHubクローンといえばGitLabだったがこれは導入が面倒で色々と大変なので引き延ばしていた。
しかし、最近Scala製のGitHubクローンのGitBucketと言うものが出てきた。
調べてみたらGitLabに比べて簡単そうだったので導入してみた。
結果ものの数分で導入が終わり使えるようになったので驚いた。

というわけで導入方法をまとめてみた。
環境はCent OS 6.5でTomcat7上で動かした。
CentOS6では標準リポジトリでまだTomcat7がなかったので(Tomcat6しかない)そこが面倒くさいといえば面倒だった。
(CentOSってリポジトリの更新遅いんだよねー)
自分でmakeするのもだるいのでリポジトリを追加してyumした。
Ubuntuだとapt-getでTomcat7入るみたいだね、使うだけだったらソッチのほうが楽かも

さて、導入コマンドは下記の通り
【6/9 追記】
GitBucket2.0が出たのでwarファイルのURLを更新しました。
結構な頻度でバージョンアップしているのでリリースページを確認して適宜差し替えてください。
【追記終わり】
【2016.02.04 追記】
GitBucket3.11からjava8じゃないとエラーが出るようになったので修正
【追記終わり】

useradd -s /bin/false tomcat
#yum install -y  java7-opnjdk
yum install -y  java-1.8.0-opnjdk
yum install -y yum-plugin-priorities
rpm -Uvh http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm
yum install -y tomcat7-webapps tomcat7-admin-webapps
wget https://github.com/takezoe/gitbucket/releases/download/2.0/gitbucket.war
mv gitbucket.war /var/lib/tomcat7/webapps/
service tomcat7 start

注意するべき点が幾つか
まず1行目のtomcatユーザの作成
なくてもtomcatのインストール時に自動で作成されんだけどホームディレクトリは作成されない。
GitBucketの管理ディレクトリがtomcatのホームディレクトリに作られるんだけどホームディレクトリがないとエラーになる。
別にtomcatインスコした後にusermodでホームディレクトリ登録してもいいんだけど面倒なのでユーザごと作成した。
javaはopenjdk入れたけど気になる人は自分でoracle java入れてね。
3行目、4行目はTomcat入れるためのリポジトリの追加だけどyum-plugin-prioritiesっていうのがあったほうがいいらしいのでついでにインスコ
リポジトリを足してtomcatインストール

あとはgitbucketのwarファイルwgetしてtomcatのwebappsディレクトリに放ってtomcat起動すればよし。
正しく起動できていれば「http://【IPアドレス】:8080/gitbucket」にアクセスるとGitBucketのページが表示されるはず
ここまで出来たらあとはApacheなりその他HTTPサーバとかでTomcatと連携すればいいよ。

コマンド流しこむだけならほんとに5分あれば完了するよ。
なんて便利なんだ。DBもないしアップデートも簡単だし。
これからはGitBucketを使っていこう。

【追記】
Apacheとの連携もやったのでその設定を書いていく。
まず、Tomcatの設定変更
8080番ポートを閉じる。

vi /etc/tomcat7/server.xml

で次の行をコメントアウト

    <!--
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->

これで保存してtomcat再起動

service tomcat7 restart

次にApacheの設定
多分mod_proxy_ajpを設定する。
/etc/httpd/conf/httpd.confでmod_proxy_ajp.soを検索してその行がコメントアウトされていたらコメントを外す。

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

次に/etc/httpd/conf.d/以下にgitbucket.confとでも名前をつけて新規ファイルを作成する。

vi /etc/httpd/conf.d/gitbucket.conf

次のように記述する。

<Location /gitbucket/>
    ProxyPass ajp://localhost:8009/gitbucket/
</Location>

Apacheを再起動する。

service httpd restart

これで「http://【IPアドレス】/gitbucket/」にアクセスするとつながるはず
以上です。

コメント

タイトルとURLをコピーしました