ubuntu上安裝svn


apt-get install apache2

apt-get install subvesion

apt-get install libapache2-svn

新建一個目錄作為svn的倉儲目錄

mkdir /home/svn;

新建一個目錄作為項目目錄。

mkdir /home/svn/mysite

svnadmin create /home/svn/myiste,使用SVN自帶的工具svnadmin create創建SVN項目倉庫,這個時候大家去/home/svn/mysite下去看就可以看到很多文件,這就說明這個項目倉庫已經真正地建好了.

最后,我們需要配置Apache,使得我們可以以http的協議方式訪問SVN服務。事實上,在我們安裝libapache2-svn的時候,已經生成了一個路徑為/etc/apache2/mods-available/dav_svn.conf的文件,接下來我們只需要對其進行些許的修改就可以完成對Apache的配置。打開dav_svn.conf這個配置文件,我們可以看見文件內有很多前面帶#的注釋語句,我們可以去掉一些#以完成我們的配置,最終dav_svn.conf這個配置文件的內容應該如下所示:
sudo vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn>
   DAV svn
   SVNParentPath /home/svn #項目倉庫的父目錄
   AuthType Basic
   AuthName "ToFishes Project Svn"
   AuthUserFile /etc/subversion/passwd #SVN的用戶文件
   AuthzSVNAcessFile /etc/subversion/authz #授權訪問文件
   Require Valid-user
</Location>

在上面的配置文件中我們設置了SVN的用戶文件和授權訪問文件,但實際上這兩個文件並不存在,需要自己手動創建。創建命令如下:
htpasswd -c /etc/subversion/passwd svntest,因為是首次創建,所以需要添加-c選項,同時可以增加一個SVN用戶,這里我們將用戶svntest添加到SVN用戶中。我們執行這條命令后會提示我們輸入用戶的密碼以及再次輸入密碼。
如果在創建SVN用戶文件之后我們還想再添加SVN用戶的話,我們就不需要添加-c選項了,如果添加-c選項,之前已經添加的用戶就會消失,相當於從新開始了。只添加用戶命令如下:
htpasswd /etc/subversion/passwd new_svntest
上面我們添加完了用戶,但是還要授權這些用戶的權限,如該用戶是具有讀權限,還是寫權限,還是讀寫權限等等。為了使得一個用戶對於SVN的多個項目具有不同的權限控制,我們僅為用戶組設置具體的讀寫權限,如果一個用戶期望獲得一個項目的相關權限,我們可以將這個用戶直接添加到具有相應權限的組中去,具體命令如下:
sudo vi /etc/subversion/authz
在打開編輯授權文件之后編輯其內容如下:
#用戶組指令
[groups]
svn = svntest,將用戶svntest添加到用戶組svn
#其他組
[mysite:/]
@svn = rw,為用戶組svn添加讀寫權限
完成以上設置之后,我們只需重啟SVN就可以了,重啟命令如下:
sudo /etc/init.d/apache2 restart。

重啟時報錯:

Syntax error on line 61 of /etc/apache2/mods-enabled/dav_svn.conf:
Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

查一下后發現是一個so文件沒加,在/etc/apache2/mods-available/dav_svn.load最后添加一行:

LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so,apache服務器成功重啟。

重啟之后我們在瀏覽器中鍵入SVN項目的訪問地址就可以查看項目中的內容了,假定我們配置服務器的IP地址為192.168.1.100,那么我們在瀏覽器中可鍵入http://192.169.1.100/svn/mysite/進行訪問。
以上我們介紹的是SVN服務器端的安裝和配置,在客戶端可以安裝一個SVN的客戶端軟件,如TortoiseSVN這個軟件。TortoiseSVN的安裝使用都非常方便,但是在第一次使用的時候可能會遇到一些小問題,如在TortoiseSVN Commit時報出錯誤:
svn: Can't open file '/home/svn/db/txn-current-lock':Permission denied
Error1:Can't open 'db/txn-current-lock':Permission denied。

原因是svn的根目錄目前只屬於創建者,需要給用戶添加權限,消除這種錯誤的解決方法是給SVN目錄添加讀寫權限,命令如下:
    sudo chmod -R o+rw /home/svn


免責聲明!

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



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