本文所有操作均基於阿里雲服務器及CentOS 7.7系統,所有操作均使用root用戶完成。
本文最終達成的目的:搭建一個私有git服務器,用於自己多台電腦之間的項目同步;同時可以允許任何人使用git協議clone其中的某些項目。
首先,我們在本地安裝git。我使用的是Windows系統,可以直接從官網下載安裝包進行安裝,安裝過程就不在此贅述了。
1、在服務器上安裝git(參考博客)
在服務器端安裝git的主要目的有2個:其一是用於在服務器上新建倉庫,其二是作為git協議的deamon使用。由於CentOS的包管理器自帶的git版本太低,因此我們不使用包管理器自帶的git。當然如果你願意使用自帶版本的git,你可以直接執行
yum install git
來安裝。在此,我仍然希望使用最新版的git,因此需要自行編譯安裝。首先,卸載系統自帶的git,並安裝一些依賴:
之后,我們創建一個目錄用來放置我們下載的源代碼。由於我使用的是root賬戶登錄,因此執行
創建好目錄之后,我們從官網上下載git的源代碼以及其依賴的libiconv庫(下載鏈接)。下載好之后,通過ftp工具上傳到/root/code目錄中。
首先解壓並安裝libiconv庫(此處文件名根據你下載的版本不同有所不同):
然后,編譯安裝git:
安裝完成之后,我們將安裝后git可執行文件的連接到/usr/bin:
接下來,可以查看git的版本是否為我們安裝完成的版本:
2、搭建git服務器(參考官方教程)
git服務器,簡單而言就是一個提供ssh訪問的服務器而已。我們需要做的只有一台支持ssh訪問的服務器,以及合適的權限管理而已。如果服務器作為私有使用,配置就變得更加簡單了:只需要新建一個git賬戶(防止直接使用root賬戶導致的安全問題)、配置好服務器上的公鑰並在服務器上創建裸倉庫即可。
首先,我們新建一個
現在git用戶的家目錄為