天天看點

Linux上建立svn伺服器

其實網絡上有不少人都分享過用linux建立svn伺服器的過程,整套步驟看起來惡心,做起來更惡心,特别多的細節和特别多的錯誤可能互相的交織起來,排錯過程可能就要長達2~3個小時。而且linux要求要盡可能的在非圖形狀态下操作,這個設定就很反人類的,在我這隻菜鳥看來簡直就是技術的退步。但是沒招,誰叫這是伺服器操作的正統呢?

Task1:           

目标:完成SVN伺服器的搭建。

意義:運維常見的工作就是日常軟體的安裝和維護,SVN雖然被Git侵占了市場佔有率,但是仍然是高效簡捷的源碼管理工具。從日常軟體的安裝部署開始,熟悉一些Linux的常用指令。

步驟:1.安裝CentOS或者Ubuntu系統。

          2.下載下傳SVN伺服器,安裝後完成配置。

         3.啟動SVN服務,配置好權限,使用者名  aiqingcheng 密碼 aiqingcheng 。                       

          4.本地下載下傳SVN用戶端,送出一個簡單的Txt文本。在另一個檔案夾裡Update,如果能看到資料,就說明SVN安裝成功。

要求:1.普通使用者有浏覽權限,并沒有讀寫權限

          2.SVN伺服器可以外網通路,如果本地沒有外網IP,使用花生殼。推薦使用金山雲伺服器做測試。

掌握技能:   1.Linux的基本指令 2.軟體的下載下傳與安裝 3.SVN的配置  4.花生殼的使用

==================================分割線=========================================

言歸正傳,第一步先安裝svn的軟體

# yum install subversion:

然後建立一個專門用來裝SVN東西的目錄

#mkdir /svn/

使用svn自己帶的指令來在這個目錄下面再做一個目錄

#svnadmin create /svn/project   

#ls /svn/project/   

#conf db format hooks locks README.txt   

這裡有四個檔案夾,都是有用的。

l hooks目錄:放置hook腳本檔案的目錄

l locks目錄:用來放置subversion的db鎖檔案和db_logs鎖檔案的目錄,用來追蹤存取檔案庫的用戶端

l format檔案:是一個文本檔案,裡面隻放了一個整數,表示目前檔案庫配置的版本号

l conf目錄:是這個倉庫的配置檔案(倉庫的使用者通路賬号、權限等)

而我們要做的就是深入conf目錄裡,把裡面所有的檔案都要一一翻新一下。

 配置svn服務的配置檔案svnserver.conf檔案

然後:x儲存一下。

添加兩個通路使用者及密碼

我們建立了三個使用者名以及他們對應的密碼,儲存。

配置新使用者的授權檔案

* = 這句話很重要,一定要加!

  啟動svn服務

svnserve -d -r /svn/project/   其中,預設svn伺服器端口是3690。

然後在虛拟機上先聯網,然後ifconfig一下,檢視自己的IP,我的機器是192.168.157.128.那麼傳回終端,使用svn checkout svn://192.168.157.128/project (注意!這裡直接是project,不是/svn/project.)

如果這裡指令寫錯了,寫成了svn checkout svn://192.168.157.128,那麼将會報出

svn:No repository found in "svn://192.168.157.128" 的錯誤,是以要注意後面的倉庫路徑。

這個時候,在主機端下載下傳好TortoiseSVN和他的中文漢化包,一路next安裝完畢,然後需要重新開機一下方可正式使用。

TortoiseSVN他跟以往普通的軟體不同,他沒有桌面快捷方式,他的安裝路徑裡也沒有.exe這樣的可執行檔案,他就是一個殼檔案,寄生在别的檔案夾裡使用。

重新開機完畢之後,在檔案上點選滑鼠的右鍵就發現多了“SVN檢出”和“Tortoise SVN”這倆東西,在“Tortoise SVN”裡,找到setting,在語言欄選擇“簡體中文”,這樣就完成了漢化。

然後打開TortoiseSVN Repository Brower工具,在位址欄裡輸入“svn://192.168.157.128/project/”,就應該彈出來輸入使用者名和密碼。

但是如果顯示連接配接逾時,那麼需要用主機和虛拟機互ping,必須要求雙方能ping通,我的虛拟機采用的是預設的nat,沒有使用橋接。直接ping通,而且主機和虛拟機是不用在同一個網段裡的。這裡不用telnet,沒有用的,這個思路是錯的,我在這個思路上糾結了很長的時間。而且也不用在後面加上端口号3690。

如果雙方能互相的ping通,但是TSVN的浏覽器還是不能發現虛拟機裡的伺服器,提示“積極拒絕,無法連接配接”,那麼果斷的把虛拟機的防火牆STOP掉,或者把預設的3690端口加入到虛拟機的防火牆裡。

stop防火牆的指令:/etc/init.d/iptables stop

防火牆加入3690端口的指令:/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

然後/etc/init.d/iptables restart 重新開機一下生效。

這樣應該能連結到虛拟機的伺服器端了。如圖所示

<a href="http://s1.51cto.com/wyfs02/M02/79/88/wKiom1aT0WPxwjzOAADDoaTCk7Q419.png" target="_blank"></a>

這樣,就算徹底的安裝成功了。

如果想要關閉SVN server,那可以使用kill指令,如下例子

# ps -ef|grep svn

root      4642     1  0 16:08 ?        00:00:00 svnserve -d -r /svn/project/

root      4692  3676  0 16:13 pts/2    00:00:00 grep svn

# kill -9 4642

參考資料如下:

<a href="http://www.cnblogs.com/see7di/archive/2013/08/03/3234048.html" target="_blank">http://www.cnblogs.com/see7di/archive/2013/08/03/3234048.html</a>

<a href="http://my.oschina.net/lionel45/blog/298305" target="_blank">http://my.oschina.net/lionel45/blog/298305</a>

<a href="http://blog.csdn.net/a649518776/article/details/39433883" target="_blank">http://blog.csdn.net/a649518776/article/details/39433883</a>

http://blog.csdn.net/wwww1988600/article/details/24182919

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1733987

繼續閱讀