基于Gitolite管理的Git服务器搭建v1.0

客户端:
在此为方便测试,就不再另外创建用户,直接使用客户端root用户即可生成密钥对,注意,此处生成的密钥队需要和用于ssh链接的密钥对区别开来。

cd /root
ssh-keygen -f ~/.ssh/oreki

将生成的公钥(my.pub)上传到服务器的以备用

scp ~/.ssh/oreki.pub drpeng@ip:~

为以后方便登陆git服务器,需要配置一个访问git服务器时的配置文件

vim ~/.ssh/config
      host gitolite               #git服务器别名
      user git                    #服务端管理gitolite的用户
      hostname ip                 #git服务器的主机名
      port  xxx                   #访问git服务器时的端口号
      identityfile ~/.ssh/oreki   #访问git服务器时使用的公钥文件,即刚才生成的私钥

保存退出

chmod 600 ~/.ssh/config

服务器端:
安装git和gitolite
CentOS7的yum源中包含git安装包,可以直接yum- y install git进行安装。然后增加drpeng用户用来管理gitolite,通关gitolite实现对git和git所有用户的权限管理
1.使用root用户登陆服务器,并创建git用户,用以管理git server

 useradd -g root -s /bin/bash drpeng
 echo "gitadmin" | passwd git --stdin

2.切换到drpeng用户,并确保~/.ssh/authorized_keys文件为空或者不存在
3.在drpeng用户下安装gitolite:

git clone git://github.com/sitaramc/gitolite   #下载gitolite软件
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin                 #安装gitolite
export PATH=$PATH:$HOME/bin
echo "PATH=$PATH:$HOME/bin" >> .bashrc
gitolite setup -pk /tmp/my.pub         #将客户端的root用户配置为git的管理员

上面的步骤完成后,我们可以在$HOME下看到一个repositories目录,里面有两个仓库,分别为gitolite-admin.git和testing.git,其中gitolite-admin.git为管理仓库。
返回客户端,在客户端通过root用户克隆gitolite-admin库

git clone gitolite:gitolite-admin

进入gitolite-admin仓库,会看到两个目录,分别为keydir和conf,其中keydir目录用来管理用户,在其中可以看到默认有一个文件叫做admin.pub,正是我们之前生成的管理用户的公钥文件,如果需要新增git用户,需要得到新增用户的公钥,放入此文件夹中。conf文件中有一个名为gitolite.conf的文件,管理员可以通过修改此文件来控制git服务器所有用户的权限

Bonus:
附1:Git基本操作教程
http://www.yiibai.com/git/
附2:Gitolite权限设置教程
https://git-scm.com/book/zh/v1/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-Gitolite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值