UBUNTU SVN 服務器配置


安裝

1 $ sudo apt-get install apache2
2 $ sudo apt-get install subversion
3 $ sudo apt-get install libapache2-svn

 

創建 SVN 倉庫

許多位置都可以放置 Subversion 文件倉庫,其中兩個最常用的是:/usr/local/svn 以及 /home/svn。為了在下面的描述中簡單明了,我們假設您的 Subversion 文件倉庫放在 /home/svn,並且你的項目名稱是簡單的“myproject”。

同樣的,也有許多常用的方式設置文件倉庫的訪問權限。然而,這也是安裝過程中最經常出現錯誤的地方,因此我們會對此進行一個詳細說明。通常的情況下,您應該創建一個名為“Subversion”的用戶組,該組是SVN倉庫所在的目錄的擁有者。下面是一個快速的操作說明,有關內容請參考相關文檔的詳細說明:

1 $ sudo addgroup subversion
2 $ sudo usermod -G subversion -a www-data

現在執行下面的命令

1 $ sudo mkdir /home/svn
2 $ cd /home/svn
3 $ sudo mkdir myproject
4 $ sudo chown -R root:subversion myproject

下面的命令用於創建 SVN 文件倉庫

1 $ sudo svnadmin create /home/svn/myproject

賦予組成員對所有新加入文件倉庫的文件擁有相應的權限

1 $ sudo chmod -R g+rws myproject


通過WebDAV協議訪問(http://)

要通過 WebDAV 協議訪問 SVN 文件倉庫,必須配置您的 Apache 2 Web 服務器。必須加入下面的代碼片段到 /etc/apache2/mods-available/dav_svn.conf中:

 1 <Location /svn>
 2 DAV svn
 3 SVNParentPath /home/svn
 4 AuthType Basic
 5 AuthName "myproject subversion repository"
 6 AuthUserFile /home/svn/conf/passwd
 7 AuthzSVNAccessFile /home/svn/conf/authz
 8 #<LimitExcept GET PROPFIND OPTIONS REPORT>
 9 Require valid-user
10 #</LimitExcept>
11 </Location>

如果需要用戶每次登錄時都進行用戶密碼驗證,請將<LimitExcept GET PROPFIND OPTIONS REPORT>與</LimitExcept>兩行注釋掉。

當您添加了上面的內容,您必須重新起動 Apache 2 Web 服務器,請輸入下面的命令:

1 $ sudo /etc/init.d/apache2 restart

接下來,您需要創建 /etc/subversion/passwd 文件,該文件包含了用戶授權的詳細信息。要添加用戶,您可以執行下面的命令:

添加用戶
$ sudo htpasswd /home/svn/conf/passwd user_name
添加用戶並重新生成 passwd 文件,如果 passwd 文件存在將會刪除原文件
$ sudo htpasswd -c /home/svn/conf/passwd user_name

它會提示您輸入密碼,當您輸入了密碼,該用戶就建立了。“-c”選項表示創建新的/home/svn/conf/passwd文件,所以user_name所指的用戶將是文件中唯一的用戶。如果要添加其他用戶,則去掉“-c”選項即可

 

AUTHZ 權限管理

[groups]
admin = user1, user2

[proj-0:/]
@admin = r
user3 = rw

[proj-1:/]
user1 = rw

[proj-1:/path/]
user3 = rw

 

補充:svnserve 服務的部署及使用

在創建完代碼倉庫后,需要修改其 conf/svnserve.conf 如下:

[general]
anon-access = none   # 不修改此選項會導致獲取不了 svn 日志
password-db = ../../conf/passwd
authz-db = ../../conf/authz

passwd 文件格式

[users]
username = passwd

authz 文件格式同上

啟動 svnserve 服務

svnserve -d -r /home/svn   # 可以把這行腳本添加至  /etc/rc.local 中,系統啟動后將自動啟動 svn 服務 

配置完成后可通過 svn:/192.168.1.6/project  來訪問

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM