linux下的php环境搭建——9. 配置git和gitosis

作者: 小疯子 分类: 默认 发布时间: 2018-08-12 16:36

一、安装git

  1. yum安装需要的包
    shell>yum install curl-devel expat-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
  2. 上传git的安装包,解压缩,然后进入目录
    链接:https://pan.baidu.com/s/183ou07CzwMj5Gc-GH_M1Ng 密码:6gfq

    shell> tar -zxvf git-2.15.0.tar.gz
    
    shell> cd git-2.15.0
    
    shell> make configure
    
    shell> ./configure
    
    shell> make
    
    shell> make install

二、安装gitosis(git管理工具)
安装过程中注意文件所属的用户管理员

  1. yum安装python
    shell> yum install python-setuptools
  2. git克隆,在/root目录下运行
    shell> git clone https://github.com/tv42/gitosis.git
  3. 进入克隆后的目录
    shell> cd gitosis
  4. 执行其中的py文件
    shell> python setup.py install
  5. 创建目录
    shell> mkdir -p /data/git
  6. 添加软连接,(根据情况添加,如果是给git用户管理git,目标路径就是在/home/git目录下,如果是给www用户的就是/home/www/下的仓库中,我的后期要加walle管理是通过www管理,所以这里的git先给git用户了,没有此用户就手动添加_groupadd git; useradd -g git git;正常一般给www用户就行了)
    shell> ln -s /data/git /home/git/repositories
  7. 更改权限
    shell> chown –R git:git /data/git
  8. 切换用户
    shell> su git
  9. ssh生成git用户的秘钥,一路回车就可以
    shell> ssh-keygen -t rsa

  10. 进行初始化
    shell> gitosis-init < /home/git/.ssh/id_rsa.pub
  11. git克隆
    shell> cd /home/git
    
    shell> git clone git@当前服务器ip:gitosis-admin.git
  12. 切换回root
    shell> su root
  13. 生成root用户的秘钥
    shell> ssh-keygen -t rsa(一路向下点)
  14. 秘钥放到tmp文件夹下面
    shell> cd /root
    
    shell> cp .ssh/id_rsa.pub /tmp/
  15. 切换用户
    shell> su git
  16. 把root下面生成的密钥放到git下面的keydir里面
    shell> cp /tmp/id_rsa.pub /home/git/gitosis-admin/keydir/
    shell> cd /home/git/gitosis-admin/keydir/
    shell> mv id_rsa.pub root.pub
    shell> git add *

  17. 添加root账号(到/home/git/gitosis-admin路径下)
    shell> vi gitosis.conf 添加root账号

    后期有了新项目就可以复制一段,上面的members是用户,下面的writable是项目名称

  18. 提交
    shell> git commit -a -m "add key"
    (第一次提交需要先配置邮箱和姓名:

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

  19. 推送
    shell> git push origin master
  20. 切换用户
    shell> su root
    shell> cd ~
  21. git克隆
    因为root的秘钥放到git用户的配置中了,所以有拉取的权利了
    shell> git clone git@本机ip:gitosis-admin.git
0