日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SVN的配置和使用

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVN的配置和使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.安裝前必備

獲取 Subversion 服務器程序 到官方網站?http://subversion.tigris.org/
??? 我下的是CollabNetSubversion-server-1.6.5-6.win32.exe

獲取 TortoiseSVN 客戶端程序??http://tortoisesvn.net/downloads

? TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi

2.配置說明

??? svn服務的開啟有兩種方式:自帶的svnserve服務(svn://)和與Apache配合使用?(http://)

進入命令行并切換到安裝subversion目錄(C:\Program Files\CollabNet\Subversion Server),執行如下命令

svnadmin create e:\svn\repos //創建版本庫

運行服務進程?
在subversion目錄下輸入:?
svnserve -d -r e:\svn?
注:-d參數效果同于--daemon?
??? -r參數效果同于--root?
svnserve 將會在端口 3690 等待請求,?
??? --daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。不要關閉命令行窗口,關閉窗口會把 svnserve 停止。?
?可直接創建.bat文件來處理當做系統服務? 如下內容

sc?create?svnserve?binpath=?"C:\Program Files\CollabNet\Subversion Server\svnserve.exe?--service?-r?e:\svn"?depend=?Tcpip?start=?auto ??

sc?start?svnserve ??

pause??


??? --root選項設置根位置來限制服務器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間?
??? 如果不加root參數,服務url為:svn://localhost/svn/repos?
??? 而如果加上root參數,服務url為:svn://localhost/repos?

??? 此處的啟動配置會影響服務url,如果輸入url錯誤,會導致訪問的時候出現異常?

為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話框中輸入:?
? svn://localhost/repos

成功訪問后可看到空的文件目錄!

配置用戶和權限
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:
將:
# password-db = passwd

改為:
password-db = passwd

即去掉前面的 # 注釋符,注意前面不能有空格。
然后修改同目錄的passwd文件,增加一個帳號:

將:
[users]
# harry = harryssecret
# sally = sallyssecret?

增加帳號:
[users]?
#harry = harryssecret?
#sally = sallyssecret?
admin= admin

如此就可以用客戶端Tortoise進行操作了

?

安裝 ApacheSVN 服務器教程(轉載)


Subversion的設計包括一個抽象的網絡層,這意味著版本庫可以通過各種服務器進程訪問。理論上講,Subversion可以使用無限數量的網絡協議實現,目前實踐中存在著兩種服務器。
?? ? ? ? SVNServer:svnserve是一個小的(也叫輕型的)、獨立服務器,使用自己定義的協議和客戶端。(作者注:以下稱這種服務器為“svnserver服務器”,上面的安裝配置就是安裝svnserver服務器。)
?? ? ? ? ApacheSVN:Apache是最流行的web服務器,通過使用mod_dav_svn模塊,Apache可以訪問版本庫,并且可以使客戶端使用HTTP的擴展協議WebDAV/DeltaV進行訪問。(作者注:以下稱這種服務器為“ApacheSVN服務器”)

通過 Http 協議訪問版本庫是 Subversion 的亮點之一。ApacheSVN服務器具備了許多svnserve服務器沒有的特性,使用上更加靈活,但是有一點難于配置,靈活通常會帶來復雜性。

由于 Subversion 需要版本化的控制,因此標準的 Http 協議不能滿足需求。要讓 Apache 與 Subversion 協同工作,需要使用 WebDAV(Web-based Distributed Authoring and Versioning:)Web 分布式創作和版本控制)。WebDAV 是 HTTP 1.1 的擴展,關于 WebDAV 的規范和工作原理,可以參考 IETF RFC 2518 (http://www.ietf.org/rfc/rfc2518.txt)。

一、必備條件
為了讓你的版本庫使用HTTP網絡,你必需具備以下幾個條件:

1、配置好httpd 2.2.x,并且使用mod_dav啟動。
2、為mod_dav安裝mod_dav_svn插件。
3、配置你的httpd.conf,使http協議能訪問版本庫。

下面以我的配置過程詳細講解。

環境:
OS:Windows XP SP2
Web:Apache 2.2.6?
SVN:svn-win32-1.4.6?

二、安裝
1、安裝Apache
具體安裝方法見:《Windows下安裝Apache 2.2.x》

2、安裝 Subversion
將下載下來的 svn-win32-1.4.6.zip 直接解壓即可,比如我解壓到 e:\subversion 。
從Subversion安裝目錄的 bin 子目錄將 intl3_svn.dll、libdb44.dll、mod_authz_svn.so、mod_dav_svn.so 拷貝到Apache的模塊目錄(Apache 安裝目錄的 modules 文件夾)。

三、基本的Apache配置
修改Apache的配置文件 httpd.conf ,使用LoadModule來加載mod_dav_svn模塊。


#LoadModule dav_module modules/mod_dav.so

改成:
LoadModule dav_module modules/mod_dav.so

即去掉前面的“#”號。

添加:
LoadModule dav_svn_module modules/mod_dav_svn.so

一定確定它在 mod_dav 之后。

現在你已經設置了Apache和Subversion,但是Apache不知道如何處理Subversion客戶端,例如TortoiseSVN。為了讓Apache知道哪個目錄是用來作為Subversion版本庫,你需要使用編輯器(例如記事本)編輯Apache的配置文件。

在配置文件最后添加如下幾行:

<Location / repository>
??DAV svn
??SVNPath e:/svn/repos1
</Location>

這個配置告訴Apache首先需要啟用 dav_module,然后加載 dav_svn_module 。版本庫對外的URL是:http://服務器IP/repository ,所有的Subversion版本庫在物理上位于e:/svn/repos1 。
配置完畢后重新啟動 Apache,打開瀏覽器,輸入 http://服務器IP/ repository 將會看到如下畫面:



這表示 Apache 的 dav_svn 模塊已經可以正常工作了。用戶可以使用任何一種 Subversion 的客戶端通過 Http 協議訪問你的版本庫。

如果想要指定多個版本庫,可以用多個 Location 標簽,也可以使用 SVNParentPath 代替 SVNPath,例如在 e:\svn 下有多個版本庫 repos1,repos2 等等,用如下方式指定:

<Location /repository>
? ? ? ? DAV svn
? ? ? ? SVNParentPath e:/svn
</Location>

“SVNParentPath e:/svn ” 表示 e:\svn 下的每個子目錄都是一個版本庫。可以通過 http://服務器IP/repository/repos1,http://服務器IP/repository/repos2 來訪問。

現在你的版本庫任何人都可以訪問,并且有完全的寫操作權限。也就是說任何人都可以匿名讀取,修改,提交,以及刪除版本庫中的內容(注:這時不需要配置E:\svn\repos\conf\svnserve.conf 文件,并且也不需要啟動E:\subversion\bin\svnserve.exe。因為提交是通過Apache的dav模塊處理的,而不是由svnservice處理。)。我們用 TortoiseSVN 客戶端驗證即知。
顯然大部分場合這是不符合需求的。那么如何進行權限設置呢,Apache 提供了基本的權限設置:

四、認證選項
1、基本 HTTP 認證
最簡單的客戶端認證方式是通過 HTTP 基本認證機制,簡單的使用用戶名和密碼來驗證一個用戶的身份。Apache提供了一個 htpasswd 工具來管理一個用戶文件,這個文件包含用戶名和加密后的密碼,這些就是你希望賦予 Subversion 特別權限的用戶。htpasswd 可以在 Apache 的 bin 安裝目錄下找到。具體使用方法如下:

創建用戶文件:
htpasswd -c /etc/svn/passwordfile username

添加新用戶(-m 表示以MD5加密密碼):
htpasswd [-m] /etc/svn/passwordfile Newusername

更改用戶密碼:
htpasswd [-m] /etc/svn/passwordfile username

刪除用戶(要用大寫的 D ):
htpasswd –D /etc/svn/passwordfile username


接下來修改 httpd.conf,在 Location 標簽中加入如下內容:

AuthType Basic
AuthName "svn repos"
AuthUserFile E:/usr/Apache2.2/bin/passwd
Require valid-user

說明:
AuthType Basic:啟用基本的驗證,比如用戶名/密碼對。
AuthName "svn repos":當一個認證對話框彈出時,出現在認證對話框中的信息。(最好用英文,TortoiseSVN 不支持中文,安裝語言包除外。)
AuthUserFile E:/usr/Apache2.2/bin/passwd:指定E:\usr\Apache2.2\bin\passwd為用戶文件,用來驗證用戶的用戶名及密碼。
Require valid-user:限定用戶只有輸入正確的用戶名及密碼后才能訪問這個路徑

重新啟動 Apache ,打開瀏覽器訪問版本庫。Apache 會提示你輸入用戶名和密碼來認證登陸了,現在只有 passwd 文件中設定的用戶才可以訪問版本庫。也可以配置只有特定用戶可以訪問,替換上述 "Require valid-user" 為 "Require user tony robert" 將只有用戶文件中的 tony 和 robert 可以訪問該版本庫。

有的時候也許不需要這樣嚴格的訪問控制,例如大多數開源項目允許匿名的讀取操作,而只有認證用戶才允許寫操作。為了實現更為細致的權限認證,可以使用 Limit 和 LimitExcept 標簽。例如:

<LimitExcept GET PROPFIND OPTIONS REPORT>
??require valid-user
</LimitExcept>

以上配置將使匿名用戶有讀取權限,而限制只有 passwd 中配置的用戶可以使用寫操作。
如果這還不能滿足你的要求,你希望精確的控制版本庫目錄訪問,可以使用 Apache 的 mod_authz_svn 模塊對每個目錄進行認證操作。

2、用 mod_authz_svn 進行目錄訪問控制
首先需要讓 Apache 將 mod_authz_svn 模塊加載進來。在 Subversion 的安裝目錄中找到 mod_auth_svn 模塊,將其拷貝到 Apache 安裝目錄的 modules 子目錄下。修改 httpd.conf 文件,添加:

LoadModule authz_svn_module modules/mod_authz_svn.so

現在可以在 Location 標簽中使用 authz 的功能了。一個基本的 authz 配置如下:

<Location /repository>
??DAV svn
??SVNParentPath e:/svn
? ?? ?? ?? ?
??# our access control policy
??AuthzSVNAccessFile E:/usr/Apache2.2/bin/accesspolicy.conf
? ?? ?? ?? ?
??# try anonymous access first, resort to real?
??# authentication if necessary.
??Satisfy Any
??Require valid-user
? ?? ?? ?? ?
??# how to authenticate a user
??AuthType Basic
??AuthName "Subversion repository"
??AuthUserFile E:/usr/Apache2.2/bin/passwd? ?? ?? ?? ?? ?? ?
</Location>

AuthzSVNAccessFile 指向的是 authz 的策略文件,詳細的權限控制可以在這個策略文件中指定。訪問文件 accesspolicy.conf 的語法與svnserve.conf和 Apache 的配置文件非常相似,以(#)開頭的行會被忽略;在它的簡單形式里,每一小節命名一個版本庫和一個里面的路徑;認證用戶名是在每個小節中的選項名;每個選項的值描述了用戶訪問版本庫的級別:r(只讀)或者rw(讀寫),如果用戶沒有提到或者值留空,訪問是不允許的; * 表示所有用戶,用它控制匿名用戶的訪問權限;@符號區分組和用戶。如:

[groups]?
committers = paulex, richard
developers = jimmy, michel, spark, sean

[/]?
* = r?
@committers = rw?

[/branches/dev]?
@developers = rw?

[/tags]?
tony = rw?
[/private]?
* =?
@committers= r

使用 SVNParentPath 代替 SVNPath 來指定多個版本庫的父目錄時,其中所有的版本庫都將按照這個策略文件配置。例如上例中 tony 將對所有版本庫里的 /tags 目錄具有讀寫權限。如果要對具體每個版本庫配置,用如下的語法:

[groups]?
project1_committers = paulex, richard
project2_committers = jimmy, michel, spark, tony, Robert

[repos1:/]?
* = r?
@ project1_committer = rw?

[repos2:/]?
* = r?
@ project2_committer = rw

這樣 repos1的 project1_committer 組只能對 repos1 版本庫下的文件具有寫權限而不能修改版本庫 repos2 ,同樣 repos2 的 project2_commiter 組也不能修改 repos1 版本庫的文件。

?


FAQ:

1、路徑或權限不足時將出現錯誤信息提示:

http://localhost (路徑不對)
Error * PROPFIND request failed on '/' PROPFIND of '/': 200 OK (http://localhost)

http://localhost/svn (權限不足)?
Error * PROPFIND request failed on '/svn' PROPFIND of '/svn': 403 Forbidden (http://localhost)

http://localhost/svn/repos (正常顯示)

http://localhost/repos (權限不允許)?
Error * PROPFIND request failed on '/repos' PROPFIND of '/repos': 405 Method Not Allowed (http://localhost)


2、不啟動E:\subversion\bin\svnserve.exe ,但啟動了ApacheSVN ,訪問(tortoiseSVN –> Repo – browser)或提交(SVN Commit)情形如下:

現象:svn://localhost/svn/repos 不能訪問或提交,提示:Error * Can't connect to host 'localhost': 由于目標機器積極拒絕,無法連接。 但 file:///e:/svn/repos 和 http://localhost/svn/repos 可以訪問或提交。

原因:svn:// 是獨立服務器 svnserver 自己的協議。file:/// 是本地訪問,即服務器端和客戶端在一個機器上。

轉載于:https://www.cnblogs.com/wenhainan/p/5337646.html

總結

以上是生活随笔為你收集整理的SVN的配置和使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人手机在线视频 | 久久综合成人网 | av线上免费观看 | 国产精品短视频 | 欧美精品免费一区二区三区 | 黑人激情视频 | 国产欧美精品一区二区 | 国产操操操| 国产日韩av在线播放 | 香港三级韩国三级日本三级 | 91精品国产电影 | 亚洲精品久久视频 | 欧美毛片免费看 | 免费成人av在线播放 | 日韩成人福利视频 | av男人天堂av | 一级免费在线观看 | 天堂在线视频免费观看 | 国产精品无码一区二区三区 | 亚洲熟妇无码另类久久久 | 国产日韩欧美精品在线 | 天天夜碰日日摸日日澡性色av | 久久国产精品久久久 | 久久爱一区 | 4438x在线观看 | 精品视频站长推荐 | 疯狂做受xxxx高潮人妖 | 国产日韩第一页 | 日韩毛片中文字幕 | 欧洲自拍偷拍 | 国外亚洲成av人片在线观看 | 白白色免费视频 | 影音先锋国产在线 | 黄色网页在线 | av成人资源 | 免费在线观看小视频 | 日本久久影视 | 国产区免费观看 | 91在线播 | 免费一区二区三区视频在线 | 欧美日韩免费网站 | 毛片无限看 | 日韩深夜福利 | 奇米狠狠操 | 黑人玩弄人妻一区二区三区影院 | 蜜臀av性久久久久蜜臀aⅴ | 张津瑜国内精品www在线 | 亚洲在线色 | 久久久黄色大片 | 亚洲综合a| 欧美啪视频 | 亚洲国产日韩a在线播放性色 | 久久久精品人妻一区二区三区色秀 | 天天操夜夜操夜夜操 | 一级视频在线观看 | 久久亚洲影院 | 在线免费观看小视频 | 久草视频免费在线观看 | 中文字幕免费观看视频 | 五月天六月色 | 色一区二区三区四区 | 桃色91| 国产一区二区免费视频 | 免费福利视频网站 | 暖暖日本在线 | 国产激情综合 | www.天天综合| 无码精品a∨在线观看中文 福利片av | 十八禁视频网站在线观看 | 一本色道综合久久欧美日韩精品 | 欧美 亚洲 另类 激情 另类 | 久久丫精品久久丫 | 国产社区在线 | 能看av的网站| 国内激情 | 手机在线免费观看av | 成人免费黄色大片v266 | 影音先锋国产精品 | chinese hd av| 欧美日韩性生活视频 | 性高潮久久久久久久久 | 中文字幕乱码在线人视频 | 欧日韩不卡在线视频 | 中文字幕日韩一级 | 日韩av三区 | 97久久久 | 刘亦菲毛片 | 91成品视频 | 国产精品黄色片 | 日本高清有码视频 | 亚洲一区二区三区乱码 | 国产小视频在线观看 | 欧美性啪啪 | 欧美 日韩 国产 在线观看 | 日日爽爽 | 啪啪自拍 | 4438亚洲最大 | 欧美日韩国产一区二区三区在线观看 | 国产情侣呻吟对白高潮 |