版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
從subversion開始(svn安裝配置全過程(+全套安裝文件與配置文件))??…關(guān)鍵字:svnsubversionsvn安裝配置svn安裝配置文件花了一天時(shí)間,走了不少?gòu)澛?,解決N多錯(cuò)誤,終于全部完成了,記下安裝過程中遇到的各種問題,希望對(duì)初步使用svn的TX們有所幫助。關(guān)于svn的介紹此處略過,直接進(jìn)入正題。svn服務(wù)的開啟有兩種方式,?自帶的svnserve服務(wù)(訪問地址類似于svn://8/repos/)?與Apache配合使用(訪問地址類似于8:8077/repos/)下面先進(jìn)入第一種的配置:安裝,解壓縮下載的svn壓縮包到對(duì)應(yīng)文件夾(建議路徑不要有空格與中文)建立版本庫(kù),首先建立f:\svn空文件夾作為所有版本庫(kù)的根目錄。然后,進(jìn)入命令行并切換到安裝subversion的bin目錄(建議將此目錄設(shè)為path)。輸入如下命令:svnadmincreatef:\svn\repos運(yùn)行服務(wù)進(jìn)程在bin目錄下輸入:svnserve-d-rf:\svn注:-d參數(shù)效果同于--daemon-r參數(shù)效果同于--rootsvnserve將會(huì)在端口3690等待請(qǐng)求,--daemon(兩個(gè)短橫線)選項(xiàng)告訴svnserve以守護(hù)進(jìn)程方式運(yùn)行,這樣在手動(dòng)終止之前不會(huì)退出。不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把svnserve停止。--root選項(xiàng)設(shè)置根位置來限制服務(wù)器的訪問目錄,從而增加安全性和節(jié)約輸入svnserveURL的時(shí)間如果不加root參數(shù),服務(wù)url為:svn://localhost/svn/repos而如果加上root參數(shù),服務(wù)url為:svn://localhost/repos此處的啟動(dòng)配置會(huì)影響服務(wù)url,如果輸入url錯(cuò)誤,會(huì)導(dǎo)致訪問的時(shí)候出現(xiàn)異常4為了驗(yàn)證svnserve正常工作,使用TortoiseSVN->Repo-browser來查看版本庫(kù)。在彈出的URL對(duì)話框中輸入:svn://localhost/repos點(diǎn)OK按鈕后就可以看見repo1版本庫(kù)的目錄樹結(jié)構(gòu)了,只不過這時(shí)repo1是個(gè)空庫(kù)。可能出現(xiàn)的問題:Error:Can'tconnecttohost'':由于目標(biāo)機(jī)器積極拒絕,無法連接。解決:首先測(cè)試svn的3690端口是否打開:telnetlocalhost3690如果不成功說明服務(wù)沒有被正常啟動(dòng),請(qǐng)參考前面步驟可以將svn服務(wù)添加到系統(tǒng)服務(wù)中去,步驟如下:這樣可以避免每次重啟后需要手動(dòng)運(yùn)行命令的煩惱1在subversion的安裝路徑下,找到bin文件夾2新建一個(gè)setupservice.bat文件,內(nèi)容為:Java代碼sccreatesvnservebinpath二"Subversion安裝路徑\bin\svnserve.exe--service-rf:\svn"depend=Tcpipstart=autoscstartsvnservepause這里有個(gè)需要注意的問題:“start=autO等號(hào)后面要加上一空格3運(yùn)行,這時(shí)在服務(wù)里可找到一個(gè)名為svnserve的服務(wù)。在cmd命令行下查看打開的端口:netstat-ano就看到3690端口打開了Error:Norepositoryfoundin'svn://localhost/svn/repos/jmxDemo'解決:Java代碼A.測(cè)試1:①運(yùn)行svnserve-d-rf:\svn\repos\jmxDemo//扌旨定jmxDemo根目錄為服務(wù)的根目錄②運(yùn)行svn://localhost,可以正常訪問修改jmxDemo③運(yùn)行svn://localhost/jmxDemo,出現(xiàn):'svn://localhost/jmxDemo'non-existentin5.B.測(cè)試2:①運(yùn)行svnserve-d-rf:\svn\repos//扌旨定jmxDemo上層目錄為服務(wù)的根目錄②運(yùn)行svn://localhost/jmxDemo,可以正常訪問修改Repository③運(yùn)行svn://localhost,出現(xiàn):Error*Norepositoryfoundin'svn://localhost'10.C.結(jié)論:①SVN服務(wù)啟動(dòng)時(shí)指定的根目錄不同,會(huì)影響相同URL的訪問結(jié)果②SVN在訪問指定路徑時(shí)會(huì)從服務(wù)的根目錄下去尋找,即基于我們啟動(dòng)服務(wù)時(shí)旨定的根目錄③svn://localhost扌旨向默認(rèn)的jmxDemo,svn://localhost/jmxDemo指向jmxDemo④測(cè)試情況一的步驟③失敗是因?yàn)槲覀円呀?jīng)把路徑直接旨向了jmxDemo的根目錄⑤測(cè)試情況二的步驟③失敗是因?yàn)槲覀冎皇前崖窂街赶蛄薺mxDemo的上層目錄解決如下:svn://localhost/repos/jmxDemo而不是svn://localhost/svn/repos/jmxDemo配置權(quán)限打開建立的版本庫(kù)文件夾/conf編輯server.conf添加如下幾行:Java代碼[general]password-db=passwd.confanon-access=noneauth-access=writeauthz-db=authz.conf保證文件中只有這幾行是不被注釋的在當(dāng)前文件夾新建authz.conf與passwd.conf文件編輯passwd.conf文件,添加內(nèi)容:Java代碼_■[users]cjy=cjy注意整個(gè)串前后都不要有空格編輯authz.conf文件,添加內(nèi)容:Java代碼[/]cjy=rw導(dǎo)入文件夾重啟服務(wù),在需要導(dǎo)入的文件夾上右鍵--TortoiseSVN->Import輸入url:svn://localhost/repos/文件夾名此處文件夾名需要被加上,不然會(huì)把文件夾下的所有文件弄到repos文件夾下,數(shù)據(jù)亂了輸入用戶名密碼:cjy導(dǎo)入的時(shí)候可能出現(xiàn)的問題:Error:Authorizationfailed解決:權(quán)限問題這個(gè)問題弄了蠻久,一直以為是拼寫url的問題,找了半天沒找到,然后確認(rèn)問題是權(quán)限配置錯(cuò)誤,查了半天也沒看出來,后來弄清楚,是因?yàn)閷?dǎo)入涉及到在根下寫東西,所以必須要有根下的w權(quán)限,添加如下配置后問題解決:Java代碼[/]cjy=rw版本庫(kù)與導(dǎo)入項(xiàng)目最好不要重名,如果重名:比如把a(bǔ)rm下的東東導(dǎo)入到了這個(gè)版本庫(kù):svn://localhost/arm。而配置權(quán)限的時(shí)候,[arm:/]這才代表工程的根目錄,即:svn://localhost/arm要想配到權(quán)限到目錄下,就得這么寫:[arm:/arm/],不然出錯(cuò),且問題不容易排出checkout之,svn://localhost/repos/文件夾名注意大小寫區(qū)分,不然可能也會(huì)出現(xiàn)Error:Authorizationfailed錯(cuò)誤OK,至此svn自帶服務(wù)配置完成,可以進(jìn)行其他測(cè)試如update,commit等。都不會(huì)再出現(xiàn)問題。下面說明Apache配合svn提供httpsvn服務(wù)。下面進(jìn)入第二種配置:1、安裝Apache,Apache的安裝文件時(shí)一個(gè)msi文件可以直接雙擊運(yùn)行(建議路徑不要有空格與漢字)2、 從Subversion安裝目錄的bin子目錄將intl3_svn.dll、libdb44.dll拷貝到Apache安裝目錄的bin文件夾3、 從Subversion安裝目錄的bin子目錄將mod_authz_svn.so、mod_dav_svn.so拷貝到Apache的模塊目錄(Apache安裝目錄的modules文件夾)此步可省,配置的時(shí)候通過絕對(duì)路徑的方式指定也可以4、 修改Apache的配置文件httpd.conf,使用LoadModule來加載mod_dav_svn模塊。Java代碼LoadModuledav_modulemodules/mod_dav.soLoadModuledav_fs_modulemodules/mod_dav_fs.so3.LoadModuledav_svn_module"svn安裝目錄/bin/mod_dav_svn.so"LoadModuleauthz_svn_module"svn安裝目錄/bin/mod_authz_svn.so"注:如果拷貝了so文件到模塊目錄了,可以將上面兩個(gè)的路徑改成modules/mod_dav_svn.so的形式,否則請(qǐng)使用正確的絕對(duì)路徑請(qǐng)確認(rèn)文件中未注釋的數(shù)據(jù)只有以上四句確定用來作為Subversion版本庫(kù)的目錄在配置文件最后添加如下幾行:Java代碼<Location/svn>DAVsvnSVNPathf:/svn/repos</Location>這個(gè)配置告訴Apache首先需要啟用dav_module,然后加載dav_svn_module。版本庫(kù)對(duì)外的URL是:http://localhost:8077/svn,所有的Subversion版本庫(kù)在物理上位于f:/svn/repos。配置完畢后重新啟動(dòng)Apache,打開瀏覽器,輸入http://localhost:8077/svn將會(huì)看到成功畫面:svn-Revision10:/armdiary/ref/temp/PoweredbySubversionversion1.6.0(r36650).這表示Apache的dav_svn模塊已經(jīng)可以正常工作了(現(xiàn)在已經(jīng)可以通過http的方式獲取svn中的內(nèi)容了)。5、測(cè)試通過之后,進(jìn)行權(quán)限配置5.1、基本HTTP認(rèn)證最簡(jiǎn)單的客戶端認(rèn)證方式是通過HTTP基本認(rèn)證機(jī)制,簡(jiǎn)單的使用用戶名和密碼來驗(yàn)證一個(gè)用戶的身份。Apache提供了一個(gè)htpasswd工具來管理一個(gè)用戶文件,這個(gè)文件包含用戶名和加密后的密碼,這些就是你希望賦予Subversion特別權(quán)限的用戶。htpasswd可以在Apache的bin安裝目錄下找到。具體使用方法如下:創(chuàng)建用戶文件:htpasswd-cmF:\svn\repos\conf\passwordfilecjy添加新用戶(-m表示以MD5加密密碼):htpasswd[-m]F:\svn\repos\conf\passwordfiledmm這個(gè)地方如果加上c,會(huì)把以前的覆蓋掉更改用戶密碼:htpasswd[-m]F:\svn\repos\conf\passwordfilecjy刪除用戶(要用大寫的D):htpasswd-DF:\svn\repos\conf\passwordfilecjy接下來修改httpd.conf,在Location標(biāo)簽中加入如下內(nèi)容:Java代碼AuthTypeBasicAuthName"svnrepos"AuthUserFileF:\svn\repos\conf\passwordfileRequirevalid-user說明:AuthTypeBasic:啟用基本的驗(yàn)證,比如用戶名/密碼對(duì)。AuthName"svnrepos":當(dāng)一個(gè)認(rèn)證對(duì)話框彈出時(shí),出現(xiàn)在認(rèn)證對(duì)話框中的信息。(最好用英文,TortoiseSVN不支持中文,安裝語言包除外。)AuthUserFileF:\svn\repos\conf\passwordfile:扌旨定F:\svn\repos\conf\passwordfile為用戶文件,用來驗(yàn)證用戶的用戶名及密碼。Requirevalid-user:限定用戶只有輸入正確的用戶名及密碼后才能訪問這個(gè)路徑重新啟動(dòng)Apache,打開瀏覽器訪問版本庫(kù)。Apache會(huì)提示你輸入用戶名和密碼來認(rèn)證登陸了,現(xiàn)在只有passwd文件中設(shè)定的用戶才可以訪問版本庫(kù)。也可以配置只有特定用戶可以訪問,替換上述"Requirevalid-user"為"Requireusercjydmm"將只有用戶文件中的cjy和dmm可以訪問該版本庫(kù)。有的時(shí)候也許不需要這樣嚴(yán)格的訪問控制,例如大多數(shù)開源項(xiàng)目允許匿名的讀取操作,而只有認(rèn)證用戶才允許寫操作。為了實(shí)現(xiàn)更為細(xì)致的權(quán)限認(rèn)證,可以使用Limit和LimitExcept標(biāo)簽。例如:Java代碼<LimitExceptGETPROPFINDOPTIONSREPORT>requirevalid-user</LimitExcept>以上配置將使匿名用戶有讀取權(quán)限,而限制只有passwd中配置的用戶可以使用寫操作。如果這還不能滿足你的要求,你希望精確的控制版本庫(kù)目錄訪問,可以使用Apache的mod_authz_svn模塊對(duì)每個(gè)目錄進(jìn)行認(rèn)證操作。5.2、用mod_authz_svn進(jìn)行目錄訪問控制首先需要讓Apache將mod_authz_svn模塊加載進(jìn)來。在Subversion的安裝目錄中找到mod_auth_svn模塊,將其拷貝到Apache安裝目錄的modules子目錄下。修改httpd.conf文件,添加:LoadModuleauthz_svn_modulemodules/mod_authz_svn.so現(xiàn)在可以在Location標(biāo)簽中使用authz的功能了。注:在咱們的配置文件中已經(jīng)進(jìn)行了此步驟。此處可以略過一個(gè)基本的authz配置如下:Java代碼#下面的/svn表示url為:http://localhost:8077/svn/<Location/svn>#先需要啟用dav_module,然后加載dav_svn_moduleDAVsvn#版本庫(kù)的本地路徑SVNPathf:\svn\repos#下面一行是使用版本庫(kù)上一級(jí)文件夾的方式來控制所有版本庫(kù)#SVNParentPathe:/svn#權(quán)限控制文件AuthzSVNAccessFileD:\Java\apache\conf\authz.conf#tryanonymousaccessfirst,resorttoreal#authenticationifnecessary.13.SatisfyAnyRequirevalid-user#啟用基本的驗(yàn)證,比如用戶名/密碼對(duì)。#在用戶名/密碼對(duì)文件中的用戶名才可以再authz.conf文件中配置生效AuthTypeBasicAuthName"cjyrepos"AuthUserFileD:\Java\apache\conf\passwordfile</Location>AuthzSVNAccessFile指向的是authz的策略文件,詳細(xì)的權(quán)限控制可以在這個(gè)策略文件中指定。AuthUserFile指向加密用戶文件的位置,只有在此文件中存在的用戶才可以在authz策略文件中被正確配置以(#)開頭的行會(huì)被忽略;在它的簡(jiǎn)單形式里,每一小節(jié)命名一個(gè)版本庫(kù)和一個(gè)里面的路徑;認(rèn)證用戶名是在每個(gè)小節(jié)中的選項(xiàng)名;每個(gè)選項(xiàng)的值描述了用戶訪問版本庫(kù)的級(jí)別:r(只讀)或者rw(讀寫),如果用戶沒有提到或者值留空,訪問是不允許的;*表示所有用戶,用它控制匿名用戶的訪問權(quán)限;@符號(hào)區(qū)分組和用戶。如:Java代碼[groups]#定義組vip=dmmusers=cjy,light[/]*=r@vip=rw[/branches/dev]@users=rw[/tags]cjy=rw[/private]*=@vip=r使用SVNParentPath代替SVNPath來指定多個(gè)版本庫(kù)的父目錄時(shí),其中所有的版本庫(kù)都將按照這個(gè)策略文件配置。例如上例中cjy將對(duì)所有版本庫(kù)里的/tags目錄具有讀寫權(quán)限。如果要對(duì)具體每個(gè)版本庫(kù)配置,用如下的語法:Java代碼[groups]project1_vip=cjy,dmmproject2_vip=cjy,light[repos1:/]*=r@project1_vip=rw[repos2:/]*=r@project2_vip=rw這樣repos1的project1_vip組只能對(duì)repos1版本庫(kù)下的文件具有寫權(quán)限而不能修改版本庫(kù)repos2,同樣repos2的project2_vip組也不能修改repos1版本庫(kù)的文件??赡艹霈F(xiàn)的錯(cuò)誤:1、路徑或權(quán)限不足時(shí)將出現(xiàn)錯(cuò)誤信息提示:http://localhost(路徑不對(duì))Error*PROPFINDrequestfailedon'/'PROPFINDof'/':200OK(http://localhost)http://localhost/svn(權(quán)限不足)Error*PROPFINDrequestfailedon'/svn'PROPFINDof'/svn':403Forbidden(http://localhost)http://localhost/svn/repos(正常顯示)http://localhost/repos(權(quán)限不允許)Error*PROPFINDrequestfailedon'/repos'PROPFINDof'/repos':405MethodNotAllowed(http://localhost)2、不啟動(dòng)E:\subversion\bin\svnserve.exe,但啟動(dòng)了ApacheSVN,訪問(tortoiseSVN-〉Repo-browser)或提交(SVNCommit)情形如下:現(xiàn)象:svn://localhost/svn/repos不能訪問或提交,提示:Error*Can'tconnecttohost'localhost':由于目標(biāo)機(jī)器積極拒絕,無法連接。但file:///e:/svn/repos和http://localhost/svn/repos可以訪問或提交。原因:svn://是獨(dú)立服務(wù)器svnserver自己的協(xié)議。file:///是本地訪問,即服務(wù)器端和客戶端在一個(gè)機(jī)器上3、 具體到使用so的時(shí)候報(bào)錯(cuò)Cannotloadmod_dav_svn.sointoserver:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\解決:可能是版本的沖突,請(qǐng)使用2.2.9配1.6解壓縮下載的svn,里面會(huì)有一個(gè)readme文件,打開后會(huì)列出其支持的相關(guān)應(yīng)用列表,請(qǐng)下載相對(duì)應(yīng)的apache版本推薦2.2.9+1.6.0,版本較新,且已經(jīng)測(cè)試通過(附件中有安裝文件)httpd.exe:Syntaxerroronline87ofD:/Java/apache/conf/httpd.conf:InvalidLoadModulepathmodules/mod_dav_svn.so"解決:幾個(gè)DLL沖突,apache/bin/*.DLL最終列表:Java代碼[-,需要?jiǎng)h除的]:[+?從Subs復(fù)制過來的][?,未知,可以不要]4.[-]lib
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年江蘇食品藥品職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及參考答案詳解
- 2026年河北工業(yè)職業(yè)技術(shù)大學(xué)單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案詳解1套
- 2026年博爾塔拉職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案詳解1套
- 2026年鄭州理工職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)附答案詳解
- 2026年天津財(cái)經(jīng)大學(xué)珠江學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)含答案詳解
- 2026年自貢職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案詳解
- 2026年青海省海西蒙古族藏族自治州單招職業(yè)傾向性測(cè)試題庫(kù)及參考答案詳解
- 2026年江蘇信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)含答案詳解
- 2026年杭州萬向職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)附答案詳解
- 2026年湖南電氣職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解一套
- 黑龍江省哈爾濱市第九中學(xué)校2025-2026學(xué)年高二上學(xué)期9月月考英語試卷(含答案)
- 智能手機(jī)應(yīng)用課件
- DG-TJ08-506-2025 人工砂在混凝土中的應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 北京市朝陽區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試物理試題
- 人工智能助力醫(yī)療保障精細(xì)化管理研究報(bào)告
- 骶尾部藏毛疾病診治中國(guó)專家共識(shí)(2023版)解讀 4
- 瀝青拌合站模塊化設(shè)計(jì)與建設(shè)技術(shù)路線
- 出血性中風(fēng)課件
- 2025年山東省政府采購(gòu)評(píng)審專家考試題庫(kù)附含答案
- 腹壁整形課件
- 2025年公務(wù)員、事業(yè)單位面試題庫(kù)(附答案)
評(píng)論
0/150
提交評(píng)論