• CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】


    安装git

    关于安装git  可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍

    1. Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
    2. 然后到官网http://git-scm.com/download/linux下载最新版本源码安装,或者使用系统提供的包管理工具安装.
    3. 下载后解压 进入文件夹
    tar xzf git-2.3.5.tar.gz
    cd git-2.3.5
    4. 网上找了半天资料发现没有有用的自己翻看 readme来解决 通过readme 知道安装需要查看 install 文件 

    Normally you can just do "make" followed by "make install", and that
    will install the git programs in your own ~/bin/ directory.  If you want
    to do a global install, you can do

     $ make prefix=/usr all doc info ;# as yourself
     # make prefix=/usr install install-doc install-html install-info ;# as root

    (or prefix=/usr/local, of course).

    我这采用的是:

    make prefix=/usr/local all
    make prefix=/usr/local install

     git --version  #如果能显示版本号,即表示成功

     5. 为git增加专门用户

    # adduser git

    # passwd git

    在git用户家目录下安装gitolite

    6. 切换到 git用户

    # su – git  //记住 切换后默认计入 git 家目录

     如果切换后 变成

    bash-4.1$  请参考 linux问题: 切换用户之后变成-bash-4.1$

    7. 创建文件夹bin

    $ mkdir bin  //如果不在 git家目录下 可以 输入 $mkdir -p $HOME/bin

    8. 克隆gitolite源码

    $ git clone https://github.com/sitaramc/gitolite.git 
    $ ls 
    bin  gitolite

     9. 安装gitolite

    $ ./gitolite/install -to /home/git/bin/  或  $ gitolite/install -to $HOME/bin

    $ cd bin/ 
    $ ls 
    commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

      

    配置gitolite管理员

    10. 生成管理员账户的公钥

    # ssh-keygen   (此处指定本地root用户为管理员,键入回车使用默认值)

    复制管理的公钥

    # cp .ssh/id_rsa.pub /tmp/git.pub

    11. 切换回git用户,为gitolite配置管理员 

    $ /home/git/bin/gitolite setup -pk /tmp/git.pub

     $ ls 
    bin  gitolite  projects.list  repositories
     

    管理员日常管理

    12. 管理员clone管理库

    # pwd 
    /root/gitolite-admin 
    # ls 
    conf  keydir
    13. 创建库、添加用户

    例如某test123用户访问git服务器上的myFirstRepo库

    test123用户向git服务器管理(此处是之前的服务器本地的root用户)提交自己的ssh无密码公钥

    管理员将test123的公钥复制到 gitolite-admin/keydir/ 下 

    # cp test123.pub /root/gitolite-admin/keydir/

    管理员创建myFirstRepo库,并给test123分配权限

    # cd gitolite-admin/conf/ 
    # vim gitolite.conf

    默认内容为: 

    repo gitolite-admin 
        RW+ =   admin 
    repo testing 
        RW+ =   @all

    下边定义myFirstRepo库,并且指定用户权限: 

    repo gitolite-admin 
        RW+ =   admin 
    repo testing 
        RW+ =   @all 
    @myGroup=admin  test123 
    repo myFirstRepo 
        RW+ =   @myGroup

     

    注:此处@myGroup是一个组,给myGroup组赋予对myFirstRepo这个库的读、写、推送的权限(详细规则可参考gitolite的readme.txt)

    管理员将对gitolite-admin的修改(建库、加用户)提交到git服务器

    # pwd 
    /root/gitolite-admin 

    # git add * 
    # git commit -m

     或者命令如下:

    把gitolite-admin下的变更都commit,并push到服务器上

    。服务器上的Gitolite会根据内容自动建立新的git版本库,并放置在服务器专有账号主目录下的repositories文件夹下:
    git add conf
    git add keydir
    git commit -m "added foo repo, gave access to Jason"
    git push
     
  • 相关阅读:
    Sobel边缘检测(2)-matlab
    Sobel边缘检测(1)
    FPGA-高斯滤波
    MySQL 常用30种SQL查询语句优化方法
    探索测试
    下拉菜单的选取
    163邮箱登录账号密码定位的问题
    python编码
    selenium python 如何控制网页内嵌div中滚动条的滚动
    Chrome正收到自动测试软件的控制 怎么去掉
  • 原文地址:https://www.cnblogs.com/wuling129/p/4649332.html
Copyright © 2020-2023  润新知