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_keysgl-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 リポジトリを操作することになります。