使用Gitolite搭建Git服務器


使用Gitolite搭建Git服務器

需要用到的軟件

其實Gitolite的搭建過程中,Gitweb、Apache不是必須的,Gitweb、Apache跟Gitolite一起使用,看到的效果就像這個一樣 http://git.chromium.org/gitweb/

環境

假設Server用的是Ubuntu 12.04

Client能通過SSH連接至Ubuntu Server

Server、Client都安裝好Git,怎么安裝?Google一下吧!

如何搭建?

Server:

添加一個計算機用戶,並設置密碼,如git:

 
 
 
         
  1. # -s指令用於指定用戶的默認shell,不指定的話,默認是/bin/sh,這個shell在ssh下支持有問題
  2. sudo useradd -m git -s /bin/bash
  3. sudo passwd git

Client:

設置你本機的git用戶信息(非必須):

 
 
 
         
  1. git config --global user.name “xxx”
  2. git config --global user.email xxx@email.com

創建一個SSH公鑰/私鑰對:

 
 
 
         
  1. ssh-keygen -t rsa

上傳公鑰到服務器:

 
 
 
         
  1. scp ~/.ssh/id_rsa.pub git@server(ip):/home/git/admin.pub

SSH連接到Server:

 
 
 
         
  1. ssh user@server

Server:

server取得root,安裝gitolite:

 
 
 
         
  1. sudo -sH
  2. apt-get install gitolite

切換至git用戶,運行gitolite安裝腳本:

 
 
 
         
  1. su - git
  2. gl-setup /home/git/admin.pub

客戶端獲取gitolite管理庫:

 
 
 
         
  1. git clone git@server:gitolite-admin.git
  2. cd gitolite-admin

編輯gitolite配置文件,進行項目、用戶添加等操作:

 
 
 
         
  1. sudo vim conf/gitolite.conf

怎么對庫進行管理、用戶添加、授權等操作,gitolite的文檔里都有詳細介紹的。

配置好以后,push到Server上即可!

Gitweb的安裝、配置(都是在Server上)

首先安裝一下Apache:

 
 
 
         
  1. sudo apt-get install apache2

安裝Gitweb:

sudo apt-get install gitweb

安裝完成后,修改下gitweb.conf:

 
 
 
         
  1. sudo vim /etc/gitweb.conf
  2. $projectroot = "/home/git/repositories"

重啟下Apache

 
 
 
         
  1. sudo service apache2 restart

若 "/home/git/repositories" 可被訪問,即可通過 http://server/gitweb 訪問你的git庫了!


補充: 修改git相關文件與目錄的權限,以支持gitweb的訪問。

 
 
 
         
  1. vi ~/.gitolite.rc
  2. # 將 $REPO_UMASK = 0077; 改為 $REPO_UMASK = 0027; 以支持gitweb的權限。
  3. # 在每次push后,gitolite會修改相關的repo的權限。
  4. chmod g+r /home/gitolite/projects.list
  5. chmod -R g+rx /home/gitolite/repositories

下面還有更簡單的方法


安裝gitolite以及git,只需要指定gitolite就可以,gitolite依賴git,apt-get會自動的尋找到依賴包,並安裝。

 
 
 
         
  1. sudo apt-get install gitolite

創建git用戶,並切換到git用戶下, 用戶名最好為git,這樣用ssh方式遷出的格式為:git@server:repo,如果是其他用戶名的話,那么@前就為相應的用戶信息。

 
 
 
         
  1. sudo useradd -m git -s /bin/bash
  2. passwd git
  3. su - git

准備gitolite管理員的公鑰文件,win下可以用putty生成,只要注意把Key comment的內容設置為空,再把公鑰拷貝出來后黏貼到相關的文件就好了。

 
 
 
         
  1. # 用vi創建相關的文件,並在其中貼入公鑰信息
  2. vi ~/admin.pub

執行gitolite的安裝,命令后跟的是管理員的公鑰文件。

 
 
 
         
  1. gl-setup ~/admin.pub

根據需要修改配置文件,完成安裝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM