GitLabとGitBucketとお試しインストール
一つのGitリポジトリを雑多な用途で使用すると、必要なプログラムやデータだけを扱いたいのにリポジトリ全体をクローンして扱う必要があります。といって、小さな用途が多数あるような場合、一つ一つにGitリポジトリを設けるのも手間がかかってしまいます。
そういう場合に、GitHubのようなサーバーが欲しくなります。オープンソースなGitHubクローンのGitLabや、GitBucketを使うとよさそうです。
GitLab
Community EditionがMITライセンスで公開されています。
https://about.gitlab.com/downloads/
CentOS 6用のRPMパッケージを入手できます。書かれた手順でも動くのですが、少し補足しておきます。
- gitlab-ctl reconfigureを実行する前に、/etc/gitlab/gitlab.rbを編集する
- external_urlをマシンに合わせて変更
- lokkit は、iptablesを書き換えてしまうので要注意
- 実行は、gitlab-ctl startです
- Nginx、PostgreSQL、redis、sidekiq、unicornが動作します
- apache(httpd)が動作しているとポート80が競合して動かないので停止させる必要があります
- 停止は、gitlab-ctl stopです
GitBucket
GitBucketのリリースページから最新バージョンのwarファイルをダウンロードします。
https://github.com/takezoe/gitbucket/releases
- ダウンロードしたwarファイルをjavaで実行します
serviceとして起動終了させるには
GitBucketのリポジトリに、Red Hat Enterprise Linux向けのサービス起動用スクリプトが置かれていました。
https://github.com/takezoe/gitbucket/tree/master/contrib/redhat
また、RPMパッケージ作成用のSPECファイルも同じ場所に置かれています。
これをいじればよさそうです。
contrib/redhatの下の次のファイルを、RPMビルド用のツリーに配置します。
$ cp gitbucket.conf ~/rpm/SOURCES/ $ cp gitbucket.init ~/rpm/SOURCES/ $ cp gitbucket.spec ~/rpm/SPECS/
gitbucket.specのバージョン番号を、リリースバージョン番号に書き換えます。
rpmbuildを実行してRPMを作成します。
$ rpmbuild -ba rpm/SPECS/gitbucket.spec :
生成したRPMをインストールします。
$ cd ~/rpm/RPMS/noarch $ sudo yum localinstall gitbucket-2.0-1.el6.noarch.rpm
インストールしただけでは、chkconfigにgitbucketが追加されなかったので、chkconfigに追加します。
$ sudo chkconfig --add gitbucket
設定ファイルが/etc/sysconfig/gitbucketに置かれているので適宜修正します。
ポート番号はデフォルトが8080です。
サービスを起動します。
$ sudo service gitbucket start
ファイアウォール(iptables)を稼動しているときは、ポート番号を通過可能にします。
$ sudo iptables -I INPUT 6 -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
挿入箇所(上述コマンド実行例では6を指定)は実際に合わせます。