Ubuntu server 搭建Git server


 

  Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每個客戶端用戶的本地都是一個版本管理控制器。

  Ubuntu server 版本為12.04

  搭建步驟如下:

  1、更新Ubuntu server

  操作如下:

  $ apt-get update

  $ apt-get upgrade

  如上命令更新並升級系統,防止在安裝git過程中,出現部分依賴包沒有安裝。

  

  2、安裝openssh的server和client

  其實通常情況下,Ubuntu server都默認安裝了openssh。安裝SSH的目的,SSH 協議用於為 Git 提供遠程讀寫操作,是遠程寫操作的標准服務,ssh可用於遠程登錄,服務端需要安裝openssh-server,客戶端需要安裝openssh-client。介紹ssh協議是因為gitolite以及gitosis都是基於ssh公鑰認證的。

  安裝openssh之前,可以先查看是否安裝過

  $ ps -ef | grep ssh

  如果沒有,就繼續如下安裝步驟,

  $ sudo apt-get install openssh-server openssh-client

  

  3、安裝git

  $ sudo apt-get install git-core  

  安裝完畢即可!

 

  4、配置git用戶

  在Ubuntu Server上新增一個git用戶,用於為安裝gitosis做准備

  $ sudo adduser --system --shell /bin/bash --group git  // 創建用戶 git,並設置用戶的 shell 為可登錄的 shell,如 /bin/bash,同時添加同名的用戶組。

  $ sudo adduser git ssh  // 有的系統,只允許特定的用戶組(如 ssh 用戶組)的用戶才可以通過 SSH 協議登錄,這就需要將新建的 git 用戶添加到 ssh 用戶組中。

  $ sudo passwd git  // 為 git 用戶設置口令。

  $ ssh-copy-id git@server  // 管理員在客戶端使用下面的命令,建立無口令登錄。 

 

  5、創建git Server的倉庫存儲

  $ sudo mkdir /home/git/repositories  // 創建git倉庫存儲目錄

  $ sudo chown git:git /home/git/repositories  // 設置只允許git用戶才能訪問此目錄

  $ sudo chmod 755 /home/git/repositories  // 設置目錄訪問的可讀寫或執行的權限

  初始化一下服務器的git用戶,這一步其實是為了安裝gitosis做准備。在任何一 台客戶端機器上使用git,第一次需要初始化一下:

  $ git config --global user.name "name"       // 例如:james

  $ git config --global user.email "name@server"   // 例如:james@yahoo.com

  

  6、獲取Gitosis,並安裝

  Gitosis 就是一套用來管理 authorized_keys文件和實現簡單連接限制的腳本。簡單地說,Gitosis就是git的權限策略控制器。  

  因為Gitosis源碼安裝方式通過python方式,所以這里要檢測是否安裝了python的setup tool,沒有即安裝此工具, 這個也是為了gitosis做准備:

  $ sudo apt-get install python-setuptools

  去到一個臨時目錄

  $ cd /tmp

  $ git clone https://github.com/res0nat0r/gitosis.git  // 下載Gitosis的源代碼

  $ cd /tmp/gitosis

  $ sudo python setup.py install

  

  說明:Gitosis有一個改進的升級版Gitolite,這里以安裝Gitosis為標准,所以不對Gitolite介紹。Gitosis安裝完之后,即Git服務器就安裝完成,接下來,需要為Git設置一個管理員,通過Gitosis初始化之后,才能正常使用Git作為版本控制進行相關版本管理。

  下一節,將詳細描述通過創建Git管理員來初始化Git Server,並詳細描述Git在Windows下作為客戶端如何使用。

 

 

  

  

  

  

  

  

  


免責聲明!

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



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