導航:首頁 > 配伺服器 > 如何架設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伺服器相關的資料

熱點內容
php明年的今天 瀏覽:113
麒麟970也能用方舟編譯器么 瀏覽:473
金融實驗大作業python 瀏覽:793
雲伺服器搭建聊天室 瀏覽:601
怎麼在手機上下載荔枝app 瀏覽:13
湖南戴爾伺服器雲空間 瀏覽:361
聯想驅動怎麼解壓 瀏覽:266
程序員進化論解說 瀏覽:871
怎麼設置個性化文件夾圖標 瀏覽:390
基金投資與入門技巧pdf 瀏覽:891
十六進制文件反編譯成c語言 瀏覽:579
程序員手術裸辭 瀏覽:251
編譯生成錯誤是什麼原因 瀏覽:965
我命令你停下用英語怎麼說 瀏覽:75
rtk文件夾不正確怎麼辦 瀏覽:926
java方法簽名 瀏覽:83
java程序員加薪申請書 瀏覽:600
女孩子如何嫁給程序員 瀏覽:657
安卓的動畫響應為什麼卡 瀏覽:835
怎麼把axure放到伺服器上 瀏覽:847