Ubuntu12.04安装git服务器(git+gitolite)

准备工作
1 本地建立一个文件夹,命名为setup
2 准备公钥文件,复制到setup/keydir目录,注意公钥文件的命名是用户名.pub!!!
一个用户多个公钥的时候,公钥的存放方式:
1)keydir/alice.pub keydir/ubuntu/alice.pub keydir/windows/alice.pub可以表示用户alice的三个不同的public key   
2)keydir/alice@ubuntu.pub 和keydir/alice@windows.pub   
3)邮件地址形式。
推荐使用方式 1
3 编写仓库配置文件,保存到setup下,命名为gitolite.conf
-------------------------------参考模板-------------------------------------------
#定义用户组,等号后面是用户名,要与公钥文件名一致
@proj_a         = git jacob              # @proj_a是分组命名,分组用@表示,可以在后面引用分组
@proj_b         = git taylor jean        # 如果有多个用户,用空格隔开


@admins         = git   
@qa             = elapse flora
@engineers      = git jacob taylor jean
@staff          = @admins @qa @engineers   # 分组可以被引用


#定义仓库及权限
repo    gitolite-admin          # 这个是gitolite的管理仓库,sunny是指定可以对其进行操作的管理员
        RW+     =   git # 读、写、删除权限;


repo    proj_a
        RW+                    = @admins
        RW                     = @proj_a  elapse


repo    proj_b
        RW+                    = git  
        RW                     = @engineers flora # 读写权限
        R      refs/tags/      = @qa   # 这里设定的,是QA这个组,对refs/tags/开头的路径的文件只有读权限


repo    testing
        RW+     =   @stall
--------------------------------------------------------------------------


4 将以下安装脚本复制到setup目录,命名为setup.sh
--------------------------脚本开始------------------------------------------------
#切换到home目录
cd ~
#建立git用户,创建密钥对
adduser --system --shell /bin/bash --group -p git git
ssh-keygen -f git


#安装git
apt-get install git


#安装gitolite
git clone git://github.com/sitaramc/gitolite gitolite.git
mkdir ~/gitolite
gitolite.git/install -to ~/gitolite
~/gitolite/gitolite setup -pk ~/.ssh/git.pub


#配置gitolite
git clone git@localhost:gitolite-admin


#如果在签出的过程中询问密码,那么说明配置出了问题。一般情况是密钥配置错误。
#可以检查客户端的~/.ssh 下有没有 git 私钥(文件名是git,因为我们上传的公钥是git.pub)。
#如果需要使用不同的密钥连接多个ssh服务器,可以编辑~/.ssh/config 进行配置。
cp -r ~/setup/keydir ~/gitolite-admin/keydir/
mv ~/gitolite-admin/conf/gitolite.conf ~/gitolite-admin/conf/gitolite.conf.bak
cp ~/setup/gitolite.conf ~/gitolite-admin/conf/gitolite.conf


git add .
git commit -m "configure gitolite , add users and repos"
git push


------------------------脚本结束--------------------------------------------------


5 用scp复制setup文件夹到服务器
scp -r setup目录的绝对路径 git@服务器名或IP地址:setup  //-r 表示递归的copy
6 用git用户登录到服务器,执行setup.sh
ssh git@服务器名或IP地址
7 验证是否成功
将自己的私钥放到~/.ssh/目录下(必须与setup下的公钥的名称相同,譬如公钥是bob.pub,那私钥就是bob)
git clone git@服务器名称:testing
8 删除setup文件夹
9 设置git没有密码,保证无法用git远程登录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值