當前位置:首頁 » 雲伺服器 » git伺服器固定ip

git伺服器固定ip

發布時間: 2022-12-22 06:05:58

A. 使用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指的是實用經典案例的意思,是對一些普遍性問題的解決方案的總結和整理。

B. 如何在mac系統下搭建git伺服器

第一步,下載gitblit


http://gitblit.com/

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


C. 怎麼在ubuntu創建git伺服器

安裝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

D. windows 上怎麼搭建git伺服器

安裝msysgit
安裝步驟此處略去。
安裝CopSSH
安裝步驟此處略去。
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:
生成用戶帳號
1在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:
2將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):
激活用戶
1在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):
2進入COPSSH ControlPanel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):
3選擇Users頁面:
4點選Add按鈕,出現如下導航對話框:
5選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:
6選擇Forward按鈕,進入如下頁面,選擇Linuxshell and Sftp,所有選項選中:
7選擇Forward按鈕,進入確認頁面,選擇Apply:
8回到如下頁面,選擇Apply後,關閉。
公鑰文件上傳
1從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\ProgramFiles\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2Windows啟動程序組中運行Start a UnixBASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):
3運行如下unix命令行,如運行未出錯,則完畢。
生成Git庫容器目錄
1在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
2滑鼠右鍵點擊該目錄,選擇共享和安全…;
3在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
4確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。
確認防火牆開放了22埠
確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。
修改用戶登錄運行腳本
1修改C:\ProgramFiles\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行:

E. 如何將git伺服器提供給其他人使用

1. 架設Git伺服器
我們以Ubuntu為例。首先,在git伺服器上創建一個名為 'git' 的用戶,並為其創建一個.ssh 目錄。並將其許可權設置為僅git用戶有讀寫許可權
$ sudo adser git
$ su git
$ cd
$ mkdir .ssh
$ chmod 700 .ssh

接下來,把開發者的 SSH 公鑰添加到這個用戶的 authorized_keys 文件中。假設你通過電郵收到了幾個公鑰並存到了臨時文件里。重復一下,公鑰大致看起來是這個樣子:
$ cat /tmp/id_rsa.john.pub
ssh-rsa /ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17//5zytK6Ztg3RPKK+4k
Ez
/nLF6JLtPofwFBlgc+myiv
Pq
dAv8JggJICUvax2T9va5 gsg-keypair

只要把它們逐個追加到 authorized_keys 文件尾部即可,同時將authorized_keys設置為僅git用戶有讀寫許可權。
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

現在可以用 --bare 選項運行 git init 來建立一個裸倉庫,這會初始化一個不包含工作目錄的倉庫。
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init

這時,Join,Josie 或者 Jessica 就可以把它加為遠程倉庫,推送一個分支,從而把第一個版本的項目文件上傳到倉庫里了。值得注意的是,每次添加一個新項目都需要通過 shell 登入主機並創建一個裸倉庫目錄。我們不妨以 gitserver 作為 git 用戶及項目倉庫所在的主機名。如果在網路內部運行該主機,並在 DNS 中設定 gitserver 指向該主機,那麼以下這些命令都是可用的:
# 在 John 的電腦上
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

這樣,其他人的克隆和推送也一樣變得很簡單:
$ git clone git@gitserver:/opt/git/project.git
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

用這個方法可以很快捷地為少數幾個開發者架設一個可讀寫的 Git 服務。
作為一個額外的防範措施,你可以用 Git 自帶的 git-shell 工具限制 git 用戶的活動范圍。只要把它設為 git 用戶登入的 shell,那麼該用戶就無法使用普通的 bash 或者 csh 什麼的 shell 程序。編輯/etc/passwd 文件:
$ sudo vim /etc/passwd

在文件末尾,你應該能找到類似這樣的行:
git:x:1000:1000::/home/git:/bin/sh

把 bin/sh 改為 /usr/bin/git-shell (或者用 which git-shell 查看它的實際安裝路徑)。該行修改後的樣子如下:
git:x:1000:1000::/home/git:/usr/bin/git-shell

現在 git 用戶只能用 SSH 連接來推送和獲取 Git 倉庫,而不能直接使用主機 shell。嘗試普通 SSH 登錄的話,會看到下面這樣的拒絕信息:
$ ssh git@gitserver
fatal: What do you think I am? A shell?
Connection to gitserver closed.

這里提供的方法,組內所有成員對project都有讀寫許可權,也就是說每個分支都可以push代碼,如果需要更加細致的許可權控制,請使用Gitosis或者Gitolite。
2. 搭建Gitweb
安裝gitweb之後就可以通過網站訪問我們的項目了。就像http://git.kernel.org一樣顯示了
首先需要安裝Gitweb,如果沒有安裝apache,那麼直接安裝Gitweb,也會將apache2安裝的。
$ sudo apt-get install gitweb apache2

安裝完成之後,我們只需要修改一下配置文件,將/etc/gitweb.conf文件中的$projectroot修改為放工程文件的目錄。
$ vim /etc/gitweb.conf
# path to git projects (<project>.git)
$projectroot = "/opt/git";

至此gitweb就可以使用了,現在可以通過http://[git_server_IP]/gitweb訪問了。
3. Push之後發送郵件通知
當組內成員push代碼到伺服器上之後,會自動發送郵件通知組內所有人員,該次push的具體內容是什麼。具體配置方法:
一般在安裝Git的時候發送郵件的腳本/usr/share/git-core/contrib/hooks/post-receive-email已經存在了,首先要修改所有者和執行許可權,並且安裝sendmail。
$ sudo chown git:git post-receive-email
$ sudo chmod 755 post-receive-email
$ sudo apt-get install sendmail

然後到切換到工程目錄下的hooks中,添加 post-receive軟鏈接指向 /usr/share/git-core/contrib/hooks/ post-receive-email。
$ cd /opt/git/project.git/hooks
$ ln -s /usr/share/git-core/contrib/hooks/post-receive-email post-receive

最後修改工程目錄中的config文件即可。mailinglist是郵件列表, envelopesender是發件人的郵箱,
$ vim /opt/git/project.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true

[hooks]
mailinglist = "[email protected], [email protected]" # 收件人列表
envelopesender = [email protected] # 送件人地址
emailprefix = "[Project commit] " # 郵件標題前綴
showrev = "git show -C %s; echo" # 不只顯示有變化的文件,同時也顯示改變的內容

為了使郵件顯示的更清楚,還要修改一下工程目錄當中的description文件,在description文件中,默認第一行是項目名稱,所以要在第一行填入該項目的名稱,這個在郵件中會有顯示。
$ vim /opt/git/project.git/description
Project_A

F. 怎麼在windows下架設Git伺服器

1、打開控制面板->管理工具->服務項目,禁用Windows防火牆服務。

2、打開控制面板->管理工具,雙擊「路由和遠程訪問」。然後右鍵點擊伺服器圖標,再點擊「配置並啟用路由和遠程訪問」。

3、在「路由和遠程伺服器安裝向導」中,選擇「自定義配置」。

4、勾選「VPN訪問」和「NAT和基本防火牆」。

5、點擊「完成」。系統提示「要開始服務嗎?」,選擇「是」。

6、接下來開始配置路由和遠程訪問,我們先點擊本地服務旁邊的+按鈕,把左側菜單展開,再點擊IP路由選擇旁邊的+按鈕。

7、下面配置靜態IP地址。右鍵點擊本地服務,點擊屬性,再點擊IP選項卡。

8、點選「靜態地址池」,點擊「添加」。輸入一個起始IP地址和結束IP地址范圍,推薦輸入192.168.1.100到192.168.1.254這個范圍,因為192.168段屬於本地保留IP段。最後點擊「確定」。

9、右鍵點擊「靜態路由」,再點擊「新建靜態路由」。

10、目標和網路掩碼都輸入0,網關請和TCP/IP屬性中的默認網關保持一致。

11、刪除「DHCP中繼代理程序」中的「內部」項目。

12、然後右鍵點擊「DHCP中繼代理程序」,再點擊「新增介面」。

13、選擇「本地連接」,再點擊「確定」,然後在彈出的對話框中點擊「確定」。

14、右鍵點擊「NAT/基本防火牆」,再點擊「新增介面」,然後選擇「本地連接」,點擊「確定」。

15、在彈出的對話框中先點選「公共介面連接到Internet」,再勾選「在此介面上啟用NAT」,最後點擊「確定」。

G. linux搭建git遠程倉庫

1. linux和windows端分別安裝git,其中linux中可以用yum安裝

[root@node0~]#yum install git

git的默認安裝路徑在/usr/libexec/git-core

[root@node0 git-core]#cd /usr/libexec/git-core

[root@node0 git-core]#git --version

git version 1.7.1

2.設置linux端git的用戶名和密碼

[root@node0 git-core]# groupadd git

[root@node0 git-core]# useradd wang -g git

[root@node0 git-core]# passwd wang

New password:

3.在伺服器端創建遠程倉庫

[root@node0 ~]# mkdir -p /mnt/gitrep/wjf

[root@node0 ~]# cd /mnt/gitrep/wjf/

[root@node0 wjf]# git init

Initialized empty Git repository in /mnt/gitrep/wjf/.git/

把倉庫所屬用戶改為wang(git的用戶名)

[root@node0 wjf]# chown -R wang:git .git/

註:chown將指定文件的擁有者改為指定的用戶或組 -R處理指定目錄以及其子目錄下的所有文件

4.在windows客戶端克隆倉庫 

$ git clone [email protected]:/mnt/gitrep/wjf/.git

Cloning into 'wjf'...

The authenticity of host '192.168.111.60 (192.168.111.60)' can't be established.

RSA key fingerprint is SHA256:MgWCWF************************1m2tI.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.111.60' (RSA) to the list of known hosts.

[email protected]'s password:

第一次連接遠程倉庫,出現黑體部分,這是因為Git使用SSH連接,而SSH連接在第一次驗證GitHub伺服器的Key時,需要你確認GitHub的Key的指紋信息是否真的來自GitHub的伺服器,鍵入yes,然後輸入遠程倉庫的密碼就可以了。

5.實際中也通常通過設置公鑰的方式來連接遠程倉庫,這樣就不用每次連接都需要密碼了。

設置公鑰:

1.在windows客戶端的gitbash中生成用戶私鑰和公鑰

$ ssh-keygen -t rsa -C "[email protected]"

在c盤用戶路徑下的/.ssh文件夾下會生成私鑰id_rsa和公鑰id_rsa.pub

2.linux端

首先 Git伺服器打開RSA認證,即,修改/etc/ssh/sshd_config,將其中的以下三項打開

RSAAuthentication yes 

 PubkeyAuthentication yes 

 AuthorizedKeysFile .ssh/authorized_keys

然後,將客戶端生成的公鑰給到伺服器端

即,將公鑰給到 home/wang(git的用戶名)/.ssh/authorized_keys

[root@node0 ~]# cd /home/wang

[root@node0 wang]# mkdir .ssh

[root@node0 wang]# chmod 777 .ssh

[root@node0 wang]# touch .ssh/authorized_keys

在windows客戶端的gitbash中 執行:

$ ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

然後在linux端:

[root@node0 wang]# chmod 600 .ssh/authorized_keys

[root@node0 wang]# chmod 700 .ssh

[root@node0 wang]# chown wang:git .ssh

[root@node0 wang]# chown wang:git .ssh/authorized_keys 

至此,以後再連接遠程倉庫就不需要密碼了。

若仍需要密碼,可以查看ssh連接日誌/var/log/secure:

常見連接失敗原因:Authentication refused: bad ownership or modes for directory /home/wang/.ssh 

這時需要檢查該目錄的所屬用戶和讀寫許可權等級是否符合要求。公鑰以及.ssh文件的許可權應該屬於git的用戶和用戶組,讀寫許可權等級.ssh 700,authorized_keys 600.

H. 如何使用centos 搭建git

在很多Linux系統庫中都有Git,可以直接用命令行安裝。
例如Fedora中可以直接用yum install git等,參考如下:
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Arch Linux
$ pacman -S git
openSUSE
$ zypper install git
FreeBSD
$ cd /usr/ports/devel/git$ make install
Solaris 11 Express
$ pkg install developer/versioning/git
OpenBSD
$ pkg_add git
新版的CentOS後續好像也支持了這個功能,但是這種方法雖然簡單,但是一般倉庫里的版本更新不及時,比如 CentOS 倉庫中的 git 最新版是1.7.1,但是 git 官方已經到2.x 的版本了。對於想要獲取最新git的系統,只能下rpm包或者用源碼
步驟如下:
1、下載編譯工具
yum groupinstall 「Development Tools」
2、下載依賴包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3、下載 git 最新版本的源代碼
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
或者
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
4、解壓源文件
tar -zxvf git-latest.tar.gz
或者
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
5、編譯安裝
autoconf
./configure
make -jn && make -jn install
其中make -j n中的n為指定線程數,對於多核處理器這樣可以加快編譯安裝的速度
6、添加link
ln -s /usr/local/bin/git /usr/bin/
這一步對於原本系統中有舊版git的系統很重要,會報告Link已存在,此時要刪除原來的Link即/usr/bin/git,再執行第六步。
7、檢查版本號
git --version
對於系統中存在老版的git的系統,安裝了新git後用git --version查看仍然顯示為老版就是因為i忽略了第六步,這是很重要的!

I. 怎麼從外網訪問內網git伺服器

外網訪問內網的服務一般有 以下幾種方式:

  1. 將 內網伺服器置於DMZ區,這樣內網和外網都能訪問

  2. 在DMZ區放置一公共伺服器,通過反向代理的方式訪問

  3. 使用VPN接入內網直接訪問

熱點內容
翻杯子演算法 發布:2025-03-16 03:34:31 瀏覽:602
ftp後台密碼怎麼設置 發布:2025-03-16 03:33:08 瀏覽:360
阿里雲伺服器的sdk是免費的嗎 發布:2025-03-16 03:33:04 瀏覽:7
卸載linux軟體 發布:2025-03-16 03:19:07 瀏覽:808
太平天國迅雷下載ftp 發布:2025-03-16 03:13:19 瀏覽:64
伺服器硬碟溫度怎麼調節 發布:2025-03-16 03:11:47 瀏覽:74
netcore編譯前執行代碼 發布:2025-03-16 03:05:17 瀏覽:475
飢荒聯機版伺服器搭建程序 發布:2025-03-16 02:55:18 瀏覽:684
win7如何訪問共享 發布:2025-03-16 02:55:14 瀏覽:37
centosphp升級 發布:2025-03-16 02:42:04 瀏覽:52