詳解在阿里雲上搭建自己的git伺服器

2022-09-25 08:21:07 字數 2245 閱讀 2092

1. 安裝git

首先安裝git,一般而言,現在的伺服器已經內建了git安裝包,我們只需要執行簡單的安裝命令即可安裝。比如:

$ yum install git # centos

$ apt-get install git # ubuntu

上面是直接用root登陸伺服器進行操作,也是為了演示方便。

git和mysql不一樣,mysql在安裝時,得安裝mysql-server,即mysql伺服器,git是分布式的,每乙個安裝了git的電腦,既是客戶端,也是伺服器,git與git之間可以相互通訊,而我們所謂的git伺服器,實際上和我們自己的電腦沒有什麼本質上的差別。但是,我們為了更有效的管理專案,都採取中心化的管理方式,因此建立乙個「git伺服器」,作為其他所有人提交**的最終終端。

2.建立git使用者及許可權

我們當然不允許直接使用root來進行通訊互動了,所以,我們建立乙個git使用者來作為今後提交**的使用者。

$ adduser git

執行這條命令之後,你發現在/home目錄下多了乙個git目錄,按理來說,現在,你的系統中多了這個git使用者,並且家目錄在/home/git。但是,我們並不希望這個使用者通過ssh連線到伺服器上面去,所以,我們要禁止這個使用者使用ssh連線上去進行操作。我們通過編輯乙個許可權檔案來處理:

$ vi /etc/passwd

找到類似於

git:x:1001:1001:,,,:/home/git:/bin/bash

這樣的行,你看到那個末尾的/bin/bash,就是允許ssh連線操作的權rjziz限,我們把它改為/user/bin/git-shell,結果如下:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣處理好,git就不能ssh連上去了(實際上是可以的,只不過會閃退)。

我們還得給git分配乙個密碼,執行:

$ passwd gi程式設計客棧t 123456(你的密碼)

這個密碼用在你後面提交**的時候使用。

3.公鑰

這個是git裡面比較特殊的一步操作,通訊的時候,客戶端與伺服器需要乙個證書進行驗證。操作方法很簡單,首先在你自己的電腦上(ubuntu)生成自己的乙個公鑰:

$ cd ~

$ ssh-keygen -t rsa

這時你自己電腦上就有乙個公鑰了,但是在**呢?在.ssh目錄下,.開頭的資料夾都是隱藏的,但是可以cd進去。

$ cd .ssh

$ vi id_rsa.pub

這樣就能看到你的公鑰了,把所有的內容複製下來。接下來,我們去回伺服器上面操作。

$ cd /home/git/

$ mkdir .ssh

$ cd .ssh

$ vi authorized_keys

如果是裸機,伺服器上面/home/git目錄下應該沒有.ssh目錄,所以我們自己建立,開啟(自動建立)authorized_keys之後,把剛才複製下來的公鑰黏貼進去,ok了,儲存退出。

使用證書,主要是為了無需密碼就可以提交**。

4.初始化乙個git倉庫

我習慣把這類東西丟到/var下去,所以,我們在/var下面建立乙個git目錄

$ cd /var

$ mkdir git

$ chown -r git:git git

$chmod 777 git

$ cd git

接下來,我們用git命令初始化乙個倉庫:

$ git init --bare arepof程式設計客棧oryourproject.git

初始化完成之後,這個空的倉庫就ok了。

這裡有乙個細節,就是.git目錄必須要有可讀寫許可權,因為當我們在push的時候,是使用git使用者推送到伺服器上面去,會有乙個寫入的過程,如果不賦予可寫許可權,push就會失敗。

5.轉殖試試

回到你本地的電腦上,我們通過轉殖來試試倉庫是否可以使用:

$ git clone [email protected]:/var/git/arepoforyourproject.git

然後會提示你輸入git的密碼,輸入進去,然後會再提示你轉殖了乙個空白的版本庫。這說明伺服器已經ok了。

6.多使用者和許可權管理

如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys檔案裡就是可行的。如果團隊有幾百號人,就沒法這麼玩了,這時,可以用gitosis來管理公鑰。

本文標題: 詳解在阿里雲上搭建自己的git伺服器

本文位址: /jiqiao/fuwuqi/210915.html

在阿里雲上搭建個人部落格

1.購買網域名稱 伺服器,網域名稱備案 2.使用xshell登入伺服器,安裝寶塔面板 安裝命令 yum install y wget wget o install.sh sh install.sh 公升級命令 curl 開放寶塔要使用的埠號 到這一步說明安裝成功了,這裡有後台位址 使用者名稱 密碼,...

在阿里雲 Centos7 上搭建DOCKER環境

最近公司要為新專案搭建一套演示環境,服務比較多。所以準備用docker進行容器化部署。安裝 公升級docker客戶端 使用yum進行安裝 step 1 安裝必要的一些系統工具 step 2 新增軟體源資訊 sudo yum config manager add repo step 3 更新並安裝 d...

Git服務搭建 阿里雲搭建Gogs

基礎環境 阿里雲ubuntu 16.04 64位 1核 1gb 1mbps nginx nginx 1.12.2 mysql ver 14.14 distrib 5.6.39,for linux glibc2.12 x86 64 git version 2.7.4 搭建gogs 1.新增git使用者...