您好,登錄后才能下訂單哦!
如果沒有安裝subversion軟件包,需使用命令sudo apt-get install subversion
來安裝軟件包!
安裝上軟件包后需要選擇SVN服務文件以及配置文件位置。下面以目錄 /home/ svn/為例!
進到目錄cd /home/svn/
中,然后創建一個自己的版本庫sudo svnadmin create /home/svn/eth20
,但需要先創建目錄eth20sudo mkdir eth20
!
使用ls -ll
查看版本倉庫(eth20)目錄結構如圖:
版本倉庫的目錄文件結構
查看配置文件目錄conf如圖:
conf目錄下文件
[general]
#匿名用戶不可讀
anon-access = none
#權限用戶可寫
auth-access = write
#密碼文件為passwd
password-db = passwd
#權限文件為authz
authz-db = authz
[groups]
admin= eth20
[/]
@admin =rw
*=r
這里組的名字不一定叫admin, 可以設置為任意的名字,主要是為了方便管理;另外比如admin組還有其他用戶,可以這樣制定 admin=eth20,eth201,eth202等!另外下面權限的分配,要么分別設置權限,要么設置為統一,不能同時使用,如:可以設置為@admin = rw,或者設置為* = r,但不可以同時使用,否則會報錯!
[users]
# harry = harryssecret
# sally = sallyssecret
eth20 = 123456
這里主要是設置用戶密碼,如上面則是為用戶eth20配置密碼為 123456!
完成上面工作后,使用命令sudo svnserve -d -r /home/svn/
來啟動SVN服務器!
-d 已守護模式啟動
-r 制定svn版本庫根目錄 這樣是便于客戶端不用輸入全路徑就可以訪問版本庫了!
測試連接,版本庫則為:svn://ip[你服務器的ip]//eth20[你創建的版本庫]
客戶端檢出
在我們搭建完成后,會發現客戶端可能會報“Invalid authz configuration”的錯誤提示,但是沒有具體的錯誤原因,此時我們可以在服務器端檢查authz配置文件,命令如下:svnauthz-validate /home/svn/eth20/conf/authz
此時服務器端就會返回錯誤的地方的位置多少行,以及錯誤原因,然后根據行數及原因進行修改,可能是 =
寫成了 -
,也可能是上面對某一組設置了權限,而下面又對所以組設置了權限,具體原因看返回的信息!
在我們成功檢出后,準備提交文件時,卻可能出現錯誤Error: Can’t open ‘/home/svn/db/txn-current-lock’: 拒絕訪問
!
出現該錯誤原因主要是權限設置問題,解決方法則是把/home/svn目錄下所有文件和子目錄添加讀寫權限,使用命令如下:sudo chmod –R o+rw /home/svn
以上就是在ubuntu上搭建SVN服務器,以及可能會出現的一些問題及解決方法,如果上述有什么不對的地方,煩請多多批評指教,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。