天天看點

Ubuntu下搭建SVN伺服器(Subversion)

1、首先安裝SVN這個軟體

sudo apt-get install subversion

2、在lankou使用者的home目錄下建立一個名為svn的檔案夾(檔案夾的名字随便起)

mkdir /home/lankou/svn

(也可以sudo mkdir /home/svn,此時svn檔案夾的所有者是root)

3、建立資料倉庫(可以根據需要建立多個)

svnadmin create /home/lankou/svn/test-repo

這個test-repo就是存放項目的倉庫了

4、啟動svn網絡服務

svnserve -d -r /home/lankou/svn      
其中:      
-d 參數讓 svnserve 運作在背景;      
-r 參數限定了資料倉庫,在網絡上可以通路的位址。
/home/lankou/svn 指定svn資料倉庫存放的目錄位置,這時該目錄是svn的根目錄      
5、設定svn: 方式的通路權限      
在每個資料倉庫目錄下都有一堆目錄,其中conf 存放的配置檔案,      
hooks下的鈎子程式用于同步倉庫的代碼到工作副本(www),很友善測試,這塊後文會有講述。      
Ubuntu下搭建SVN伺服器(Subversion)
authz 用于配置賬号對項目乃至于項目下各部分檔案夾的權限,注意指定無法細到某個檔案      
passwd 配置賬号和密碼      
svnserve.conf是svn服務的功能權限配置      
進入 conf 并打開 svnserve.conf 這個檔案,找到以下幾行,
 并把前面的注解符号 ‘#’ 去掉,注意千萬在每行的前面别留任何空格。      
anon-access = read
 auth-access = write
 password-db = passwd


        
Ubuntu下搭建SVN伺服器(Subversion)
其中 anon-access 和 auth-access 分别為匿名和有權限使用者的權限,預設給匿名使用者隻讀的權限。 但如果想拒絕匿名使用者的通路,隻需把 anon-access的read 改成 none 就能達到目的。 password-db 後的 passwd 則為定義使用者名及密碼的檔案路徑。這個檔案預設跟 snvserve.conf 在 同一個目錄,下面看看怎麼配置 passwd檔案中的内容。
[user]
# harry = harryssecret
# sally = sallyssecret
harry 和 sally 這兩行分别定義了可以對 repo 進行寫入的使用者的使用者名和密碼。我們可以在下面加上
自己的使用者名和密碼,比如:svn = 123456      
Ubuntu下搭建SVN伺服器(Subversion)
這樣就給了 賬号svn 往 repo 中寫的權限。注意,這裡的賬号svn并不是系統使用者! 而是你commit和checkout代碼時需要的使用者名和密碼,并且可以随意定義。 存盤退出後,svn 伺服器就算正式可以運作了! 把所有需要管理的項目都放在 /home/lankou/svn這個目錄下,像正常那樣用 svnadmin create 指令建立資料倉庫。 這樣就可以使用svn用戶端通過 “svn co svn://IP位址/資料倉庫目錄” 的方式把伺服器上的資料倉庫拉到本地了。 不過我一般使用TortoiseSVN用戶端。 備注:本文很大程度參考了http://blog.163.com/liu_wen_xin123/blog/static/112248632201412285556662/,隻是結合我的實際操作多做一些解釋。

繼續閱讀