當前位置:首頁 » 雲伺服器 » gitweb伺服器網頁搭建

gitweb伺服器網頁搭建

發布時間: 2023-08-23 14:03:56

『壹』 區域網內創建git伺服器的簡單方法

當資源有限,但是項目同時需要幾個人協同開發,我們就需要配置一個簡單的區域網內的git伺服器,方便協同開發。

首先我們新建遠端的git目錄,目錄名和本地倉庫名一致,並且在目錄下運行:

git init --bare

一個空的git倉庫就建立好了。然後我們需要把本地的倉庫和遠端的關聯起來。具體做法是,在本地git倉庫的目錄下執行:

git remote add origin ssh://用戶名@ip/倉庫路徑

比如:git remote add origin ssh://[email protected]/home/android/projects/gitserver/demoproject/。完成後,本地的提交,就可以push到遠端啦。比如:

git push origin master

就可以把本地的master推送到遠端。協同開發的同事可以通過如下命令獲取遠端的倉庫

git clone ssh://[email protected]/home/android/projects/gitserver/demoproject/

是不是很簡單呢

ps:實際使用過程中發現了一個問題,即本機的ip地址不是靜態的。如何解決這個問題呢?可以在每次ip改變以後,重置倉庫的origin url:

git remote set-url origin {url}

『貳』 在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下來就可以了。

『叄』 如何架設Git伺服器

Git沒譽告有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。
一、安裝GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟
安裝完成後,可以使用Git bash在命令行模式下操作git

二、安裝CopSSH

安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用慶腔明公鑰密鑰方式認證,
三、CopSSH中使用GIT

現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令圓猛,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。

l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下

l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下

重啟CopSSH即可

『肆』 如何在mac系統下搭建git伺服器

第一步,下載gitblit


http://gitblit.com/

這里當然是選擇linux/osx的版本。下載下來是一個.tar.gz的壓縮文件,我下載時最新版本是gitblit-1.7.1.tar.gz


『伍』 如何搭建git伺服器 windows

GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。在網上發現了這篇文檔——,並按之進行了操作。1)設置存放代碼庫的主目錄vi/etc/gitlab/gitlab.rb比如這里設置為:git_data_dir"/gitlab/repos"2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。這時會在/gitlab/repos下創建/gitlab/repos/repositories/cnblogs文件夾。然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs3)將現有的所有git項目文件復制到這個文件夾cp-r/data/git/*/gitlab/repos/repositories/cnblogs4)修改一下復制過來的文件夾的所有者:chown-Rgit:git/gitlab/repos/repositories/cnblogs5)運行GitLab導入命令cd/var/opt/gitlabgitlab-rakegitlab:import:repos等了一段時間之後,顯示done,卻一個項目也沒導入進來。經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。結果顯示導入成功,比如:Processingcnblogs/CNBlogsJob.git*CreatedCNBlogsJob(cnblogs/CNBlogsJob.git)Done!可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。後來,實在沒法,改為手動導入,導入方法如下:1)在GitLab站點上創建與要導入的項目同名的項目。2)進入剛創建的項目文件夾cd/gitlab/repos/repositories/cnblogs/項目名稱.git3)刪除該文件下的所有文件rm-rf*4)將要導入的項目文件夾下的所有文件復制過來cp-r/data/git/CNBlogsJob/*/gitlab/repos/repositories/cnblogs/CNBlogsJob.git就這樣將項目一個一個地導入進來。5)導入完成後,修改一下導入的所有項目的文件所有者chown-Rgit:git/gitlab/repos/repositories/cnblogs如果不修改所有者,客戶端無法進行gitpush。就這樣手動地完成了現有Git項目的導入。備註:操作系統是CentOS6.2,GitLab版本是7.8.4。

『陸』 搭建Git伺服器及備份伺服器

OS:CentOS 7.2
Git:1.8.3.1

備份模式:

以下步驟以雙機備份為例,單機備份同理,只是在鏡像git項目的時候把git url換成單機中的git項目目錄即可。

首先,查看系統軟體庫中是否有git和git的版本:

CentOS 7.2環境下的輸出如下:

CentOS 7.x版本的倉庫中已經附帶了1.8.3.1版本的git,可以直接安裝。
CentOS 6.x中的git是1.7.x版本,自帶庫中git版本低的linux發行版可以添加git1.8.3.1的源來安裝git,但這個操作要求本機能訪問互聯網
其他版本的git理論上也可以,請自行測試

結果最後顯示「安裝完成」或「Complete」表示安裝成功。可以直接使用git命令測試一下:

輸出如下表示git安裝成功並可用。

創建一個git用戶,用來提供給外部用戶以git url的方式訪問git庫。

在用戶目錄或其他對外目錄中創建 /git/repos 目錄,用來存放git庫。

注意: 盡量使用git用戶來創建該目錄,方便以後git操作該目錄,如果是使用其他用戶創建的,記得使用以下命令將該目錄的owner改為git:

為了方便訪問,可以在根目錄下創建一個軟鏈連接到該目錄:

這樣設置後,假如以後有一個庫叫 test.git ,那麼就可以通過以下url來訪問git庫了:

創建一個測試庫用來測試備份及連通性。

同主GIT伺服器的《安裝git》章節。

同主GIT伺服器的《創建git庫目錄》章節。
目錄結構盡量與主git伺服器上的結構一致,如果不一致,使用軟鏈的形式將git url配置為與主git伺服器一致,這樣保證在切換伺服器時,客戶端不用做修改操作。

以上個步驟中創建的 test.git 為例:

這樣,主git伺服器中的 test.git 就鏡像到備份機中了。

如果主伺服器的git項目發生了變更,可以將變更同步到備份機。

將以上同步命令寫成腳本,添加一個定時任務來定時同步即可。
(待補充)

備份同步時每次都需要輸入主git伺服器的密碼,比較麻煩,也不利於定時同步的腳本操作,可以使用ssh免密登錄的方式,在主伺服器上配置備份伺服器的公鑰。

一路Enter(回車鍵),完成後會列印出密鑰的生成位置,通常在用戶主目錄的 .ssh 目錄中。默認情況下會生成以下兩個文件:

一定要注意上述命令中的第三步,許可權要設置對,否則認證不過去不能免密登錄。

如果在實際運行中,主git伺服器掛了一段時間,在這段時間里一直是備份git伺服器在工作,那麼在修復好主伺服器後需要將這一段時間的變更同步回主伺服器。

操作完成後備份庫自上一次同步後的更改都推送到了主庫。

『柒』 搭建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.

剩下的推送就簡單了。

管理公鑰
如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。
這里我們不介紹怎麼玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。

管理許可權
有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統里設置一套完善的許可權控制,每個人是否有讀寫許可權會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼託管而開發的,所以Git也繼承了開源社區的精神,不支持許可權控制。不過,因為Git支持鉤子(hook),所以,可以在伺服器端編寫一系列腳本來控制提交等操作,達到許可權控制的目的。Gitolite就是這個工具。

『捌』 怎麼搭建git 伺服器

1、安裝OpenSSH並配置SSH無密碼登陸
通過命令 sudo apt-get install openssh-server,安裝SSH服務。

通過命令 ps –e|grep ssh,查看ssh服務是否啟動。

通過以上命令,我們為Ubantu系統安裝SSH服務,並配置SSH無密碼登陸,首先我們修改主機和ip配置文件:gedit /ect/hosts

2、創建用戶git,用來管理運行git服務。

3、配置無密碼SSH登陸
在gitClient_01上,我們使用命令:ssh-keygen –t rsa 生成密鑰

完成之後,在.ssh目錄下,我們可以看到id_rsa和id_rsa.pub文件,id_rsa.pub為公鑰,我們 通過命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git將gitClient_01上生成的公鑰拷貝到gitServer上。
在gitServer上我們首先查看/home/git/.ssh目錄下是否存在authorized_kesys文件,
如果沒有,可以通過touch authorized_keys創建此文件。
Authorized_keys創建完成後,將gitClient_01上拷貝過來的公鑰id_rsa.pub的內容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上內容完成後,我們在gitClient_01中,可以使用命令ssh gitServer即可完成無密碼登陸。

4、安裝Git
通過命令 sudo apt-get install git-core,安裝git

5、建立git倉庫的存儲目錄。

6、初始化伺服器端倉庫
使用命令 git –bare init /home/git/myRep.git,初始化化倉庫

7、在gitClient_01上,通過git clone命令進行克隆遠程倉庫,並在各自的電腦上運行開發。
Git clone git@gitServer:/home/git/myRep.git

通過以上的步驟就完成了git伺服器的搭建!

『玖』 使用Gitolite搭建Git伺服器

Git服務的管理工具,主要有如下幾種。

Gitolite 使用perl語言編寫,維護和更新比較積極,下面測試使用Gitolite搭建Git伺服器。

一般新建用戶 ~/.ssh/ 目錄是不存在的。

生成路徑會在ssh-kengen執行後給出,也可修改。windows下生成路徑默認位於 C:/user/用戶名/.ssh 下。

此時, gitolite 會初始化兩個倉庫,同時創建 authorized_keys 文件

管理庫中有兩個目錄, conf/ 和 keydir/ 。

倉庫的創建通過編輯 gitolite-admin/conf/gitolite.conf 即可,然後將配置後的文件上傳伺服器。

若本地已有倉庫repo2,將其添加到伺服器

gitolite可以通過用戶組的方式進行管理

如上提示,需要輸入密碼。
需要安裝 openssh ,並將 gitolite 用戶添加在 sshusers 組中,有的伺服器可能是 ssh 組。

計算機領域的Cookbook指的是實用經典案例的意思,是對一些普遍性問題的解決方案的總結和整理。

熱點內容
linux終端字元 發布:2025-02-04 12:52:40 瀏覽:734
c語言程序設計mobi 發布:2025-02-04 12:51:55 瀏覽:256
rsa演算法c語言 發布:2025-02-04 12:50:36 瀏覽:782
阿里雲伺服器託管破解 發布:2025-02-04 12:47:43 瀏覽:255
汽車都有什麼配置 發布:2025-02-04 12:42:51 瀏覽:455
ons解壓密碼 發布:2025-02-04 12:42:43 瀏覽:777
san存儲監控 發布:2025-02-04 12:42:06 瀏覽:41
apachemodpython 發布:2025-02-04 12:33:53 瀏覽:671
linuxphp安裝mysql 發布:2025-02-04 12:32:55 瀏覽:148
小米手機怎麼擴大配置 發布:2025-02-04 12:27:34 瀏覽:980