Ubuntu GIT 服务 Gitosis 安装记录

【参考 http://www.jiangmiao.org/blog/1600.html

1. 软件安装

sudo apt-get install python-setuptools git gitosis openssh-server

有的发布版没有 gitosis, 可以 git clone https://github.com/tv42/gitosis.git


2. 添加 GIT 管理用户

sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'git version control' \
    --group \
    --disabled-password \
    --home /home/git \
    git

sudo -H -u git ssh-keygen -t rsa

3. Gitosis 初始化

sudo -H -u git chmod o+rx /home/git/.ssh

sudo -H -u git gitosis-init < /home/git/.ssh/id_rsa.pub

4. 验证安装

sudo su git

cd ~

git clone 127.0.0.1:gitosis-admin.git

成功会出现打印 Receiving objects: 100% (5/5), done.

然后对 post-update 加执行权限

sudo chmod +x repositories/gitosis-admin.git/hooks/post-update

注意默认的 GIT 库放置于 $HOME/repositories 其他路径可以使用链接

 

5. 服务器调整

编辑 /etc/ssh/sshd_config,在最后加上

Match User git
PasswordAuthentication no

接着重启 ssh 服务

/etc/init.d/ssh restart


6. 添加用户

用户

ssh-keygen -t rsa

然后将 ~/.ssh/id_rsa.pub 复制给管理员,管理员操作

cp id_rsa.pub /home/git/gitosis-admin/keydir/username.pub

编辑 /home/git/gitosis-admin/gitosis.conf 加用户权限

cd /home/git/gitosis-admin/

git add keydir/username.pub

git add gitosis.conf

git commit

git push

用户使用命令 git clone git@<ip_addr>:<repository> 进行代码下载

注意: 在以上安装过程中需要调试的话,也可以在 gitosis.conf 中 [gitosis] 小节中写上

loglevel = DEBUG

posted @ 2012-05-08 10:06  luckybug  阅读(340)  评论(0)    收藏  举报