0%

(Linux)(Git) Gitolite Server - Git ACL Server

  1. Server端
  • 安裝git

         sudo apt-get install git-core git-doc gitk git-gui
    
  1. Server端

    • 安裝gitolite

        git clone git://github.com/ossxp-com/gitolite.git
        sudo mkdir -p /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks
        cd gitolite/src
        sudo ./gl-system-install /usr/local/bin \
        /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks
      
    • 更改gl-setup

        sudo vi /usr/local/bin/gl-setup
      

    其中

         GL_PACKAGE_CONF=/usr/local/share/gitolite/conf
    
  2. Server端

    • 增加系統使用者git

    • 增加新群組git

    • 設置使用者git為可登入shell

        sudo adduser --home /home/git --system --shell /bin/bash --group git
      
    • 將使用者git加入使用者群組ssh,
      (其中ssh群組已經先被建立,且ssh server僅允許ssh群組可連入ssh server)

        sudo adduser git ssh
      
  3. Client端

    • 建立gitolite管理者使用憑證(admin.pub,admin),
    • 並傳admin_name.pub至server端~/底下
  4. Server端

    • 安裝gitolite管理者使用憑證(admin.pub,admin))

        sudo su - git
        gl-setup ~/admin.pub
      
  5. 使用SSH憑證key1進行git clone gitolite-admin管理庫

     git clone git@server_ip:gitolite-admin
    
  6. gitolite-admin管理庫

    • conf/gitolite.conf 文件,設定git版本庫,分支等讀寫權限
    • keydir/*.pub 用戶SSH公鑰
    • 增加新用戶,只要將新用戶SSH公鑰加入keydir/中,再執行git push即可