如果沒有安裝subversion軟件包,需使用命令sudo apt-get install subversion
來安裝軟件包!
安裝上軟件包后需要選擇SVN服務(wù)文件以及配置文件位置。下面以目錄 /home/ svn/為例!
進(jìn)到目錄cd /home/svn/
中,然后創(chuàng)建一個(gè)自己的版本庫sudo svnadmin create /home/svn/eth20
,但需要先創(chuàng)建目錄eth20sudo mkdir eth20
!
使用ls -ll
查看版本倉庫(eth20)目錄結(jié)構(gòu)如圖:
版本倉庫的目錄文件結(jié)構(gòu)
查看配置文件目錄conf如圖:
conf目錄下文件
[general]
#匿名用戶不可讀
anon-access = none
#權(quán)限用戶可寫
auth-access = write
#密碼文件為passwd
password-db = passwd
#權(quán)限文件為authz
authz-db = authz
[groups]
admin= eth20
[/]
@admin =rw
*=r
這里組的名字不一定叫admin, 可以設(shè)置為任意的名字,主要是為了方便管理;另外比如admin組還有其他用戶,可以這樣制定 admin=eth20,eth201,eth202等!另外下面權(quán)限的分配,要么分別設(shè)置權(quán)限,要么設(shè)置為統(tǒng)一,不能同時(shí)使用,如:可以設(shè)置為@admin = rw,或者設(shè)置為* = r,但不可以同時(shí)使用,否則會報(bào)錯!
[users]
# harry = harryssecret
# sally = sallyssecret
eth20 = 123456
這里主要是設(shè)置用戶密碼,如上面則是為用戶eth20配置密碼為 123456!
完成上面工作后,使用命令sudo svnserve -d -r /home/svn/
來啟動SVN服務(wù)器!
-d 已守護(hù)模式啟動
-r 制定svn版本庫根目錄 這樣是便于客戶端不用輸入全路徑就可以訪問版本庫了!
測試連接,版本庫則為:svn://ip[你服務(wù)器的ip]//eth20[你創(chuàng)建的版本庫]
客戶端檢出
在我們搭建完成后,會發(fā)現(xiàn)客戶端可能會報(bào)“Invalid authz configuration”的錯誤提示,但是沒有具體的錯誤原因,此時(shí)我們可以在服務(wù)器端檢查authz配置文件,命令如下:svnauthz-validate /home/svn/eth20/conf/authz
此時(shí)服務(wù)器端就會返回錯誤的地方的位置多少行,以及錯誤原因,然后根據(jù)行數(shù)及原因進(jìn)行修改,可能是 =
寫成了 -
,也可能是上面對某一組設(shè)置了權(quán)限,而下面又對所以組設(shè)置了權(quán)限,具體原因看返回的信息!
在我們成功檢出后,準(zhǔn)備提交文件時(shí),卻可能出現(xiàn)錯誤Error: Can’t open ‘/home/svn/db/txn-current-lock’: 拒絕訪問
!
出現(xiàn)該錯誤原因主要是權(quán)限設(shè)置問題,解決方法則是把/home/svn目錄下所有文件和子目錄添加讀寫權(quán)限,使用命令如下:sudo chmod –R o+rw /home/svn
以上就是在ubuntu上搭建SVN服務(wù)器,以及可能會出現(xiàn)的一些問題及解決方法,如果上述有什么不對的地方,煩請多多批評指教,謝謝!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。