原 Linux搭建SVN 服务器2
原 Linux搭建SVN 服務(wù)器
發(fā)表于1年前(2014-08-05 17:55)?? 閱讀(12257)?|?評(píng)論(3)?31人收藏此文章,?我要收藏 贊3 摘要?Linux搭建SVN 服務(wù)器?
目錄[-]
- Linux搭建SVN 服務(wù)器
- 1????????? 安裝SVN
- 2????????? 使用客戶端連接
- 2.1?????? 使用windows的客戶端
- 2.2?????? 使用Linux下的命令行
- 3????????? FAQ
- 3.1?????? 命令行方式連接,提示svn: No repository found in 'svn://192.168.11.229/project'錯(cuò)誤?
- 3.2?????? 執(zhí)行命令# svn co svn://192.168.11.229/project時(shí)提示“svn: Authorization failed”錯(cuò)誤?
Linux搭建SVN 服務(wù)器
作者:?沈小然????日期:2014年?8月?5日
1??????????安裝SVN
官網(wǎng)下載:http://subversion.apache.org/packages.html
SVN客戶端:TortoiseSVN,官網(wǎng)下載:http://tortoisesvn.net/downloads.html
# yum install subversion
1.???????新建一個(gè)目錄用于存儲(chǔ)SVN所有文件
# mkdir /svn
2.???????新建一個(gè)資源倉庫
# svnadmin create /svn/project
# ls /svn/project/
conf??db??format??hooks??locks??README.txt
目錄用途說明:
l??hooks目錄:放置hook腳本文件的目錄
l??locks目錄:用來放置subversion的db鎖文件和db_logs鎖文件的目錄,用來追蹤存取文件庫的客戶端
l??format文件:是一個(gè)文本文件,里面只放了一個(gè)整數(shù),表示當(dāng)前文件庫配置的版本號(hào)
l??conf目錄:是這個(gè)倉庫的配置文件(倉庫的用戶訪問賬號(hào)、權(quán)限等)
3.???????配置svn服務(wù)的配置文件svnserver.conf文件
# vi /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = My Test Repository?????????#這是個(gè)提示信息
保存
4.???????添加兩個(gè)訪問用戶及口令
# vi /svn/project/conf/passwd
[users]
xiaoran.shen = 123456
test1 = 123456
test2 = 123456
保存
注意:對(duì)用戶配置文件的修改立即生效,不必重啟svn服務(wù)。?
5.???????配置新用戶的授權(quán)文件
# vi /svn/project/conf/authz
[groups]
admin = xiaoran.shen,test1
user = test2
?
[/]
@admin?= rw
@user?= r
* =
保存
格式說明:
版本庫目錄格式:?
[<版本庫>:/項(xiàng)目/目錄]?
@<用戶組名>?=?<權(quán)限>?
<用戶名>?=?<權(quán)限>
/?表示對(duì)根目錄(即/svn/project目錄)下的所有子目錄范圍設(shè)置權(quán)限;
[/abc]?表示對(duì)資料庫中abc項(xiàng)目設(shè)置權(quán)限;
創(chuàng)建一個(gè)admin組,組成員包括xiaoran.shen和test1
創(chuàng)建一個(gè)user組,成員只有test2;
admin組對(duì)目錄有讀寫權(quán)限;
單個(gè)用戶test2有讀寫權(quán)限;
*=表示除了上面設(shè)置的權(quán)限用戶組以外,其他所有用戶都設(shè)置空權(quán)限,空權(quán)限表示禁止訪問本目錄,這很重要一定要加上。
注意:對(duì)權(quán)限配置文件的修改立即生效,不必重啟svn。?
6.???????啟動(dòng)svn服務(wù)
svnserve -d -r /svn/project/
注意:不要使用系統(tǒng)提供的?/etc/init.d/svnserve start?來啟動(dòng),因?yàn)橄到y(tǒng)默認(rèn)的啟動(dòng)腳本中沒有使用?–r /svn/project參數(shù)指定一個(gè)資源。這種情況下啟動(dòng)的svn服務(wù),客戶端連接會(huì)提示“svn: No repository found in 'svn://192.168.11.229/project'?”這樣的錯(cuò)誤。
默認(rèn)svn服務(wù)器端口是3690。
殺死svn服務(wù):
# ps -ef|grep svn
root??????4642?????1??0 16:08 ?????????00:00:00 svnserve -d -r /svn/project/
root??????4692??3676??0 16:13 pts/2????00:00:00 grep svn
# kill -9 4642
?
若要使用/etc/init.d/svnserve?腳本,可以修改start()函數(shù)部分,如下:
start() {
????[ -x $exec ] || exit 5
????[ -f $config ] || exit 6
????echo -n $"Starting $prog: "
????daemon --pidfile=${pidfile} $exec $args?-r /svn/project
????retval=$?
????echo
????[ $retval -eq 0 ] && touch $lockfile
????return $retval
}
完成?2??????????使用客戶端連接
2.1???????使用windows的客戶端
打開TortoiseSVN Repository Browser工具
在URL中輸入:
svn://192.168.11.229回車,提示輸入用戶名和口令
2.2???????使用Linux下的命令行
#?svn co svn://192.168.11.229
?
3??????????FAQ
3.1???????命令行方式連接,提示svn: No repository found in 'svn://192.168.11.229/project'錯(cuò)誤?
解決:啟動(dòng)svn服務(wù)的時(shí)候沒有使用-r /svn/project參數(shù),沒有指明資源庫的具體路徑。使用# svnserve -d -r /svn/project/?命令來啟動(dòng)就可以了,不要使用/etc/init.d/svnserver腳本。
3.2???????執(zhí)行命令# svn co svn://192.168.11.229/project時(shí)提示“svn: Authorization failed”錯(cuò)誤?
解決:一般這種授權(quán)失敗的錯(cuò)誤原因都來自conf/authz文件的配置
正確的配置如下:
[groups]
admin = xiaoran.shen,test1
user = test2
[/]
@admin?= rw
@user?= rw
* =
保存
總結(jié)
以上是生活随笔為你收集整理的原 Linux搭建SVN 服务器2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android fragment 菜单栏
- 下一篇: linux装机量,在没有盗版的世界Lin