Git服务器的搭建

一 git服务器的搭建
    1.安装git
   
   
  1. yum install git -y
    2.创建一个git用户(禁用shell登录)
   
   
  1. useradd git -s /usr/bin/git-shell
    3.创建证书登录文件( authorized_keys )
  
  
  1. cd /home/git
  2. mkdir .ssh
  3. touch .ssh/authorized_keys
  4. chown -R git:git .ssh
  5. chmod 600 .ssh/authorized_keys
 4.初始化Git仓库
     1.选定目录/home/git/sample.git
  
  
  1. mkdir -p /data/gitroot
  2. cd /data/gitroot
  3. git init --bare sample.git
  4. chown -R git:git sample.git
    5.本地克隆远程仓库
       1.安装git
  
  
  1. yum install git -y
  
  
  1. ssh-keygen -t rsa -C "msun"
  2. #将用户根目录下的.ssh/id_rsa.pub 编辑到ssh公钥到远程仓库/home/git/.ssh/authorized_keys
       2.复制远程版本库
  
  
  1. git clone git@IP:版本库路径
二 Gitosis管理
   Gitosis就是用来管理authorized_keys文件和实现简单连接限制的脚本。
    1.安装依赖Python-setuptools
    
    
  1. yum install python-setuptools -y
    2.安装gitosis
    
    
  1. cd
  2. git clone git://github.com/res0nat0r/gitosis.git
  3. cd gitosis
  4. python setup.py install
    3.默认gitosis会把/home/git做为存储所有Git仓库目录,所以做需做软连接。
    
    
  1. ln -s /data/gitroot/ /home/git/repositories
   4.备份已存在的authorized_keys文件
    
    
  1. mv /home/git/.ssh/authorized_keys /home/git/.ssh/ak.bak
  2. chown -R git:git /data/gitroot/
   5.恢复git用户的登录shell
    
    
  1. sed -i 's#/usr/bin/git-shell#/bin/bash#g' /etc/passwd
   6.配置gitosis
    
    
  1. #从git用户获得他的公匙用于初始化,此公匙所有者将成为gitosis管理员
  2. scp root@192.168.1.168:/root/.ssh/id_rsa.pub /tmp/
  3. #初始化
  4. sudo -H -u git gitosis-init < /tmp/id_rsa.pub
  5. #post-update脚本加可执行权限
  6. chmod 755 /data/gitroot/gitosis-admin.git/hooks/post-update
    以下配置都在公匙git用户操作
   7.尝试连接测试
    
    
  1. [root@test2 ~]# ssh git@192.168.1.166
  2. PTY allocation request failed on channel 0
  3. ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
  4. Connection to 192.168.1.166 closed.
   8.创建git库,并完成初始化
     
     
  1. mkdir /gitcode
  2. cd /gitcode/
  3. git init
  4. git config --global user.name "msun"
  5. git config --global user.email "msun1996@163.com"
   9.克隆Gitosis的控制仓库
    
    
  1. git clone git@192.168.1.166:gitosis-admin.git
  2. [root@test2 ~]# tree gitosis-admin/ gitosis-admin/ ├── gitosis.conf └── keydir └── msun.pub
  3. #gitosis.conf文件用来设置用户、仓库和权限的控制文件
  4. #keydir保存具有访问全限的用户
   10.设置权限
    
    
  1. vim gitosis-admin/gitosis.conf
  2. [gitosis]
  3. [group gitosis-admin] #组名称
  4. members = msun #成员名单
  5. writable = gitosis-admin #权限
  6. #追加测试
  7. [group mobile]
  8. members = msun
  9. writable = iphone_project
   11.提交修改
    
    
  1. cd gitosis-admin/
  2. git add gitosis.conf
  3. git commit -m "test"
  4. git push
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值