導航:首頁 > 配伺服器 > 如何架設git伺服器

如何架設git伺服器

發布時間:2024-09-26 23:43:33

① [開發環境] GIT伺服器搭建

本文主要介紹了如何搭建一個Git伺服器,包括創建用戶、管理公鑰、環境測試、創建服務、服務測試以及後續的優化步驟。

首先,創建一個默認的git用戶,用於伺服器的管理。接著,為了驗證用戶身份,需要將用戶的公鑰上傳到伺服器並添加到git賬戶中,這有助於遠程訪問和身份驗證。

環境測試階段,用戶可以在本地創建倉庫並嘗試從客戶端下載,以確認服務是否正常工作。通過命令行操作,測試通過後,我們進入服務搭建環節。

創建一個服務腳本`/etc/systemd/system/git-daemon.service`,以/srv/git為倉庫根目錄,啟動服務,採用git協議(9418埠)提供服務。服務測試時,在伺服器上建立測試倉庫,並通過客戶端驗證能否通過git協議獲取。

在實際應用前,為了安全考慮,需要禁用git用戶的遠程登錄,通過修改git賬戶的默認SHELL,並創建一個git-shell-commands/no-interactive-login腳本來提示用戶。此外,由於SSH和GIT訪問路徑不同,需要統一為/srv/git,為此需要先停止服務,再修改git賬戶的家目錄設置,最後重新啟動服務。

經過這些步驟,Git伺服器的搭建過程就基本完成了,現在它已經能夠提供安全且一致的Git服務,滿足日常的協作需求。

② 在linux下搭建Git伺服器

眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的託管到GitHub上,如果我們不原意公開項目的源代碼,公司又不想付費使用,那麼我們可以自己搭建一台Git伺服器,可以用Gitosis來管理公鑰,還是比較方便的。

搭建環境:

伺服器 CentOS6.6 + git(version 1.8.3.1)

客戶端 Windows10 + git(version 2.11.1.windows.1)

1. 安裝Git相關軟體

Linux是伺服器端系統,Windows作為客戶端系統,分別安裝Git

安裝客戶端:

下載 Git for Windows,地址:https://git-for-windows.github.io/

安裝完之後,可以使用Git Bash作為命令行客戶端。

安裝Gitosis

出現下面的信息表示安裝成功了

2. 伺服器端創建git用戶來管理Git服務

3. 配置公鑰

在Windows上配置管理者,git伺服器需要一些管理者,通過上傳開發者機器的公鑰到伺服器,添加成為git伺服器的管理者,打開git命令行

4. 配置gitosis

使用git用戶並初始化gitosis

在Windows上機器上clone gitosis-admin到管理者主機

gitosis.conf: git伺服器配置文件

keydir: 存放客戶端公鑰

配置 gitosis.conf 文件

在Windows管理者機器上創建本地test倉庫,並上傳到git服務端

提交到遠程伺服器

服務端會自動創建test倉庫

5.添加其他git用戶開發者

由於公司開發團隊人數不斷增多,手動添加開發者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機器的管理者統一收集其他開發者的私鑰id_rsa.pub文件,然後傳到伺服器上,配置好後,用戶即獲得項目許可權,可以從遠程倉庫拉取和推送項目,達到共同開發項目。

推送完成後,新加進來的開發者就可以進行項目的開發了,後續增加人員可以這樣添加進來,開發者直接把倉庫clone下來就可以了。

③ linux怎麼搭建git伺服器

GitHub就是一個免費託管開源代碼的遠程倉庫。但是對於某些視源代碼如生命的商業公司來說,既不想公開源代碼,又捨不得給GitHub交保護費,那就只能自己搭建一台Git伺服器作為私有倉庫使用。
搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git

第二步,創建一個git用戶,用來運行git服務:
$ sudo adser git

第三步,創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git

Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git

第五步,禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash

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

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
第六步,克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就簡單了。

閱讀全文

與如何架設git伺服器相關的資料

熱點內容
linux如何查看u盤 瀏覽:747
華為手機晶元和硬碟加密 瀏覽:458
程序員怎麼講解自己的項目 瀏覽:463
溫y亭4解壓密碼 瀏覽:708
如何求編譯器的量化誤差 瀏覽:331
小視頻多有什麼app 瀏覽:423
安卓平板怎麼禁止軟體自啟 瀏覽:406
手機里截屏照片在什麼文件夾 瀏覽:347
ppt加密輸入框不跳出來 瀏覽:109
android對象轉json字元串數組 瀏覽:327
快手私聊信息咋樣加密 瀏覽:71
linux程序設計下載 瀏覽:246
冷藏車拉貨用什麼app 瀏覽:243
如何崩掉我的世界伺服器 瀏覽:192
php關閉deprecated 瀏覽:677
單片機控制氣動電磁閥 瀏覽:838
php獲取上個月日期 瀏覽:634
心理解壓術論文 瀏覽:971
java的list和set 瀏覽:306
php7支持zend 瀏覽:394