linux下搭建简单的git服务器测试1
生活随笔
收集整理的這篇文章主要介紹了
linux下搭建简单的git服务器测试1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這兩天沉迷PHP web服務器開發(fā)不能自拔,但是php和html、js之類的程序要寫一點看一點效果,我是放到Linux云主機上測試的,所以要在xshell上寫代碼,很麻煩。
于是想自己在云主機上搭建一個Git遠程倉庫,這樣我在windows端寫代碼,寫好push一下就能在linux端同步更新,后來我發(fā)現(xiàn)我太天真了,因為linux端的git倉庫不具備讀寫能力,里面的文件格式和我們上傳上去的不一樣,要想在linux端同步更新只能clone一下,然后手動pull更新,這樣的話,還不如直接用github來管理。
雖然最終目的是失敗的,但是搭建git服務這個目標是成功的,我花了一天的時間,歷經(jīng)千辛萬苦終于把git服務器給搭好了!
下面放出全部流程:
1. 安裝git
我用的是CentOS,所以直接用yum安裝就好了,ubuntu系的用apt-get shell命令: $yum install git
2. 增加一個git賬戶
為了管理的方便,在linux下面增添一個 "git" 賬戶。
shell命令: $adduser git
我為了方便,順便把這個賬戶放到sudoers組里面了(教程隨手找了一個來:?linux下將用戶添加到sudoers中)
3.創(chuàng)建一個git遠程倉庫
此時進入/home/git(當然你可以自己另外指定用戶文件夾)目錄下面,創(chuàng)建一個叫做tmp.git的空git倉庫 shell命令:?sudo git init --bare tmp.git?注意,倉庫的名字后面要加上.git的后綴 此時遠程倉庫已經(jīng)建好了,這個倉庫不能直接提取文件,只能通過clone的方式從里面下載文件,我一開始不知道,以為直接可以拿來用 接下來要做的就是對ssh的配置4.配置ssh密鑰
我對原理不是很懂,簡單來說就是客戶端生成一個ssh公鑰,然后把這個ssh公鑰加到服務器端的一個文件里面,然后客戶端就可以遠程連接到服務器。 因為這樣就可以通過ssh遠程登錄服務器的shell了,這樣肯定不安全,所以最好將git這個賬號設(shè)置成不允許遠程操控,我為了簡便起見就沒搞,再說我本來就是要遠程登錄linux的,這樣做不是搬起石頭砸了自己的腳。。。? 一般說來,系統(tǒng)是自動安裝好ssh相關(guān)軟件的,如果沒有自行安裝一下:$yum install ssh , ? ?然后開啟一下ssh服務:$service sshd restart 廢話不多說,先在git賬號的目錄下面找找看有沒有 .ssh文件,沒有的話建立一個新建一個 .ssh文件:$mkdir .ssh 然后進入.ssh文件夾,在這個文件夾下面新建一個文件: touch?authorized_keys 然后要做的是把客戶端生成的ssh密鑰復制粘貼到這個文件里面。服務器端也是要生成密鑰的,所以要執(zhí)行:#ssh-keygen -t rsa生成兩個文件(id.rsa和id.rsa.pub)
我們隨便找到一個linux系統(tǒng)(別問我我為什么有兩個云主機 ),然后執(zhí)行這段命令:ssh-keygen -t rsa,如果你是一路回車確定下去的話,應該能看到下面這樣的畫面: ? 進入.ssh文件夾,執(zhí)行: $ls 然后用cat命令查看id_rsa.pub文件: $cat?id_rsa.pub 然后將打印出來的這段密鑰復制一下,就是這段 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQA……oXZCu4jWwP git@iZ281a8bg82Z",保存好這段文本。 然后回到服務器端的git賬號下的.ssh文件夾,打開之前新建好的authorized_keys文件夾,將剛才復制來的文本粘貼進去,一行一個密鑰,一個密鑰對應一個客戶端
5.客戶端clone測試一下
我們進入客戶端主機(我用的是另一臺云主機,也是linux系統(tǒng)的,如果是windows的話,需要下載git for windows版本的)。 在用戶目錄下新建一個test文件夾用來存放等下要clone的倉庫:進入test文件夾,執(zhí)行:$git clone git@serveraddress:tmp.git 這個時候我突然發(fā)現(xiàn)居然要輸入服務器端git賬戶的登入密碼,不對啊,這和我以前用github的畫風不一樣啊,于是我開始四處找教程,終于找到了原因:ssh配置文件的問題 如果不需要輸入密碼就能成功clone的童鞋可以跳過下面這段。 我們先登入服務器端的root權(quán)限賬戶,編輯/etc/ssh/sshd_config文件,這個文件是ssh服務器的配置文件,我們要修改的是這幾行:
找到上面這張圖片中的那幾段黃色語句,將其注釋取消,再將屬性修改成上面那樣的。 接下來千萬別忘記重新啟動一下ssh服務:$service sshd restart 然后我再到客戶端,執(zhí)行clone命令,這次就不用輸入密碼了。
這一路下來就算是大功告成了,只要想新增客戶端,只要生成ssh密鑰,然后把密鑰復制到服務器端下的.ssh/authorized_keys文件下,客戶端就可以連接上git遠程倉庫了。 這個博客是給有一定基礎(chǔ)linux基礎(chǔ)和github使用經(jīng)驗的人看的。。。如果對文章感到疑惑,還是多多百度吧。。。
來源:http://blog.csdn.net/qq_32685139/article/details/52426155
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux下搭建简单的git服务器测试1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git push 代码报错 Pushin
- 下一篇: 喉悦和泉力出击哪个是饮料,哪个是天然水?