Installation
gitolite-2.3
github からソースを取得します。2.3.x 系のブランチは g2 になります。
% cd /tmp
% git https://github.com/sitaramc/gitolite.git
% cd /tmp/gitolite
% git checkout g2
gitolite ユーザを作成し、gl-system-install コマンドを実行します。
% su -
% useradd gitolite
% su - gitolite
% /tmp/gitolite/src/gl-system-install
%HOME/bin%HOME/share
にインストールされます。$HOME/bin にパスが通っていなければ追加します。
% su - gitolite
% vim ~/.bash_profile
...
export PATH=$PATH:$HOME:/bin
...
% source ~/.bash_profile
% which gl-setup
~/bin/gl-setup
gitolite 管理ユーザ用の SSH 鍵を作成します。ファイル名はユーザ名と同じにします。
# admin ユーザの SSH鍵を作成します
% ssh-keygen -t rsa
Enter file in which to save the key (/home/gitolite/.ssh/id_rsa): /home/gitolite/.ssh/admin
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gitolite/.ssh/admin.
Your public key has been saved in /home/gitolite/.ssh/admin.pub.
公開鍵 *.pub へのファイルパスを指定して gl-setup を実行します。
% gl-setup ~/.ssh/admin.pub
セットアップ間で $HOME/.gitolite.rc の編集画面が開きますが、特に変更せずそのまま保存します。以上でセットアップは完了です。
$HOME/.gitolite$HOME/repositries$HOME/projects.list
が作成されています。
$HOME/.ssh/authorized_keys に gl-setup 時に指定した公開鍵が追加されています。通常の SSH 鍵でのログインとは異なり gl-auth-command が実行されます。
# gitolite start
command="/home/gitolite/bin/gl-auth-command admin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa ...
# gitolite end
公開鍵により gitolite ユーザを判別し、UNIX ユーザ gitolite が、実際に git リポジトリを操作することになります。