查看Ubuntu系統的版本信息:可用cat /proc/version命令、uname -a命令與sb_release -a命令。vim
1.卸載svn
sudo apt-get remove --purge subversion
(–purge 選項表示完全刪除改軟件和相關文件)服務器
查看系統是否存在svn: svnsocket
2.安裝svn
sudo apt-get update更新apt-get
sudo apt-get install subversion安裝svnsvn
svn help //--svn幫助
svn --version //--svn版本
svnserve --version //--svn server版本測試
3.建立SVN版本庫spa
a:建立項目目錄和svn倉庫:
sudo mkdir /usr/svn
sudo mkdir /usr/svn/vote
sudo chmod -R 777 /usr/svn/vote
sudo svnadmin create /usr/svn/vote
會生成conf db format hooks locks README.txt
sudo chmod -R 777 dborm
b:設置訪問權限:
修改配置文件conf/svnserve.confserver
sudo vim svnserver.confrem
去掉[general]前面的#get
去掉anon-access=read前面的# 解釋:設置無認證用戶的權限爲讀,默認爲讀權限
去掉auth-access=write前面的# 解釋:設置認證用戶的權限爲寫,默認爲寫權限
去掉password-db=authz-db = authz (文件可變動爲其它)
注:
1.全部的行都必須頂格,不然報錯。
c:添加訪問用戶
sudo vim /conf/passwd
d:設置用戶權限:
sudo vim conf/authz
* = rw 全部的組都具備讀寫權限
三:測試SVN服務器
A:啓動服務器
svnserve -d -r /usr/svn [--listen-host 118.24.171.xxx] 或svnserve -d -r /usr/svn
注:
-d:表示在後臺運行
-r:指定服務器的根目錄
能夠用以下命令查看svnserve是否已經運行:
ps aux | grep svnserve
B:中止服務器
killall svnserve
訪問 svn://118.24.171.xxx/vote
------err-----
一、svnserve: Can't bind server socket: Address already in use
解決辦法: svnserve -d -r /usr/svn --listen-port 3691
默認的啓動svn服務,系統默認開啓的端口爲3690,當你啓動第二個版本庫時仍是開啓3690,因此就衝突了。
二、驗證authz文件是否有錯誤
svnauthz-validate authz
三、svn Authorization failed 配置文件出錯
a、svnserve.conf:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
b、passwd:
[users]
admin=123
c、authz: [groups] [/] admin= rw