1. 程式人生 > >Linux: CentOS SVN的搭建與連線

Linux: CentOS SVN的搭建與連線

SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS轉移到Subversion。

我搭建的伺服器使用的系統是CentOS 6.5。安裝的rmp包是subversion-1.6.11-9.el6_4.i686.rpm。

步驟:

(1)使用yum 直接線上安裝。yum install subversion-1.6.11-9.el6_4.i686.rpm

 (2)安裝完成後進行配置:

1、首先建立一個檔案來存放自己的SVN檔案,如:#mkdir /MySVN/svn/repo

2、新建一個倉庫版本:

# svnadmin create /MySVN/svn/repo/yourprojectname

 3、進入新建的倉庫版本下配置相關的檔案

 cd /MySVN/svn/repo/yourprojectname/conf

下面有三個配置檔案:authz、passwd、svnserve.conf

1)配置authz

anon-access = none

auth-access = write

authz-db = authz

如果前面有#號,要將#號去掉,同時不要在前面留有空格,不然會出現認證錯誤

2)配置passwd

這個檔案是用來配置可以訪問此倉庫的使用者 格式:使用者名稱 = 密碼

如:

[user] 

hello = world 

其中的hello是使用者名稱,world是密碼

3)、配置authz

這個檔案是用來驗證許可權的,對passwd中的使用者進行許可權設定。

[groups]

svn = hello #將hello放在SVN組中

[/]

hello = rw #將hello的許可權設定為可讀可寫

這個三個配置檔案都要記得,如果前面有#號,要將#號去掉,同時不要在前面留有空格,不然會出現認證錯誤

這樣SVN的配置就基本完成了,但是還有一點,就是要設定防火牆來開放埠,預設使用的埠是3690

直接進入/etc/sysconfig/iptables增加一行:

-A INPUT -i eth0 -p tcp -m tcp --dport 3690 -j ACCEPT

但是增加的位置要正確:如
-A INPUT -i eth0 -p tcp -m tcp --dport 3690 -j ACCEPT(新增加的)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

不能放在底部,不然將不起作用。

然後重新啟動防火牆:

停止:service  iptables stop

啟動:service iptables start

你可以使用 lsof 命令來檢視某一埠是否開放。檢視埠可以這樣來使用,以3690埠為例:
lsof -i:3690
如果有顯示說明已經開放了,如果沒有顯示說明沒有開放。
你也可以試試用下面的方法:
netstat -nupl (檢視UDP埠)
netstat -ntpl  (檢視TCP埠)(使用這個方法可以檢視具體的情況)
我使用的是win7的TortoiseSVN客戶端來連線CentOS上的伺服器的SVN。
先下載TortoiseSVN客戶端,在win7上安裝,安裝完後右擊開啟任何一個檔案可以看到有一個cheakout的選項;
會出現如圖的情況
使用的是SVN的協議,也可以使用http和https的協議。
前面的地址是你的伺服器的地址,後面的是伺服器中倉庫版本的路徑,一定要寫正確,不然會連線不上。
出現如圖情況:
如果出現連線不上的情況,你可以先在命令提示符中telnet一下;如:
telnet 10.11.3.100 3690
如果telnet連線失敗,證明你的防火牆沒有開放3690埠,你要開放才能連線。
連線上後會出現下圖:
輸入你之前在passwd中設定的使用者和密碼。
如果出現驗證失敗的話,看看是不是配置出現錯誤,記得前面不能有空格。
當連線並驗證成功後,將會出現一個隱藏的檔案.svn
.svn檔案是subversion的版本控制資訊檔案,當摸個目錄處於subversion的版本控制時,在這個目錄中將會出現.svn檔案,檔案中存放的是一些版本資訊,供subversion使用,不要人為改動,當然你進行新的連線時可以刪除此檔案。
好了,記錄一下,沉澱自己。