歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下SubVersion服務安裝設置

Ubuntu下SubVersion服務安裝設置

日期:2017/2/28 16:03:54   编辑:Linux教程

目錄
1 SubVersion服務安裝設置
1.1 簡介
1.2 假設
1.3 本文涉及的范圍
1.4 安裝
1.5 服務器配置
1.5.1 創建 SVN 倉庫
1.6 訪問方式
1.6.1 直接訪問文件倉庫(file://)
1.6.2 通過 WebDAV 協議訪問(http://)
1.6.3 通過具有安全套接字(SSL)的 WebDAV 協議訪問(https:// )
1.6.4 通過自帶協議訪問(svn://)
1.6.5 通過具被SSH隧道保護的自帶協議訪問(svn+ssh://)

本文檔闡述了如何在 Ubuntu 上設置 Subversion(通常也被稱為 svn)。我們假設本文的讀者是具有一定經驗的 Linux 用戶和系統管理員。


簡介

如果您對 Subversion 還比較陌生,本節將給您一個關於 Subversion 的簡要介紹。

Subversion 是一款開放源代碼的版本控制系統。使用 Subversion,您可以重新加載源代碼和文檔的歷史版本。Subversion 管理了源代碼在各個時期的版本。一個文件樹被集中放置在文件倉庫中。這個文件倉庫很像是一個傳統的文件服務器,只不過它能夠記住文件和目錄的每一次變化。

假設

首先我們假設您能夠在 Ubuntu 中操作 Linux 的命令、編輯文件、啟動和停止服務。當然,我們還認為您的 Ubuntu 正在運行中,您可以使用

本文涉及的范圍

要通過 HTTP 協議訪問 SVN 文件倉庫,您需要安裝並配置好 Web 服務器。Apache 2 被證實可以很好的與 SVN 一起工作。關於 Apache 2 的安裝超出了本文的范圍 ,盡管如此,本文還是會涉及如何配置 Apache 2 使用 SVN。

類似的,要通過 HTTPS 協議訪問 SVN 文件倉庫,您需要在您的 Apache 2 中安裝並配置好數字證書,這也不在本文的討論范圍之中。

安裝

幸運的,Subversion 已經包含在 main 倉庫中。所以,要安裝 Subversion,您只需要簡單的運行:

$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn

如果系統報告了依賴關系的錯誤,請找出相應的軟件包並安裝它們。如果存在其它問題,也請自行解決。如果您依然不能解決這些問題,可以考慮通過 Ubuntu 的網站、Wiki、論壇或郵件列表尋求支持。

服務器配置

您應該已經安裝了上述的軟件包。本節將闡述如何創建 SVN 文件倉庫以及如何設置項目的訪問權限。

創建 SVN 倉庫

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

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

  • 在 Ubuntu 菜單上選擇“系統->系統管理->用戶和組”;
  • 切換到“組”標簽;
  • 點擊“添加組”按鈕;
  • 組名為“subversion”;
  • 將您自己和“www-data”(Apache 用戶)加入組成員中;
  • 點擊“OK”以確認修改,關閉該程序。

或者使用命令完成上述功能(增加組,並且把用戶加到組裡):

sudo addgroup subversion
sudo usermod -G subversion -a www-data

再或者直接使用命令編輯組文件"sudo vi /etc/group",增加組和成員(不推薦):

$ sudo vi /etc/group

結果看上去,像這樣。

$ cat /etc/group|grep subversion
subversion:x:1001:www-data,exp

您需要注銷然後再登錄以便您能夠成為 subversion 組的一員,然後就可以執行簽入文件(Check in,也稱提交文件)的操作了。

現在執行下面的命令

$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject

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

$ sudo svnadmin create /home/svn/myproject

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

$ sudo chmod -R g+rws myproject

如果上面這個命令在創建SVN文件倉庫之前運行,你可能在後續Check in的時候遇到如下錯誤:

Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied

查看txn-current-lock文件的權限和用戶以及組信息,應該類似於:

$ ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 root subversion  0  2009-06-18  15:33  txn-current-lock

除了權限以外,用戶及其組如果不對,則仍然會遇到上述問題,可以再次運行命令:

$ sudo chown -R root:subversion myproject

訪問方式

Subversion 文件倉庫可以通過許多不同的方式進行訪問(Check Out,簽出)——通過本地硬盤,或者通過各種網絡協議。無論如何,文件倉庫的位置總是使用 URL 來表示。下表顯示了不同的 URL 模式對應的訪問方法:

模式 訪問方法 file:/// 直接訪問本地硬盤上文件倉庫 http:// 通過 WebDAV 協議訪問支持 Subversion 的 Apache 2 Web 服務器 https:// 類似 http://,支持 SSL 加密 svn:// 通過自帶協議訪問 svnserve 服務器 svn+ssh:// 類似 svn://,支持通過 SSH 通道


本節中,我們將看到如何配置 SVN 以使之能夠通過所有的方法得以訪問。當然這裡我們之討論基本的方法。要了解更高級的用途,我們推薦您閱讀《使用 Subversion 進行版本控制》電子書,下載見http://www.linuxidc.com/Linux/2011-11/47129.htm。

Copyright © Linux教程網 All Rights Reserved