1揍诽、yum install svn? ??
SVN版本庫的建立
A.我選擇的目錄是 /home/svn/作為SVN版本庫的根目錄诀蓉,命令為:
# mkdir /home/svn
B.比如,現(xiàn)在我有一個名為“project”的項目需要用SVN做版本管理暑脆,那么我可以在svn根目錄下建立一個 /project目錄渠啤,我最終目的想讓項目托管到/project目錄下。接下來我需要新建這個目錄:/home/svn/project
添吗,命令為:
# mkdir -p /home/svn/project
C.然后需要將/project目錄設(shè)定為版本庫沥曹,命令如下:
# svnadmin create /home/svn/project
D.設(shè)定/project目錄為版本庫后,會發(fā)現(xiàn)/project目錄下會多出以下文件:
第五步:svn服務(wù)器的相關(guān)配置:
svn的配置主要就是對conf目錄下的三個文件配置:svnserve.conf碟联、passwd妓美、authzs。
A.對著三個配置文件的講解
a.svnserve.conf文件講解
[general]配置段中配置行格式: <配置項> = <值> 鲤孵,常用的配置項是以下5項:
(1)anon-access控制非鑒權(quán)用戶訪問版本庫的權(quán)限壶栋。取值范圍為”write”、”read”和”none”普监。即”write”為可讀可寫贵试,”read”為只讀,”none”表示無訪問權(quán)限凯正。?
缺省值:read
(2)auth-access控制鑒權(quán)用戶訪問版本庫的權(quán)限毙玻。取值范圍為”write”、”read”和”none”廊散。即”write”為可讀可寫桑滩,”read”為只讀,”none”表示無訪問權(quán)限奸汇。?
缺省值:write
(3)password-db 指定用戶名口令文件名施符。除非指定絕對路徑往声,否則文件位置為相對conf?目錄的相對路徑擂找。?
缺省值:passwd
(4)authz-db 指定權(quán)限配置文件名,通過該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問控制浩销。除非指定絕對路徑贯涎,否則文件位置為相對conf目錄的相對路徑。?
缺省值:authz?
(5)realm 指定版本庫的認(rèn)證域慢洋,即在登錄時提示的認(rèn)證域名稱(就是個作為提示用的塘雳,不用太糾結(jié))。
b.passwd文件講解
用戶名口令文件普筹,該文件名在文件svnserve.conf中指定败明,缺省為同目錄下的passwd。
該文件僅由一個[users]配 置段組成太防。
[users]配置段的配置行格式如下: <用戶名> = <口令> 妻顶,注意:配置行中的口令是未經(jīng)過任何處理的明文。
例:用戶名口令文件conf/passwd的內(nèi)容如下,配置了兩個用戶讳嘱,用戶名分別為”quanran”和”dongxuening”幔嗦。其中”quanran”用戶的口令為”111111”,”dongxuening”用戶的口令為”222222”:
[users]?
quanran = 111111
dongxuening = 222222
c.authzs文件講解
權(quán)限配置文件沥潭,該文件名也在文件svnserve.conf中指定邀泉,缺省為同目錄下的authz。
該配置文件由一個[groups]配置段和 若干個版本庫路徑權(quán)限段組成钝鸽。
[groups]配置段中配置行格式如下:?
<用戶組> = <用戶列表>?
用戶列表由若干個用戶組或用戶名構(gòu)成汇恤,用戶組或用戶名之間用逗號”,”分隔,引用用戶組時要使用前綴”@”(如:引用用戶組”all”要使用字符 串”@all”)拔恰。
版本庫路徑權(quán)限段的段名格式如下:?
[<版本庫名>:<路徑>]?
如版本庫abc路徑/tmp的版本庫路徑權(quán)限段的段名為”[abc:/tmp]”屁置。?
可省略段名中的版本庫名。若省略版本庫名仁连,則該版本庫路徑權(quán)限段對所有版本庫中相同路徑的訪問控制都有效蓝角。如:段名為”[/tmp]”的版本庫路徑權(quán)限段 設(shè)置了所有引用該權(quán)限配置文件的版本庫中目錄”/tmp”的訪問權(quán)限。
版本庫路徑權(quán)限段中配置行格式有如下三種:?
<用戶名> = <權(quán)限>?
<用戶組> = <權(quán)限>?
* = <權(quán)限>?
其中饭冬,”*”表示任何用戶使鹅;權(quán)限的取值范圍為”、’r’和’rw’昌抠,”表示對該版本庫路徑無任何權(quán)限患朱,’r’表示具有只讀權(quán)限,’rw’表示有讀寫權(quán) 限炊苫。?
注意:每行配置只能配置單個用戶或用戶組裁厅。
例3:權(quán)限配置文件conf/authz的內(nèi)容如下:?
[groups]?
g_admin = admin,zhangsan
[admintools:/]?
@g_admin = rw?
* =
[test:/home/zhangsan]?
zhangsan = rw?
* = r
在上述配置文件中,定義了一個用戶組”g_admin”侨艾,該用戶組包含用戶”admin”和”zhangsan”执虹。然后定義了2個版本庫路徑權(quán)限段。其中唠梨, 版本庫”admintools”只有用戶組”g_admin”可讀寫袋励,其他用戶無任何權(quán)限;版本庫”test”中路徑”/home/zhangsan”只有 用戶”zhangsan”有讀寫權(quán)限当叭,其他用戶只有可讀權(quán)限茬故。
B.言歸正傳!開始配置蚁鳖!
(1)配置svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
備注:vi命令編輯svnserve.conf磺芭,insert進(jìn)入編輯模式,放開以上選項醉箕,ESC :wq保存钾腺。設(shè)置非鑒權(quán)用戶無權(quán)訪問甘邀、設(shè)置鑒權(quán)用戶可讀寫、口令及權(quán)限配置參照conf目錄下passwd和authz的配置垮庐。
重要提醒K尚啊!:首行不可以留空哨查,要頂行逗抑,否則會造成SVN識別為配置錯誤。
(2)配置passwd
[users]
rokay = 123456
備注:配置了一個用戶為“rokay”寒亥,密碼為“123456”的用戶邮府。
(3)配置authz
[groups]
g_admin = rokay
[/]
@g_admin = rw
*=?
備注:配置了一個管理員群組“g_admin”,包含用戶“rokay”溉奕;?
“[/]”表示對根目錄“trunk”的權(quán)限配置褂傀。?
配置了“g_admin”群組對于該目錄下的權(quán)限為“rw“(讀、寫)權(quán)限加勤。?
* = 配置了除群組”g_admin“外的其他用戶均無權(quán)訪問仙辟。
注意:也可以用“,”分隔多個用戶或者@+群組名稱的方式配置多用戶,參看上方說明鳄梅。
(4)綜上叠国,就完成了對三個文件也就是svnserve的配置了。
第六步:啟動svn服務(wù)
輸入命令:# svnserve -d -r /home/svn
注意:/svn目錄為版本庫的根目錄戴尸,所以路徑僅到/svn即可粟焊。
此時,SVN服務(wù)器的配置以及版本庫已經(jīng)建立完成孙蒙!
第七步:SVN Windows客戶端訪問
訪問地址:svn://[服務(wù)器IP地址]/[項目名稱];
例如:svn://123.206.73.117/project/
輸入已授權(quán)的用戶信息登錄即可訪問資源位置项棠。?
同樣的,可以通過右擊項目[team]—[share]挎峦,輸入以上URL將項目共享至新建的SVN版本庫中香追。
注意:上述地址中沒有”/svn”這一級目錄,”/svn”為版本庫根目錄浑测,不用輸入!!!!!!!!
第八步:新建多個版本庫
若要在/svn目錄下添加新的版本庫翅阵,直接新建相應(yīng)的目錄歪玲,然后設(shè)置為版本庫迁央,最后配置即可,不需要重新運(yùn)行svnserve -d -r /home/svn滥崩,也不需要把該命令應(yīng)用到/svn目錄下你所新建的目錄岖圈,如果因為誤操作執(zhí)行了以上命令,會導(dǎo)致資源庫不可用钙皮,再次運(yùn)行svnserve -d -r /home/svn也會報:“不能綁定服務(wù)器套接字 地址已在使用”的錯誤字樣“(若已至此蜂科,刪除掉新建的資源庫顽决,并用ps -ef | grep svnserve查看進(jìn)程,kill -9 [進(jìn)程號] 殺掉导匣,重新執(zhí)行svnserve -d -r /home/svn才菠,再次新建資源庫,直接配置即可使用)
比如在/svn目錄下另外新建一個project2的資源庫贡定,命令如下:
# mkdir -p /home/svn/project2
# svnadmin create /home/svn/project2
# 在次配置當(dāng)前版本庫的三個配置文件:svnserve.conf赋访、passwd、authzs缓待。
(不需再運(yùn)行svnserve -d -r /home/svn !!!!!!!)
第九步:一切搞定蚓耽,OK啦!
===========第二種:yum安裝方式旋炒。優(yōu)點(diǎn):簡單步悠,一鍵安裝,不用手動配置環(huán)境變量等瘫镇。缺點(diǎn):安裝位置為yum默認(rèn)===========
一鼎兽、yum安裝subversion
? ? 1. 安裝subversion?yum install subversion
2. 查看安裝版本,檢查安裝是否成功?svnserve --version? 铣除,我裝的版本為??1.7.14
3. 查看安裝位置??rpm -ql subversion
二接奈、創(chuàng)建版本庫
1.創(chuàng)建用于存放版本庫的目錄,比如我準(zhǔn)備在/home下創(chuàng)建版本庫??mkdir -p /home/svn/
2.創(chuàng)建svn版本庫通孽,指定為剛才創(chuàng)建的目錄?svnadmin create /home/svn/porject
3.創(chuàng)建完后序宦,版本庫目錄下會生成一些文件,進(jìn)入conf目錄下背苦。conf目錄中authz文件是權(quán)限控制文件互捌,passwd是帳號密碼文件,svnserve.conf是SVN服務(wù)配置文件行剂。
? ? ???? 修改svnserver.conf文件:
????????????[general]
????????????anon-access = none? #匿名用戶可讀
????????????auth-access = write? #授權(quán)用戶可寫
????????????password-db = passwd? #使用哪個文件作為賬號文件
????????????authz-db = authz? #使用哪個文件作為權(quán)限文件
4.修改passwd文件秕噪,加入用戶,格式就是“用戶名=密碼”厚宰,如:?
?????????????quanran = 11
????????????dongxuening?= 22
5.修改authz文件腌巾,加入用戶權(quán)限:
[/]?
quanran?= rw
???????????dongxuening = r
這就表示quanran 用戶對版本庫根目錄有讀寫權(quán)限(即最高權(quán)限了),而dongxuening 用戶對版本庫目錄只有讀的權(quán)限铲觉。
6.svnserve.conf里面常用的配置有設(shè)置匿名用戶(默認(rèn)可讀)澈蝙、授權(quán)用戶(默認(rèn)讀寫)的讀寫權(quán)限,以及指定賬號文件(默認(rèn)passwd)撵幽、權(quán)限文件(默認(rèn)authz)的路徑等灯荧。看起來應(yīng)該默認(rèn)值就夠了盐杂,但實(shí)際使用發(fā)現(xiàn)還是得手動把相關(guān)注釋打開逗载,不知道是什么原因哆窿。
7.啟動svn版本庫?svnserve -d -r??/home/svn/
其中,-r的作用是設(shè)置根目錄路徑厉斟,比如我這樣設(shè)置后在訪問時輸入svn://x.x.x.x/就會直接到我的svn目錄下(當(dāng)然在svn目錄下是找不到版本庫的)挚躯,如果想訪問版本庫則輸入svn://x.x.x.x/Code即可。
換句說話擦秽,如果啟動版本庫時命令為svnserve -d -r???/home/svn/秧均,則訪問svn://x.x.x.x/就能直接到版本庫內(nèi)。
三号涯、常見問題
1.注意打開端口的訪問權(quán)限目胡。svn服務(wù)的默認(rèn)端口為3690,比如我部署在阿里云服務(wù)器上链快,必須先在阿里云控制臺打開3690端口的外部訪問權(quán)限誉己。
2.關(guān)閉svn服務(wù)的方式是殺掉進(jìn)程,kill pid或者pkill svnserve
————————————————
版權(quán)聲明:本文為CSDN博主「全冉」的原創(chuàng)文章域蜗,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議巨双,轉(zhuǎn)載請附上原文出處鏈接及本聲明碎节。
原文鏈接:https://blog.csdn.net/qq_23167527/java/article/details/80182317