git伺服器搭建

2021-09-02 04:22:21 字數 2675 閱讀 6426

我是在ubuntu和centos系統上分別搭建的git伺服器,大致過程都是相同的:

基本上都是通過軟體源直接安裝的

第一步,給伺服器安裝ssh服務(這個centos自帶了)

apt-get install ssh
第二步,安裝git

ubuntu:

apt-get install git
centos

yum install git
centos還要再多一步,因為centos預設的perl少了這個模組.

yum install 'perl(data::dumper)'
其實到這裡為止就安裝完了,git已經能用了,遠端訪問使用ssh協議,用linux的使用者登入訪問即可.

但是在實際的生產環境中可不能這麼用,伺服器的安全性沒法保障,git的許可權沒法管理.要管理git的許可權有很多種方法,可以自己配置乙個專門的使用者,然後為此使用者設定多個多個公鑰,並且設定這個賬戶只能通過git的shell來訪問就可以了,通過linux自己的許可權管理來控制此使用者對檔案的訪問.大體的思路就是這樣,其實也不是很複雜.但是git既然有專門的工具來控制許可權,就再安裝個工具吧,有兩個工具,乙個是gitosis另乙個是gitolite.我這裡用的是gitolite,下面開始安裝gitolite.

首先確認下,系統上perl是否已經安裝了,ubuntu應該是自帶的,沒有的話用apt-get install perl安裝一下.

然後在伺服器上建立乙個使用者git,按提示為使用者設定密碼.

adduser git
使用者建立成功後切換到這個使用者

su - git
然後拷貝ssh公鑰到伺服器上,生成金鑰的工具很多,xshell,git客戶端都可以.或者用系統自帶的ssh-keygen命令

ssh-keygen
生成一對金鑰,生成過程中可以設定乙個密碼,也可以不設定,生成完後,金鑰在當前使用者的.ssh目錄下(/home/git/.ssh/),金鑰一對,有兩個檔案id_rsa.pub和id_rsa. 以pub結尾的是公鑰,另乙個是私鑰.把公鑰考出來重新命名為.pub.

以上這些準備工作都做好之後,開始安裝gitolite.

首先,通過git拷貝gitolite

git clone git:
然後到/home/git下建立乙個bin目錄,不建立的話是會報錯的

cd /home/git

mkdir bin

進入剛剛拷貝的gitolite目錄執行安裝

./install -ln
沒有什麼錯誤資訊輸出的話,安裝就初步成功了,現在進入剛剛建立的bin目錄,可以看到裡面多了乙個gitolite檔案,然後執行
cd /home/git/bin

gitolite setup -pk /.pub

這個個命令在伺服器上建立了乙個名為gitolite-admin的git倉庫。

現在你可以看到在git目錄下多了乙個repositories目錄,這是git預設的倉庫的路徑,裡面有兩個倉庫,乙個是gitolite-admin,另乙個是test.

至此,git以及gitolite就安裝完成了

安裝完成後,在本地工具裡用剛剛的秘鑰進行登入,拷貝gitolite-admin倉庫到本地

git clone git@:gitolite-admin
轉殖到本地後,開啟gitolite-admin目錄,可以看到conf和keydir兩個目錄. conf目錄裡是配置檔案,keydir目錄裡是使用者的公鑰,開啟keydir目錄,可以看到剛才安裝的時候匯入的那個公鑰,也就是現在登入的這個使用者的公鑰.如果需要新增使用者,只要把他的公鑰拷貝到keydir這個目錄中即可,非常的簡單.

然後開啟conf目錄下的gitolite.conf檔案

剛開始這個檔案可能是這樣的:

repo gitolite-admin

rw+ = scott

repo testing

rw+ = @all

repo是後面是專案名稱,rw+是許可權,scott是使用者

例如下面這個配置檔案:

首先是定義了兩個組, 乙個是admin管理員組,另乙個是om專案組

然後看到repo om部分,定義了om專案的許可權,整個專案是admin組的使用者有讀寫許可權,master分支是admin組的使用者有讀寫許可權,dev分支是om組使用者有讀寫許可權.如果需要分配唯讀許可權的話分配乙個r即可.

@admin = abc

@om = abc bcd

repo gitolite-admin

rw+ = abc

repo testing

rw+ = @all

repo om

rw+ = @admin

rw+ master = @admin

rw+ dev = @om

這樣就完成了乙個簡單的git伺服器以及許可權配置.

Git 搭建git伺服器

環境 ubuntu16.4 1.以root使用者登陸linux後台,執行下面的命令安裝git apt install git2.建立git使用者 adduser git3.建立倉庫目錄 su git mkdir p repository myself.git4.初始化倉庫 cd repository...

Git 搭建Git伺服器

在遠端倉庫一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺服器...

搭建Git伺服器

在 遠端倉庫 一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺...