概要
さくらの VPS に git リモートリポジトリを立てたので作業ログを残しておく。
手順
- サーバ側で必要なライブラリのインストール
- ユーザー追加
- 手元の Mac で ssh-keygen する
- 生成した公開鍵をサーバに転送する
- サーバで公開鍵を /home/git に移動して所有権を git ユーザーに変更する
- git ユーザーになる
- Gitlite をインストールする
- 手元の Mac から Gitolite 経由でアクセスできるように設定する
- 使ってみる
$ sudo yum update $ sudo yum install perl-Time-HiRes -y
$ sudo useradd --shell /bin/bash --home /home/git git # パスフレーズはなし
$ cd ~/.ssh && ssh-keygen -t rsa -f git-admin
$ scp -P [ポート番号] ~/.ssh/git-admin.pub [ユーザー名]@[ホスト名]:~/
$ sudo mv ~/git-admin.pub /home/git/git-admin.pub $ sudo chown git:git /home/git/git-admin.pub
$ sudo su - git
$ mkdir ~/tmp && cd ~/tmp $ git clone git://github.com/sitaramc/gitolite $ mkdir -p $HOME/bin $ gitolite/install -to $HOME/bin $ $HOME/bin/gitolite setup -pk ~/git-admin.pub $ rm -rf ~/tmp $ rm -f ~/git-admin.pub
$ vim ~/.ssh/configHost git-admin HostName [ホスト名] User git Port [ポート番号] IdentityFile ~/.ssh/git-admin
# ローカルPCでファイルをクローンしてみる $ cd ~ && git clone git-admin:gitolite-admin # Gitoliteにユーザーを追加する $ cd ~/gitolite-admin && cp ~/.ssh/id_rsa.pub ./keydir/[追加するユーザー名].pub $ vim conf/gitolite.confrepo testing RW+ = [追加するユーザー名]$ git add . $ git commit -m "add user: [追加するユーザー名]" $ git push # リポジトリを作成する $ vim ~/gitolite-admin/conf/gitolite.confrepo my-project RW+ = git-admin# 変更したファイルをサーバーへ送る $ git commit -am "add repo: my-project" $ git push
これでプライベートリポジトリが完成。結構お手軽だった。
Gitolite は Gitosis よりも高機能で、リポジトリ・ブランチ・ファイルのアクセス権やグループの設定などができるため管理がしやすそう。
参照文献
- 【Linux】 CentOSにGitolite を導入する - kzy52's diary
- ユカイ、ツーカイ、カイハツ環境!(26):Git管理の神ツール「Gitolite」なら、ここまでできる! (2/2) - @IT