Ubuntu のドキュメントに従って Ubuntu 14.04.1 LTS にセットアップした。
gitolite のインストール
git サーバーを作るには、gitolite なるものを入れる。「SSH-based gatekeeper for git repositories」らしい。
サーバーにアカウントがなくても公開キーを登録しておけばリポジトリにアクセスできるようになる仕組み。
ユーザー git を作る
git サーバーのアカウントを作ってやる。
ホームディレクトリができた。ここに設定やリポジトリが置かれる。
通常ユーザーの公開鍵を /tmp にコピーしておく。(~/.ssh
は他のユーザーからは読めないので)
git になる。
gl-setup というコマンドに公開鍵を指定して管理者として登録する。
設定ファイルを開くエディタを選ぶように言われる。nano が推されていたが、よくわからないので vim を選んだ。
.gitolite.rc
が表示されるが、ちんぷんかんぷんなので ZZ
する。設定ファイルを置くリポジトリが出来た。
一般ユーザーに戻る。
gitolite の設定リポジトリを clone するのだが、指定がうまくいかなかった。
セキュリティに配慮して sshd のポート番号を変えていたのが原因だった。
ポート番号を指定するには、スキーマから始まる URL の形にしないといけないようだ。
リポジトリを追加したい場合は conf/gitolite.conf
に repo hoge
のように
リポジトリの名前とアクセスを許可するユーザーを書く。
add して commit して push すると、空のリポジトリが
ssh://git@192.168.0.254:12345/hoge.git
という名前でアクセスできるよ
うになるので、 clone したり remote に追加したりできる。
ユーザーを追加したい場合は公開鍵を keydir/
に置いて、同様に add/commit/push する。