VirtualBox中CentOS配置git服務(wù)器

前言

在管理自己的代碼的時(shí)候鸠蚪,我一直使用github今阳。有的時(shí)候,私有項(xiàng)目不想公開(kāi)茅信,如果還要放到GitHub上盾舌,那就必須要花錢。解決這個(gè)問(wèn)題的方法其實(shí)也很簡(jiǎn)單:在自己電腦上用虛擬機(jī)(VirtualBox)跑一個(gè)服務(wù)器(CentOS)蘸鲸,配置好ssh和git server妖谴。正所謂:史上距離你最近的服務(wù)器。

配置SSH

SSH是程序員鏈接服務(wù)器的居家必備之花露水白靡 膝舅!因此在VirtualBox中安裝好CentOS(最小化安裝)后,首要工作就是配置它的SSH窑多。

安裝SSH

  1. 更新系統(tǒng):
yum update
  1. 安裝openssh-server:
yum install -y openssl openssh-server
  1. 啟動(dòng)SSH服務(wù):
systemctl start sshd.service
  1. 設(shè)置開(kāi)機(jī)啟動(dòng)ssh服務(wù):
systemctl enable sshd.service

配置免密登錄

1.在客戶端系統(tǒng)(我的是Mac)終端中生成密鑰:

ssh-keygen -t rsa -C "gitopen@gmail.com"

注意輸入自己的郵箱

2.會(huì)提示輸入密碼仍稀,但也可以留空(至少我是留空,輸入密碼太麻煩)埂息。

3.完成后會(huì)在.ssh目錄下生成id_rsaid_rsa.pub兩個(gè)密鑰文件技潘。

注意保存這兩個(gè)文件,哪怕你換了電腦千康,重做了系統(tǒng)享幽,也要記得備份。

4.查看VirtualBox中CentOS的ip地址:
?運(yùn)行CentOS吧秕,?root用戶登錄?后輸入:

ip addr

如圖所示:
CentOS ip地址

5.在客戶端中用ssh連接CentOS:

ssh root@xxx.xxx.xxx.xxx -p 22

xxx.xxx.xxx.xxx是CentOS的ip地址琉闪,此時(shí)還需要輸入CentOS的root賬戶密碼。?此時(shí)?之所用SSH登錄砸彬,是為了方便拷貝密鑰到authorized_keys颠毙。

6.在VirtualBox中的CentOS服務(wù)器中進(jìn)行配置:

//創(chuàng)建.ssh文件夾:
mkdir .ssh
//創(chuàng)建authorized_keys文件:
touch .ssh/authorized_keys
//修改authorized_keys的權(quán)限:
chmod 600 .ssh/authorized_keys

7.在客戶端(Mac)中查看id_rsa.pub斯入,并復(fù)制其中的密鑰。

cat .ssh/id_rsa.pub

8.在CentOS中打開(kāi)?authorized_keys蛀蜜,將剛才復(fù)制的密鑰粘貼進(jìn)去刻两。

vi .ssh/authorized_keys

9.配置完畢了。

客戶端(Mac)配置CentOS別名

1.為VirtualBox中CentOS的網(wǎng)絡(luò)設(shè)置端口轉(zhuǎn)發(fā)
設(shè)置網(wǎng)絡(luò)類型為NAT滴某,如圖所示:


CentOS NAT網(wǎng)絡(luò)

設(shè)置端口轉(zhuǎn)發(fā)磅摹,如圖所示:


CentOS 端口轉(zhuǎn)發(fā)

?以上操作是為了在客戶端(Mac)中設(shè)置別名登錄的時(shí)候,將ip地址寫為127.0.0.1霎奢,避免每次啟動(dòng)CentOS自動(dòng)獲取ip?的變化户誓,需要修改太麻煩。

2.客戶端(Mac)配置CentOS的別名

vi .ssh/config

輸入以下:

Host cent
    HostName 127.0.0.1
    User root
    Port 4444

cent為別名幕侠,可以自由設(shè)置帝美。

很方便的連接CentOS

ssh cent

配置和安裝git服務(wù)器

所有操作可在客戶機(jī)(Mac)上用SSH連接CentOS進(jìn)行

1.CentOS安裝最新git,依賴庫(kù)安裝

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker

2.卸載低版本Git

yum remove git

3.創(chuàng)建git目錄并進(jìn)入

?cd /usr/local
mkdir git
cd git

4.下載最新版Git 2.13.2

wget https://github.com/git/git/archive/v2.13.2.tar.gz

截至目前最新版是2.13.2晤硕,可以到https://github.com/git/git/releases 復(fù)制最新版鏈接進(jìn)行下載悼潭。

5.解壓到git目錄中

tar -xzvf v2.13.2.tar.gz

6.安裝v2.13.2版Git

cd git-2.13.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install

編譯過(guò)程稍微較長(zhǎng),耐心等待

7.添加到環(huán)境變量中
打開(kāi)/etc/profile

vi /etc/profile

加入

export PATH="/usr/local/git/bin:$PATH" 

使?配置立即生效

source /etc/profile

8.查看?git版本

git --version

9.將最新版git設(shè)置為系統(tǒng)默認(rèn)舞箍,避免克隆時(shí)出錯(cuò)

ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack 

10.最新版v2.13.2 Git安裝成功

創(chuàng)建git用戶組和添加用戶

1.添加用戶組合用戶?舰褪,并設(shè)置密碼

groupadd git
useradd git -g git
passwd git

切換到git賬戶

su -git

2.證書(shū)登錄,免密碼?使用git

創(chuàng)建.ssh目錄和.ssh/authorized_keys文件疏橄,將?客戶端(Mac)的id_rsa.pub中的密鑰添加到authorized_keys文件中

修改目錄和文件的權(quán)限

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

初始化Git倉(cāng)庫(kù)

1.我的所有倉(cāng)庫(kù)都放在gitrepos目錄下占拍,因此我創(chuàng)建了這個(gè)目錄

cd /home/git
mkdir gitrepos
cd gitrepos

2.初始化第一個(gè)test倉(cāng)庫(kù)

git init --bare test.git

本地客戶端克隆倉(cāng)庫(kù)

在客戶端(Mac)上克隆CentOS?上的test.git庫(kù)

git clone git@cent:/gitrepos/test.git

cent是章節(jié)2.3中設(shè)置的CentOS的SSH連接別名,也可以換成?相應(yīng)的ip地址

禁止Shell登錄

如果你是在遠(yuǎn)程的VPS服務(wù)器上配置git服務(wù)器捎迫,那么為了安全考慮刷喜,可以禁止Shell登錄;如果像本文的初衷那樣立砸,是為了構(gòu)建??史上距離你最近的服務(wù)器,那么這一步就可以不做初茶。

切換到root賬戶:

su

編輯/etc/passwd文件:

vi /etc/passwd

將這一行:

git:x:502:502::/home/git:/bin/bash

替換為:

git:x:502:502::/home/git:/usr/local/git/bin/git-shell

結(jié)語(yǔ)

通過(guò)用Virtualbox在本機(jī)上構(gòu)建CentOS颗祝,方便于開(kāi)發(fā)人員進(jìn)行測(cè)試;通過(guò)在CentOS上搭建自己的Git服務(wù)器恼布,可以將自己獨(dú)立開(kāi)發(fā)的代碼很好的管理與備份螺戳。


關(guān)于我

  • 微博:@安卓猴
  • Twitter:@GitOPEN
  • 微信公眾號(hào):Android奇想錄(android_amazing)
掃描二維碼關(guān)注公眾號(hào)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市折汞,隨后出現(xiàn)的幾起案子倔幼,更是在濱河造成了極大的恐慌,老刑警劉巖爽待,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件损同,死亡現(xiàn)場(chǎng)離奇詭異翩腐,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)膏燃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門茂卦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人组哩,你說(shuō)我怎么就攤上這事等龙。” “怎么了伶贰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蛛砰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我黍衙,道長(zhǎng)泥畅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任们豌,我火速辦了婚禮涯捻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘望迎。我一直安慰自己障癌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布辩尊。 她就那樣靜靜地躺著涛浙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摄欲。 梳的紋絲不亂的頭發(fā)上轿亮,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音胸墙,去河邊找鬼我注。 笑死,一個(gè)胖子當(dāng)著我的面吹牛迟隅,可吹牛的內(nèi)容都是我干的但骨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼智袭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奔缠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起吼野,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤校哎,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體闷哆,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腰奋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阳准。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氛堕。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖野蝇,靈堂內(nèi)的尸體忽然破棺而出讼稚,到底是詐尸還是另有隱情,我是刑警寧澤绕沈,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布锐想,位于F島的核電站,受9級(jí)特大地震影響乍狐,放射性物質(zhì)發(fā)生泄漏赠摇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一浅蚪、第九天 我趴在偏房一處隱蔽的房頂上張望藕帜。 院中可真熱鬧,春花似錦惜傲、人聲如沸洽故。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)时甚。三九已至,卻和暖如春哈踱,著一層夾襖步出監(jiān)牢的瞬間荒适,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工开镣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刀诬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓邪财,卻偏偏與公主長(zhǎng)得像舅列,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卧蜓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)把敞,斷路器弥奸,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • Git的基本工作流程 在工作目錄中修改某些文件。 對(duì)修改后的文件進(jìn)行快照奋早,然后保存到暫存區(qū)域盛霎。 提交更新赠橙,將保存在...
    夜_雪閱讀 1,336評(píng)論 2 5
  • GIT分布式版本控制系統(tǒng)最佳實(shí)踐 這篇文章來(lái)自于老男孩教育高級(jí)架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,409評(píng)論 4 36
  • 我大學(xué)學(xué)的是酒店管理愤炸,以前常聽(tīng)行內(nèi)人說(shuō)期揪,要做酒店,不會(huì)喝酒可是不行的呢规个!把我這個(gè)從小滴酒不沾的乖乖女嚇得不輕凤薛。 我...
    原來(lái)是美雙呀閱讀 403評(píng)論 0 1
  • 小時(shí)候一聽(tīng)到巷口有撥浪鼓的聲音,就會(huì)忙不可待的奔出來(lái)诞仓,這于兒時(shí)的我實(shí)在是一種奇妙的音樂(lè)缤苫。 這是貨郎來(lái)了。奶奶會(huì)讓我...
    淺淺水可閱讀 489評(píng)論 3 3