gitolite を Ubuntu 12.04 で使用する

Ubuntu 12.04 で gitolite を設定して使用したときのメモ。 ここでは gitolite 用にユーザ gitolite を作成して そのホームディレクトリ(/var/gitolite)以下に設定とリポジトリが配置されるようになる。

インストール、gitolite 用のユーザ、セットアップ

ここは root で作業する。

apt-get install gitolite

でインストールして、gitolite ユーザをホームディレクトリを /var/gitolite に指定して作成する。

adduser --system --disabled-password --shell /bin/sh --group gitolite --home /var/gitolite

gitolite の管理者となるユーザの鍵を username.pub にして

sudo -H -u gitolite gl-setup /path/to/username.pub

としてセットアップする。 gitolite ユーザのホームディレクトリ /var/gitolite 以下に .gitolite、.gitolite.rc、projects.list、repositories が作られる。

SSH 鍵が作成されていない場合

鍵を作成するには

ssh-keygen -t rsa -f key

とすると key と key.pub が作成される。 key.pub は公開鍵で ssh サーバや gitolite に設置して使用する。 key の方は秘密鍵で公開鍵が設定されている ssh サーバや gitolite にアクセスするために使用するので、 厳重に管理しなくてはならない。ssh のアクセスでこの鍵を使用するには

mv key ~/.ssh/id_rsa

のようにして ~/.ssh 以下に置く(もっと細かい設定もできる)。

gitolite の設定の仕方

公開鍵 /path/to/username.pub に対応する秘密鍵が設定されているユーザは gitolite のリポジトリにアクセスすることができる。 つまり、以下は一般のユーザで実行する。

SSH のユーザ名は gitolite で

git clone gitolite@example.com:gitolite-admin

のようにして設定ファイルのリポジトリをコピーする。 とりあえず、gitolite-admin の中の設定ファイルを編集するために、 ダウンロードしたディレクトリの中に入る。

cd gitolite-admin

ここで、

ls

とすると

conf  keydir

の2つのディレクトリがある。keydir の方は gitolite のリポジトリへのアクセスを 許可するユーザの公開鍵を入れるディレクトリ。 conf の方は gitolite.conf には各リポジトリのユーザのアクセス制限が設定される。 これらのディレクトリに対して設定をして

git add .
git commit

などとして gitolite-admin の git リポジトリに変更を反映してから

git push

を実行してサーバ側に設定を反映させる。

ユーザを追加する

keydir ディレクトリに USERNAME.pub という名前の公開鍵を追加してサーバ側の git リポジトリを更新する。

リポジトリを追加する

conf/gitolite.conf に

repo    new_repo
        RW      =   user_name

のようなリポジトリの設定をする。サーバ側の git リポジトリを更新する。

参考

Tags of current page

, ,