在Ubuntu 14.10上配置git server

来源:互联网 发布:sql企业管理器绿色版 编辑:程序博客网 时间:2024/05/16 10:56

文/sban 2015年1月8日于北京

  1. 安装git

    • sudo apt-get install git-core openssh-server openssh-client
  2. 安装gitosis & 配置

    • sudo apt-get install python-setuptools(为安装gitosis做准备)
    • git clone https://github.com/tv42/gitosis
    • cd gitosis
    • sudo python setup.py install
    • git config --global user.name "sban"
    • git config --global user.email "xxx@muzining.com"
  3. 添加git用户

    • sudo useradd -m git
    • sudo passwd git
  4. 初始化

    • ssh-keygen -t rsa
    • scp .ssh/id_rsa.pub git@:/tmp
    • sudo chmod a+r /tmp/id_rsa.pub
    • sudo -H -u git gitosis-init < /tmp/id_rsa.pub
    • sudo chown git:git /home/git/repositories(设置只有git用户可以访问)
  5. 添加开发者帐号

    • 在管理者机器上将gitosis-admin.git克隆至本地
    • 在开发者机器上生成公钥,放至keydir目录下
    • 在gitosis.conf中添加开发者帐号,示例如下:
    [gitosis][group gitosis-admin]members = sban devwritable = gitosis-admin[group test]members = sban gitserverwritable = hello
    • 其中sban、dev是keydir目录下公钥文件的名称,必须一致。
    • 如果将内网的gitserver迁移至外网,将服务器上的代码拷贝之后,需要重新设置一遍开发者帐号。
  6. 在gitserver上建立仓库的方法

    • su git
    • cd /home/git/repositories
    • mkdir teamwork.git
    • cd teamwork.git
    • git init --bare

补充:

1,如果出现以下错误:

ERROR:gitosis.serve.main:Repository read access deniedfatal: The remote end hung up unexpectedly 

是因为使用了内容相同,名字不同的.pub文件。

0 0
原创粉丝点击