導航:首頁 > 配伺服器 > 如何在伺服器上安裝git伺服器地址

如何在伺服器上安裝git伺服器地址

發布時間:2022-08-27 22:15:39

⑴ mac 怎麼安裝git 伺服器

本文介紹如何在 mac 機器上創建 Git 伺服器,總體思路是:使用gitosis來簡化創建過程,在用作伺服器的機器上創建一個名為 git 的賬戶來創建 git 伺服器,其他客戶端通過 ssh 機制訪問 git 伺服器。

一,創建 git 賬戶

1,在用作伺服器的機器上創建 git 賬戶。我們可以通過 System Preferences->accounts 來添加。在這里我添加一個 git 的 administrator 賬戶,administrator 不是必須的,在這里僅僅為了方便。

2,設置遠程訪問

logout 當前賬戶,使用 git 賬戶登錄;在 System Preferences->Sharing 中,勾選 Remote Login。

二,下載安裝 gitosis

1,Mac OSX Yosemite 默認已經為我們安裝了 Git 和 python,可以使用如下命令查看其版本信息:

yourname:~ git$git--version
git version 2.3.2 (Apple Git-55)
yourname:~ git$python--version
Python 2.7.9

2,通過命令 git clone [email protected]:tv42/gitosis.git 來下載 gitosis

yourname:~ git$ git clone [email protected]:tv42/gitosis.git
Cloning into gitosis
remote: Counting objects: 614, done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 614 (delta 434), reused 594 (delta 422)
Receiving objects: 100% (614/614), 93.82 KiB | 45 KiB/s, done.
Resolving deltas: 100% (434/434), done.

3,進入 gitosis 目錄,使用命令 sudo python setup.py install 來執行 python 腳本來安裝 gitosis。

yourname:~ git$ cd gitosis/yourname:gitosis git$ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating gitosis.egg-info
……
Using /Library/Python/2.6/site-packages/setuptools-0.6c9-py2.6.egg
Finished processing dependencies for gitosis==0.2

三,製作 ssh rsa 公鑰

1,回到 client 機器上,製作 ssh 公鑰。在這里我的使用同一台機器上的另一個賬戶作為 client。如果作為 client 的機器與作為 server 的機器不是同一台,也是類型的流程:製作公鑰,放置到服務的 /tmp 目錄下。只不過在同一台機器上,我們可以通過開啟另一個 terminal,使用 su 切換到 local 賬戶就可以同時操作兩個賬戶。

yourname:~ git$ su local_accountPassword:bash-3.2$ cd ~
bash-3.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/local_account/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:Your identification has been saved in /Users/local_account/.ssh/id_rsa.
Your public key has been saved in /Users/local_account/.ssh/id_rsa.pub.

bash-3.2$ cd .ssh
bash-3.2$ ls
id_rsa id_rsa.pub
bash-3.2$ cp id_rsa.pub /tmp/yourame.pub

在上面的命令里,首先通過 su 切換到 local 賬戶(只有在同一台機器上才有效),然後進入到 local 賬戶的 home 目錄,使用 ssh-keygen -t rsa 生成 id_rsa.pub,最後將該文件拷貝放置到 /tmp/yourname.pub,這樣 git 賬戶就可以訪問 yourname.pub了,在這里改名是為了便於在 git 中辨識多個 client。

四,使用 ssh 公鑰初始化 gitosis

1,不論你是以那種方式(郵件,usb等等)拷貝 yourname.pub 至伺服器的 /tmp/yourname.pub。下面的流程都是一樣,登入伺服器機器的 git 賬戶,進入先前提到 gitosis 目錄,進行如下操作初始化 gitosis,初始化完成後,會在 git 的 home 下創建 repositories 目錄。

yourname:gitosis git$ sudo -H -u git gitosis-init < /tmp/yourname.pub
Initialized empty Git repository in /Users/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /Users/git/repositories/gitosis-admin.git/

在這里,會將該 client 當做認證受信任的賬戶,因此在 git 的 home 目錄下會有記錄,文件 authorized_keys 的內容與 yourname.pub 差不多。

yourname:~ git$ cd ~yourname:~ git$ cd .sshyourname:.ssh git$ ls
authorized_keys

我們需要將 authorizd_keys 稍做修改,用文本編輯器打開它,刪除裡面的"command="gitosis-serve yourname",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " 這一行:

yourname:.ssh git$ open -e authorized_keys

然後,我們對 post-update 賦予可寫許可權,以便 client 端可以提交更改。

yourname:gitosis git$ sudo chmod 755 /Users/git/repositories//gitosis-admin.git/hooks/post-update
Password:
yourname:.ssh git$ cd ~
yourname:~ git$ cd repositories/
yourname:repositories git$ ls
gitosis-admin.git
yourname:repositories git$

在上面的命令中可以看到,gitosis 也是作為倉庫的形式給出,我們可以在其他賬戶下 checkout,然後對 gitosis 進行配置管理等等,而無需使用伺服器的 git 賬戶進行。

最後一步,修改 git 賬戶的 PATH 路徑。

yourname:gitosis git$ touch ~/.bashrc
yourname:gitosis git$ echo PATH=/usr/local/bin:/usr/local/git/bin:$PATH > .bashrc
yourname:gitosis git$ echo export PATH >> .bashrc
yourname:gitosis git$ cat .bashrc
PATH=/usr/local/bin:/usr/local/git/bin:$PATHexport PATH

至此,伺服器的配置完成。

五,client 配置

1,回到 local 賬戶,首先在 terminal 輸入如下命令修改 local 的 git 配置:

bash-3.2$ git config --global user.name "yourgitname"bash-3.2$ git config --global user.email "[email protected]"

2,測試伺服器是否連接正確,將 10.1.4.211 換成你服務的名稱或伺服器地址即可。

yourname:~ local_account$ ssh [email protected] login: Mon Nov 7 13:11:38 2011 from 10.1.4.211

3,在本地 clone 伺服器倉庫,下面以 gitosis-admin.git 為例:

bash-3.2$ git clone [email protected]:repositories/gitosis-admin.git
Cloning into gitosis-adminremote: Counting objects: 5, done.remote: Compressing objects: 100% (5/5), done.remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
bash-3.2$ ls
Desktop InstallApp Music Sites
Documents Library Pictures gitosis-admin
Downloads Movies Public
bash-3.2$ git

在上面的輸出中可以看到,我們已經成功 clone 伺服器的 gitosis-admin 倉庫至本地了。

4,在本地管理 gitosis-admin:
進入 gitosis-admin 目錄,我們來查看一下其目錄結構:gitosis.conf 文件是一個配置文件,裡面定義哪些用戶可以訪問哪些倉庫,我們可以修改這個配置;`keydir` 是存放ssh 公鑰的地方。

bash-3.2$ cd gitosis-admin/
bash-3.2$ ls
gitosis.conf keydir
bash-3.2$ cd keydir/
bash-3.2$ ls
yourname.pub

我們只需要將其他 client 產生的 ssh 公鑰添加到 keydir 目錄下,並在 gitosis.conf 文件中配置這些用戶可以訪問的倉庫(用戶名與放置在 keydir 下sh 公鑰名相同,這就是在前面我們要修改ssh 公鑰名的原因),然後將改動提交至伺服器,這樣就可以讓其他的 client 端訪問伺服器的代碼倉庫了。

5,倉庫許可權管理

gitosis.conf文件是用來設置用戶、倉庫和許可權的控制文件。keydir 目錄則是保存所有具有訪問許可權用戶公鑰的地方— 每人一個。在 keydir 里的文件名(比如上面的 yourname.pub)應該跟你的不一樣 — Gitosis 會自動從使用 gitosis-init 腳本導入的公鑰尾部的描述中獲取該名字。

看一下 gitosis.conf 文件的內容,它應該只包含與剛剛克隆的 gitosis-admin 相關的信息:

$ cat gitosis.conf
[gitosis]

[group gitosis-admin]
members = scott
writable = gitosis-admin

它顯示用戶 yourname — 初始化 Gitosis 公鑰的擁有者 — 是唯一能管理 gitosis-admin 項目的人。

現在我們來添加一個新項目。為此我們要建立一個名為 mobile 的新段落,在其中羅列手機開發團隊的開發者,以及他們擁有寫許可權的項目。由於 yourname 是系統中的唯一用戶,我們把他設為唯一用戶,並允許他讀寫名為 iphone_project 的新項目:

[group mobile]
members = scott
writable = iphone_project

修改完之後,提交 gitosis-admin 里的改動,並推送到伺服器使其生效:

$ git commit -am 'add iphone_project and mobile group'[master 8962da8] add iphone_project and mobile group
1 file changed, 4 insertions(+)
$ git push origin master
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 272 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@gitserver:gitosis-admin.git
fb27aec..8962da8 master -> master

6,添加新項目到倉庫種

在新工程 iphone_project 里首次推送數據到伺服器前,得先設定該伺服器地址為遠程倉庫。但你不用事先到伺服器上手工創建該項目的裸倉庫— Gitosis 會在第一次遇到推送時自動創建:

$ git remote add origin git@gitserver:iphone_project.git
$ git push origin master
Initialized empty Git repository in /opt/git/iphone_project.git/
Counting objects: 3, done.
Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@gitserver:iphone_project.git
* [new branch] master -> master

請注意,這里不用指明完整路徑(實際上,如果加上反而沒用),只需要一個冒號加項目名字即可 — Gitosis 會自動幫你映射到實際位置。

要和朋友們在一個項目上協同工作,就得重新添加他們的公鑰。不過這次不用在伺服器上一個一個手工添加到 ~/.ssh/authorized_keys 文件末端,而只需管理 keydir 目錄中的公鑰文件。文件的命名將決定在 gitosis.conf 中對用戶的標識。現在我們為 John,Josie 和 Jessica 添加公鑰:

$ cp /tmp/id_rsa.john.pub keydir/john.pub
$ cp /tmp/id_rsa.josie.pub keydir/josie.pub
$ cp /tmp/id_rsa.jessica.pub keydir/jessica.pub

然後把他們都加進 mobile 團隊,讓他們對 iphone_project 具有讀寫許可權:

[group mobile]
members = scott john josie jessica
writable = iphone_project

如果你提交並推送這個修改,四個用戶將同時具有該項目的讀寫許可權。

Gitosis 也具有簡單的訪問控制功能。如果想讓 John 只有讀許可權,可以這樣做:

[group mobile]
members = scott josie jessica
writable = iphone_project

[group mobile_ro]
members = johnreadonly = iphone_project

現在 John 可以克隆和獲取更新,但 Gitosis 不會允許他向項目推送任何內容。像這樣的組可以隨意創建,多少不限,每個都可以包含若干不同的用戶和項目。甚至還可以指定某個組為成員之一(在組名前加上 @ 前綴),自動繼承該組的成員:

[group mobile_committers]
members = scott josie jessica

[group mobile]
members = @mobile_committers
writable = iphone_project

[group mobile_2]
members = @mobile_committers john
writable = another_iphone_project

如果遇到意外問題,試試看把 loglevel=DEBUG 加到 [gitosis] 的段落(譯註:把日誌設置為調試級別,記錄更詳細的運行信息。)。如果一不小心搞錯了配置,失去了推送許可權,也可以手工修改伺服器上的 /home/git/.gitosis.conf 文件 — Gitosis 實際是從該文件讀取信息的。它在得到推送數據時,會把新的 gitosis.conf 存到該路徑上。所以如果你手工編輯該文件的話,它會一直保持到下次向 gitosis-admin 推送新版本的配置內容為

⑵ 如何在windows下安裝git伺服器

安裝msysgit
安裝步驟此處略去。

END
安裝CopSSH
安裝步驟此處略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:

END
生成用戶帳號
1、在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:

2、將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):

END
激活用戶
1、在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2、進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):

3、選擇Users頁面:

4、點選Add按鈕,出現如下導航對話框:

5、選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:

6、選擇Forward按鈕,進入如下頁面,選擇linux shell and Sftp,所有選項選中:

7、選擇Forward按鈕,進入確認頁面,選擇Apply:

8、回到如下頁面,選擇Apply後,關閉。

END
公鑰文件上傳
1、從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\Program Files\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2、Windows啟動程序組中運行Start a Unix BASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3、運行如下unix命令行,如運行未出錯,則完畢。

END
生成Git庫容器目錄
1、在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
2、滑鼠右鍵點擊該目錄,選擇共享和安全…;
3、在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
4、確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。
END
確認防火牆開放了22埠
確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。
END
修改用戶登錄運行腳本
1、修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行:

⑶ 如何在windows上架設Git伺服器

如何在windows上架設Git伺服器

翻譯自google(或者googlecode?),自己加了一段關於ssh密鑰的操作。

TortoiseGit + msysgit + CopSSH + WindowsXP as server

1.需要軟體
msysgit (伺服器和客戶端)
CopSSH (伺服器)
TortoiseGit (客戶端)
Junction Link Magic (伺服器,可選)
版本就不寫了,找最新的就是

2.伺服器上
安裝msysgit
選擇plink, 不是OpenSSH
選擇將Git加入path (第二個選項)

安裝CopSSH
使用默認設置安裝
CopSSH默認安裝在C:\Program Files\ICW\

修改CopSSH設置
在C:\Program Files\ICW\etc\sshd_config中, 下面一行取消注釋並設為"no"
PasswordAuthentication no

建立一個windows賬戶
Control Panel > User Accounts > Create new account

在CopSSH中激活這個賬戶
Start > Programs > Copssh > "Activate a user"
選擇一個賬戶,其他的用默認(/bin/bash, 等)
輸入密碼,這個密碼必須記住,將用來激活私鑰。

在C:\Program Files\ICW\home, 每個賬戶有一個子目錄。將其中的<user>.key和<user>.key.pub和剛剛輸入的密碼發給用戶。

安裝一個空的git倉庫
如准備將D:\project1作為Git倉庫
在cmd中輸入如下命令
d:
md \project1.git
cd \project1.git
git --bare init
這樣,d:/project1就成為一個git倉庫

賦予用戶修改許可權
在D:\project1上右鍵 > 安全,允許剛建立的windows賬戶"寫"和"修改"

伺服器上打開22埠

由於ssh伺服器不能找到git命令,需要如下操作:
Start > CopSSH > Start a unix bash shell.
cd /Bin
建立符號鏈接到git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe:
$ ln -s /cygdrive/c/Program\ Files/Git/bin/git.exe git.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-receive-pack.exe git-receive-pack.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-archive.exe git-upload-archive.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-pack.exe git-upload-pack.exe
(按自己的安裝git的路徑改,空格要轉為"\ ")

可選步驟:安裝Junction Link Magic
在C:\Program Files\ICW\home\用戶的目錄下建立一個空目錄,名稱為pro1
啟動Junction Link Magic,將git倉庫的目錄D:\project1 junction到C:\Program Files\ICW\home\用戶\pro1

伺服器設置結束

3. 客戶端上
對於用戶,要有
私鑰文件如<user>.key
私鑰文件的密碼
伺服器地址
伺服器上用戶的ID

安裝 msysgit
選擇plink
選擇將git放入windows path

安裝TortoiseGit
安裝後,在Settings > Network > SSH設置:
SSH Client = C:\Program Files\TortoiseGit\bin\TortoisePlink.exe

(下面的操作很可能不成功,需要另外的方式配置密鑰)
運行C:\Program Files\TortoiseGit\bin\puttygen.exe:
CopSSH中生成的密鑰是OpenSSH keys, 但這里需要putty keys。將私鑰轉成putty格式的。
按 "Load" > 選擇文件 <user>.key
找個地方保存私鑰 <user>.ppk
運行C:\Program Files\TortoiseGit\bin\Pageant.exe
加入新生成的<user>.ppk,在詢問密碼時輸入密碼
注意: 每次啟動後,都需要運行Pageant.exe, 加入<user>.ppk, 並輸入密碼.

在我的機器上,TortoiseGit自帶的puttygen不認CopSSH生成的OpenSSH keys,需要下載最新的puttygen
http://tartarus.org/~simon/putty-snapshots/x86/puttygen.exe 來生成ppk私鑰。
或另外一種方法是:使用puttygen生成ppk格式的私鑰,並將生成時上部顯示的公鑰替換OpenSSH的authorized_kyes中的內容。
不過這樣會導致無法互動式登入OpenSSH伺服器,但仍可繼續下面的操作。

4.開始使用
在用戶的機器上clone git倉庫
URL = <user>@<server>:d:/project1
或使用junction後的路徑
URL = <user>@<server>:pro1
如不使用Pageant.exe,就要設置"Load Putty Key" (yes) = (path to <user>.ppk).並且每次和伺服器的操作都要求輸入密碼。
注意:第一次連接伺服器時,會要求保存伺服器的公鑰,選擇yes。

(這里有個問題:git客戶端會報伺服器某個dll沒有找到,這時把git安裝目錄下的那個dll文件復制到CopSSH的bin下就好)

如果伺服器上的git倉庫和CopSSH安裝在同一個盤符上,則可以省略盤符,如
URL = ssh://<user>@<server>/project1 轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

⑷ 如何在雲伺服器windows上搭建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即可

⑸ linux怎麼搭建git伺服器

1.創建Gitblit安裝目錄 首先我們將在我們的伺服器上建立一個目錄,並在該目錄下安裝最新的Gitblit。 $ sudo mkdir -p /opt/gitblit $ cd /opt/gitblit 創建gitblit目錄 2. 下載並解壓 現在,我們將從Gitblit官方站點下載最新版的Gitblit。

閱讀全文

與如何在伺服器上安裝git伺服器地址相關的資料

熱點內容
光貓偽裝命令 瀏覽:175
安卓高端機為什麼都用曲屏 瀏覽:419
老電影大全 戰爭片 瀏覽:971
有沒有小電影得網址網站 瀏覽:378
奧特曼電影排行榜前十名 瀏覽:580
安卓光遇賬號過期怎麼找回 瀏覽:476
現金寶寶app在哪裡能下載 瀏覽:277
二戰女教師慰安婦電影 瀏覽:270
傳說對決錄像在哪個文件夾 瀏覽:136
不用充錢就能看電視劇的網站 瀏覽:562
卧式空氣壓縮機 瀏覽:137
合川排課管理系統源碼 瀏覽:439
女主被用鐵鏈囚禁的小說 瀏覽:196
兩個小時的愛情電影 瀏覽:864
php電商下單並發處理 瀏覽:242
送牛奶女電影名 瀏覽:468
港片有功物名的別片有哪些 瀏覽:246
s8安卓9如何開啟多屏應用 瀏覽:39
現在還可以買加密幣嗎 瀏覽:272