2020-04-16 svn 服務(wù)器搭建

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贾富,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子逻炊,更是在濱河造成了極大的恐慌丝蹭,老刑警劉巖慢宗,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奔穿,居然都是意外死亡镜沽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門贱田,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缅茉,“玉大人,你說我怎么就攤上這事男摧∈叨眨” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵耗拓,是天一觀的道長拇颅。 經(jīng)常有香客問我,道長帆离,這世上最難降的妖魔是什么蔬蕊? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮哥谷,結(jié)果婚禮上岸夯,老公的妹妹穿的比我還像新娘。我一直安慰自己们妥,他們只是感情好猜扮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著监婶,像睡著了一般旅赢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惑惶,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天煮盼,我揣著相機(jī)與錄音,去河邊找鬼带污。 笑死僵控,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鱼冀。 我是一名探鬼主播报破,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼千绪!你這毒婦竟也來了充易?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤荸型,失蹤者是張志新(化名)和其女友劉穎盹靴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瑞妇,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鹉究,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了踪宠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片自赔。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柳琢,靈堂內(nèi)的尸體忽然破棺而出绍妨,到底是詐尸還是另有隱情,我是刑警寧澤柬脸,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布他去,位于F島的核電站,受9級特大地震影響倒堕,放射性物質(zhì)發(fā)生泄漏灾测。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一垦巴、第九天 我趴在偏房一處隱蔽的房頂上張望媳搪。 院中可真熱鬧铭段,春花似錦、人聲如沸秦爆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等限。三九已至爸吮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間望门,已是汗流浹背形娇。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筹误,地道東北人桐早。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像纫事,于是被迫代替她去往敵國和親勘畔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353