gitosisのインストールと設定
gitosisのインストールのまとめ
かなりはまったので自分の復習も兼ねてまとめる
まず、自分のはまった点を挙げる
・gitosis-initを実行するとエラーがでる
最新版はpython2.6でもエラーは出ない。インストールしたバージョンが古い可能性がある。多少手間がかかるが
gitから持ってきてインストールする方法があるのでそちらの方法をお勧めする。
gitosis-* が邪魔している可能性もあるので一時的にどけといた方がいいかも
mv /usr/local/bin/gitosis-* /tmp
・repository以下に自分の望んだのが作成されない
/gitosis-admin.git/hooks/post-update の実行権限が無い可能性がある
chmod 755 /srv/gitosis/repositories/gitosis-admin.git/hooks/post-update
で実行権限をつける
ぐらいかな。インストールと設定方法について解説します。
基本的にpost-updateに実行権限つけることをやって
ここのURLを参考にすればいい
http://github.com/jezdez/gitosis
sudo mkdir -p /usr/local/src
cd /usr/local/src
sudo git clone git://eagain.net/gitosis
インストールして
sudo python setup.py install
gitというgitosis専用のアカウント作る
sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /srv/git \
git
ssh-keygenで作成し、gitosisに登録する
cd ~/.ssh
ssh-keygen
sudo -H -u git gitosis-init < id_rsa.pub
鍵の登録がうまくいくとこんな感じ
Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/
んで、フックスクリプトに実行権限をつける
こいつがpushした後に、repositories以下に作ってくれる
chmod 755 /srv/gitosis/repositories/gitosis-admin.git/hooks/post-update
後はgit cloneして持ってくる
git clone ssh://git@127.0.0.1/gitosis-admin.git
後は必要に応じてディバックの有効化、プロジェクトの登録、ユーザが必要なら鍵の登録などを行う。このときうまくいかないって場合はgit-urlを間違えている可能性が高い
ディバックの有効化
[gitosis]
loglevel = DEBUG
プロジェクトの登録
[group teama]
writable = mobile
members = k32ru@ubuntu
鍵の作成、ユーザの登録
ls
gitosis.conf keydir
ssh-keygen -f hoge
ls
hoge hoge.pub
cp hoge.pub keydir
vi gitosis.conf
[group teama]
writable = mobile
members = k32ru@ubuntu hoge
後はこれをpushして有効にする
git push origin master
んで、mobileってrepositoryをつくるには
mkdir ~/repositories/mobile
cd ~/repositories/mobile
git init
touch README
git add README
git commit -m 'add README file'
git remote add push_srv git@127.0.0.1/mobile.git
git push push_srv master
参考URL
http://blog.nydd.org/2010/01/gitosis%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/
ここの人の記事にはすごく助けていただきました。ありがとうございます。
他にも検索して引っかかったサイトを結構参考にしていたと思います。