導航:首頁 > 編程語言 > phabricatorphp

phabricatorphp

發布時間:2023-01-29 03:29:11

Ⅰ 如何在mac下遠程搭建git伺服器

首先要有 ssh遠程登陸的工具,比如secureCRT等

方案一 基於SSH直接搭建
Git支持的協議主要是四種:
本地: 需要文件共享系統,許可權不好控制
HTTP:速度慢
SSH:同時支持讀寫操作,不支持匿名的讀取(Git默認協議)
GIT:最快
從搭建的難易程度和特點綜合篩選,最合適的還是ssh,並且大部分伺服器上基本都有ssh服務,所以省去了不少麻煩。一個最基本的思路是給每一個人一個ssh帳號,這樣大家就可以通過用戶名和口令來訪問了,但是顯然這不是一個好的選擇,這個做法有些多餘,並且對於repo的許可權很難管理。
在使用Github的時候,會利用rsa.pub公鑰/私鑰的方式,這樣在服務端擁有用戶的公鑰(*.pub)之後就可以,跨過繁瑣的口令,直接認證提交了,而服務端也會根據不同的用戶身份,對其許可權有著更加靈活的管理。因此我們也採用這種方式。
服務端
為了使遠程庫訪問更加直觀,先在伺服器上創建一個名為git的賬戶,這樣以後clone的時候就如下面的格式了:

git clone git@server:some.git

創建新的用戶,創建repo等目錄

$sudo adser git
$su git
$cd ~
$mkdir repos

在HOME下的.ssh目錄,如果沒有則創建,創建一個authorized_keys文件,這個文件就是用來管理所有git用戶的公鑰的,也就是這裡面的用戶對於項目有著R+W的許可權。
客戶端
對於每一個客戶端,我們需要生成一對密鑰和公鑰,如果是Github用戶,那麼.ssh目錄下,一定有id_rsa.pub和id_rsa兩個文件,其中第一個是系統生成的公鑰,另一個是自己要保存好的密鑰。如果沒有的話,可以在終端執行:ssh-keygen來生成,完成後,將自己的公鑰提交給管理員,這就是一個注冊的行為。
完成
最後一步,管理員將團隊成員的公鑰添加到authorized_keys中,比如將同學susie加入:

$ cat susie.pub >> authorized_keys

至此,大家可以通過git@server:repos/some.git來訪問公共的版本庫了。
問題
安全問題,成員可以登錄git用戶的shell,細節許可權如分支等不好控制
管理麻煩,新建repo,或者增加成員比較麻煩,尤其是修改的時候
方案二 使用Gitolite服務
Gitolite 也是基於SSH協議構建的方便管理git repo的應用,可以通過其源碼安裝.
安裝
安裝按照官方給定的文檔就可以輕易的實現:

$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub

如果執行最後一條命令的時候,gitolite不識別,則可以通過下面兩種方式解決:
將gitolite添加到PATH裡面
通過$HOME/bin/gitolite setup -pk YourName.pub 執行
至此,gitolite在服務端,搭建完畢,會發現此時HOME目錄下增加了一個文件projects.list和一個目錄repositories,後者就是我們的版本倉庫了,每當新建repo的時候,就會在其中創建。
使用
是時候說一下gitolite的管理模式了,他會創建一個gitolite-admin的repo,管理員就是通過像這個repo提交配置文件而實現對git伺服器的控制的。
首先,將這個repo導入到我們的workspace:在此之前,需要配置本地的ssh,gitolite要求管理員的本地密鑰和其注冊公鑰的名字一致,比如我們安裝的時候指定 -pk後面為 admin.pub 則管理員本地需要由admin對應的私鑰。我們可以通過~/.ssh/config來進行配置(註:有些系統可以用conf,Mac OSX 下無效,只能用config).

host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin

這樣,當我們訪問gitolite的時候就會自動根據配置文件執行,配置完成後可以根據下面的命令,將gitolite-admin轉移到本地。

git clone gitolite:gitolite-admin.git

克隆完成後,可以發現,gitolite-admin下面有兩個目錄,其中conf保存配置文件,我們可以通過編輯裡面的gitolite.conf文件,管理git伺服器,keydir目錄保存用戶的公鑰pub文件。
當我們講修改後的repo 提交的時候,gitolite就會自動的應用這些配置,管理過程就方便了很多。
配置規則
打開gitolite.conf文件可以看到其中的示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:

repo foo
RW+ = alice
RW = bob
R = carol

上面的配置文件就是新建了一個repo foo,並且添加了三位項目成員,每一個人的許可權不同。提交push後,管理便生效了。

Ⅱ 如何在mac上使用git連接私有的gitlab伺服器

首先要 ssh遠程登陸工具比secureCRT等

案 基於SSH直接搭建
Git支持協議主要四種:
本: 需要文件共享系統許可權控制
HTTP:速度慢
SSH:同支持讀寫操作支持匿名讀取(Git默認協議)
GIT:快
搭建難易程度特點綜合篩選合適ssh並且部伺服器基本都ssh服務所省少麻煩基本思路給每ssh帳號家通用戶名口令訪問顯選擇做些余並且於repo許可權難管理
使用Github候利用rsa.pub公鑰/私鑰式服務端擁用戶公鑰(*.pub)跨繁瑣口令直接認證提交服務端根據同用戶身份其許可權著更加靈管理我採用種式
服務端
使遠程庫訪問更加直觀先伺服器創建名git賬戶clone候面格式:

git clone git@server:some.git

創建新用戶創建repo等目錄

$sudo adser git
$su git
$cd ~
$mkdir repos

HOME.ssh目錄沒則創建創建authorized_keys文件文件用管理所git用戶公鑰面用戶於項目著R+W許可權
客戶端
於每客戶端我需要密鑰公鑰Github用戶.ssh目錄定id_rsa.pubid_rsa兩文件其第系統公鑰另自要保存密鑰沒終端執行:ssh-keygen完自公鑰提交給管理員注冊行

步管理員團隊員公鑰添加authorized_keys比同susie加入:

$ cat susie.pub >> authorized_keys

至家通git@server:repos/some.git訪問公共版本庫
問題
安全問題員登錄git用戶shell,細節許可權支等控制
管理麻煩新建repo,或者增加員比較麻煩尤其修改候
案二 使用Gitolite服務
Gitolite 基於SSH協議構建便管理git repo應用通其源碼安裝.
安裝
安裝按照官給定文檔輕易實現:

$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub

執行條命令候gitolite識別則通面兩種式解決:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 執行
至gitolite服務端搭建完畢發現HOME目錄增加文件projects.list目錄repositories,者我版本倉庫每新建repo候其創建
使用
候說gitolite管理模式創建gitolite-adminrepo管理員通像repo提交配置文件實現git伺服器控制
首先repo導入我workspace:前需要配置本ssh,gitolite要求管理員本密鑰其注冊公鑰名字致比我安裝候指定 -pk面 admin.pub 則管理員本需要由admin應私鑰我通~/.ssh/config進行配置(註:些系統用confMac OSX 效能用config).

host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin

我訪問gitolite候自根據配置文件執行配置完根據面命令gitolite-admin轉移本

git clone gitolite:gitolite-admin.git

克隆完發現gitolite-admin面兩目錄其conf保存配置文件我通編輯面gitolite.conf文件管理git伺服器keydir目錄保存用戶公鑰pub文件
我講修改repo 提交候gitolite自應用些配置管理程便
配置規則
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:

repo foo
RW+ = alice
RW = bob
R = carol

面配置文件新建repo foo並且添加三位項目員每許可權同提交push管理便效
視化
我能需要web界面管理些項目我目前知道三種式:
git源碼自帶組件cgi腳本實現使用gitolite服務
gitlab源框架基於ROR新版本再使用gitolite服務
FB源PHP框架 phabricator功能高端檔

閱讀全文

與phabricatorphp相關的資料

熱點內容
蘋果平板如何開啟隱私單個app 瀏覽:700
空調壓縮機一開就停止 瀏覽:524
如何下載虎牙app 瀏覽:847
日語年號的演算法 瀏覽:953
dev裡面的編譯日誌咋調出來 瀏覽:298
php函數引用返回 瀏覽:816
文件夾和文件夾的創建 瀏覽:259
香港加密貨幣牌照 瀏覽:838
程序員鼓勵自己的代碼 瀏覽:393
計算機網路原理pdf 瀏覽:752
吃雞國際體驗服為什麼伺服器繁忙 瀏覽:94
php中sleep 瀏覽:490
vr怎麼看視頻演算法 瀏覽:86
手機app如何申報個人所得稅零申報 瀏覽:694
如何截獲手機app連接的ip 瀏覽:331
冰箱壓縮機是否需要電容 瀏覽:346
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:657
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758