自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何創(chuàng)建你自己的Git服務(wù)器?

運(yùn)維 系統(tǒng)運(yùn)維
如果你連不上公共網(wǎng)絡(luò),或者你受夠了呆板的管理,亦或是你只是單純的想要不同與Github所提供的服務(wù),那么搭建你自己的Git服務(wù)器將會(huì)很有幫助。本文中分享了創(chuàng)建自己的Git服務(wù)器的方法。

盡管我是一個(gè)快樂的(同時(shí)也是付費(fèi)的)GitHub用戶,但是我多次想要在我自己的服務(wù)器上搭建私人倉庫(github會(huì)提供給付費(fèi)用戶私人倉庫—-譯注)。如果你連不上公共網(wǎng)絡(luò),或者你受夠了呆板的管理,亦或是你只是單純的想要不同與Github(以及其他類似的網(wǎng)站)所提供的服務(wù),那么搭建你自己的Git服務(wù)器將會(huì)很有幫助。在Unix(Linux、Mac OSX、 *BSD、 Solaris、AIX)的機(jī)器上部署Git服務(wù)器并非難事,但是仍然有許多細(xì)節(jié)需要注意。這里是一個(gè)完整的教程。

通過以下的步驟,你將在服務(wù)器上搭建并使用你自己的Git服務(wù),例如myhost.example.com。其中的一些步驟,像email通知,限制用戶的權(quán)限,特定分組的接入管理,都是依據(jù)你的要求和現(xiàn)實(shí)狀況的可選項(xiàng)。還有很多命令,你需要root權(quán)限才能執(zhí)行,所以別忘了用sudo,或者(最好不要)直接切換到root來執(zhí)行。

  • 為有讀寫權(quán)限的用戶建立一個(gè)分組。根據(jù)你的操作系統(tǒng),你可以用groupadd命令來實(shí)現(xiàn),用vigr來編輯分組文件,或者直接編輯/etc/group文件。在最后,你會(huì)在/etc/group文件中看到如下一行

 

  1. repogroup:*:10005:marry,john,violet 

 

其中,repogroup是準(zhǔn)許接入這個(gè)倉庫的組的名字。10005是一個(gè)獨(dú)一無二的分組識(shí)別數(shù)字,marry,john,violet則是獲準(zhǔn)接入這個(gè)倉庫的用戶。

  • 決定Git倉庫的路徑。它既可以放在你的home路徑下(e.g. /home/yourname/gitroot),也可以放在一個(gè)專用的路徑下(e.g. /var/gitroot).
  • 配置權(quán)限,讓Git用戶可以訪問這個(gè)目錄

 

  1. chmod g+rx /path-to/gitroot 
  2. chown :grouprepo /path-to/gitroot 

 

  • 建立新的Git倉庫,叫做newrepo

 

  1. cd /path-to/gitroot 
  2. git init --bare newrepo.git 

 

  • 建立路徑認(rèn)證,以允許用戶組訪問,同時(shí)有針對性的設(shè)置Git

 

  1. cd newrepo.git 
  2. chown -R :grouprepo . 
  3. git config core.sharedRepository group 
  4. find . -type d -print0 | xargs -0 chmod 2770 
  5. find . -type f -print0 | xargs -0 chmod g=u 

 

  • 設(shè)置提交(commit)的email通知(commit是一條命令),這樣當(dāng)有新的修改提交到倉庫的時(shí)候,開發(fā)者們將會(huì)收到一封關(guān)于修改內(nèi)容一覽的電子郵件。
  1. echo 'One-line project description' >description 
  2. git config --local hooks.mailinglist email-a@example.com,email-b@example.com,... 
  3. git config --local hooks.emailprefix '[DI-PR] ' 
  4. git config --local hooks.showrev "git show -C %s; echo" 
  5. git config --local hooks.emailmaxlines 100 
  • 通過設(shè)置一個(gè)稱為鉤子(hook)的東東,來創(chuàng)建這些email通知。
  1. cd hooks 
  2. cp post-receive.sample post-receive 
  3. chmod +x post-receive 
  • 從post-receive的腳本中移除掉最后一行注釋的#字號(hào),最后語句應(yīng)該是這樣的

 

  1. ./path-to-hooks/post-receive-email 

 

  • 在你的庫中先放入一個(gè)文件(比如README)。為了避免其他用戶在第一次提交時(shí)遇到奇怪的錯(cuò)誤信息時(shí)感到困惑,這是有必要的。

 

  1. cd to-your-personal-working-directory 
  2. git clone myhost.example.com:/path-to/gitroot/newrepo.git 
  3. echo "Short project description" >README.txt 
  4. git add README.txt 
  5. git commit -a -m "Add README file" 
  6. git push origin master # 第一次僅僅需要T"origin master" 這個(gè)參數(shù) 

 

  • 為倉庫的其他用戶建立賬戶。依據(jù)你系統(tǒng)的不同,你可以通過useradd 或者adduser來實(shí)現(xiàn)。
  • 設(shè)置用戶可以通過公/私鑰配對來訪問。這包括以下幾步:

1)已經(jīng)有公鑰的用戶,只需要把公鑰發(fā)給你就好。
2)沒有公鑰的用戶,必須用ssh-keygen命令來生成一個(gè),然后把.ssh/id_rsa.pub發(fā)給你就可以了。
3)之后你必須在他們對應(yīng)的賬戶下面建立這種公/私鑰配對。復(fù)制他的公鑰,然后順序執(zhí)行下面的命令。

 

 

  1. sudo su - username 
  2. mkdir -p .ssh 
  3. cat >>.ssh/authorized_keys <<\EOF 
  4. paste-key-as-one-line 
  5. EOF 
  6. exit 
 

 

  • 改變用戶的賬戶讓他們使用受限的shell。如果你想讓你添加進(jìn)來的用戶僅僅使用Git,而不是Unix的所有東西,那么就設(shè)置他們的賬戶,讓他們只能使用Git。Git提供了這種專為這種需求設(shè)計(jì)的受限shell。它通常被安裝在 /usr/libexec/git-core/git-shell or /usr/local/libexec/git-core/git-shell。因此,對所有你想限制權(quán)限的用戶,你可以執(zhí)行以下命令。

 

  1. sudo chsh -s /usr/libexec/git-core/git-shell username 

 

  • 告訴你的用戶,用下面的語句來克隆倉庫到本地。

 

  1. git clone myhost.example.com:/path-to/gitroot/newrepo.git 

 

到了這里,恭喜你,你成功了!

原文鏈接: spinellis   翻譯: 伯樂在線 - 慕容老匹夫

譯文鏈接: http://blog.jobbole.com/60505/

責(zé)任編輯:黃丹 來源: 伯樂在線
相關(guān)推薦

2016-09-23 20:04:26

2021-02-05 05:29:51

服務(wù)器GitGogs

2022-10-10 12:15:38

CentOSgit服務(wù)器

2022-01-10 13:10:11

DNS服務(wù)器系統(tǒng)運(yùn)維

2018-03-26 10:20:13

2012-02-27 13:56:19

Java服務(wù)器

2010-06-02 13:29:55

2023-04-01 18:19:38

團(tuán)隊(duì)MIT開源

2021-08-27 11:03:57

Azure公有云云原生

2023-03-29 15:45:46

DNS服務(wù)器

2020-01-18 18:41:13

GitGit服務(wù)器開源

2018-01-10 10:45:37

2012-12-03 14:21:02

服務(wù)器群集

2016-12-26 10:28:00

2012-02-27 15:44:12

存儲(chǔ)服務(wù)器寶通

2018-10-19 09:50:15

Linuxman手冊Linux命令

2011-03-18 13:41:50

2018-03-15 08:25:53

2022-08-24 08:33:27

Git系統(tǒng)Linux

2010-08-26 11:01:05

DHCP服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)