<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學日益,為道日損。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    [譯]安裝基于Apache的Subversion服務(wù)器

    翻譯整理: PCplayer

    時間:2006-08-06
    版本:v0.1
    關(guān)鍵詞:subversion 安裝 服務(wù)器 配置 apache
    轉(zhuǎn)載請注意原文出處、版本、作者(譯者)
    http://www.iusesvn.com/bbs/thread-158-1-1.html
    --------------------------------------------------------------------------------

    1. 引言
    2. 安裝過程
    2.1. 安裝Apache
    2.2. 安裝Subversion
    2.3. 配置


    摘要

    本文是TortoiseSVN1.3.5幫助中關(guān)于配置服務(wù)器一節(jié)的翻譯,根據(jù)行文需要做了一些調(diào)整與增減。英文原文參見TortoiseSVN1.3.5幫助的3.1. Apache Based Server。

    要使用TortoiseSVN(或者其它的Subversion客戶端),你要有一個存放版本庫的地方。你可以將版本庫存放在本機,使用file://協(xié)議來訪問,也可以將它們放在一個服務(wù)器上,使用http://或svn://協(xié)議來訪問。兩種服務(wù)器協(xié)議(http://和svn://)也可以被加密成https://及svn+ssh://。下面將一步一步地為你展示如何在windows上配置這樣一個服務(wù)器。

    如果你沒有服務(wù)器或者你只想單獨地工作,那么將版本庫存放在本機并使用file://協(xié)議來訪問是你最好的選擇,這樣的話,你可以略過本文。

    1. 引言
    在所有的Subversion服務(wù)器配置方式中,基于Apache的是最靈活的。雖然配置起來有一點點復雜,但是它提供了其它方式所沒有的好處:

    WebDAV
    基于Apache配置的Subversion服務(wù)器使用了被許多其它程序支持的WebDAV協(xié)議。舉個例子,你可以在Windows的資源管理器中將這樣的一個版本庫掛載成一個“Webfolder”,然后像文件系統(tǒng)中的其它文件夾一樣訪問它。

    瀏覽版本庫
    你可以在不安裝Subversion客戶端的情況下,使用瀏覽器來瀏覽版本庫中的內(nèi)容。這將使得更大范圍的用戶可以訪問你的數(shù)據(jù)。

    用戶驗證
    你可以使用任何Apache支持的驗證機制,包括SSPI和LDAP。

    安全
    Apache是非常的穩(wěn)定和安全,因此你的版本庫自然而然地擁有同樣的安全性。包括SSL加密。

    2. 安裝過程
    2.1. 安裝Apache
    安裝Apache前,你要有一臺運行Windows2000、Windows XP + sp1或Windows2003的電腦。

    警告:請注意,沒安裝Service Pack 1的Windows XP將導致錯誤的網(wǎng)絡(luò)數(shù)據(jù)從而破壞你的版本庫!

    http://httpd.apache.org/download.cgi 下載最新版本的Apache Web服務(wù)器。確保你下載的版本大于2.0.54。2.0.54版本的Apache將不能與Subversion 1.3.xx配合工作。而且,小于2.0.54的Apache也因為在windows上的編譯存在一個bug而導致不能與subversion1.2配合使用。

    一旦你已經(jīng)有了Apache2的安裝程序,你可以雙擊它,它將引導你完成整個安裝過程。請確保你輸入正確的服務(wù)器URL(如果你的服務(wù)器沒有DNS名稱,你可以直接輸入IP地址)。我建議你將Apache安裝成 for all Users,on Port 80,as a service。注意:如果你已經(jīng)有一個IIS或者其它的程序使用80端口,安裝可能會失敗。如果是這樣,你可以到程序目錄下的Apache Group\Apache2\conf目錄中找到文件httpd.conf,將其中的Listen 80改成一個不用的端口,比如Listen 81。然后重新運行這個安裝程序,這次應(yīng)該不會再有問題了。

    現(xiàn)在你可以在你的瀏覽器中鍵入 http://loccalhost,如果呈現(xiàn)了一個已經(jīng)配置好的網(wǎng)站,那么你的Apache就安裝成功了。

    警告

    如果你將Apache安裝成一個服務(wù),它將以本地system帳戶來運行。為Apache創(chuàng)建一個單獨的用戶來運行它將會更安全一些。

    請確保運行Apache的用戶有版本庫的完全訪問權(quán)限(右鍵版本庫目錄->屬性->安全)。要不然,用戶將無法提交他們的更改。

    就算Apache以本機system來運行,你也要設(shè)置它能完全讀寫版本庫目錄。

    如果沒有為Apache配置這個許可,用戶將會得到"禁止訪問"的錯誤信息,在Apache的錯誤日志中表現(xiàn)為錯誤500。

    2.2. 安裝Subversion
    http://subversion.tigris.org/ser ... entList?folderID=91 (英文)

    http://www.iusesvn.com/bbs/forumdisplay.php?fid=7(中文)下載最新版本的Subversion。

    運行Subversion安裝程序,如果安裝程序能夠識別你已經(jīng)安裝了Apache,那么你的安裝基本上就OK了。如果它不能,那么你要做一些額外的步驟。

    使用資源管理器,進入Sibversion的安裝目錄(通常為c:\program files\Subversion),找到文件httpd/mod_dav_svn.so和mod_authz_svn.so,將它們拷貝到Apache的modules目錄(通常為c:\program files\apache group\apache2\modules)。

    從Subversion的安裝目錄拷貝文件libdb43.dll到Apache的modules目錄。

    使用如記事本之類的文本編輯器編輯Apache的配置文件(通常為c:\program files\apache group\apache2\conf\httd.conf),修改以下內(nèi)容:

    去掉以下行的注釋(將開頭的#刪除):

    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_module modules/mod_dav.so
    在LoadModule節(jié)的最后添加以下兩行:

    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    2.3. 配置
    現(xiàn)在,你已經(jīng)安裝了Apache和Subversion,但是Apache還不知道如果處理像TortoiseSVN一樣的Subversion客戶端。要讓Apache知道哪個URL將被Subversion使用,你要像下面這樣編輯Apache的配置文件(通常在c:\program files\apache group\apache2\conf\httpd.conf):

    在配置文件的最后添加下面這些行:

    <Location /svn>
    SVNParentPath D:\SVN
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile D:\passwd
    #AuthzSVNAccessFile D:\svnaccessfile
    Require valid-user
    </Location>
    這樣配置表示:你所有的版本庫將位于D:\SVN目錄下,要訪問你的版本庫可以使用這樣的URL:http://MyServer/svn/,訪問權(quán)限將由passwd文件中的用戶名/密碼來限制。

    要創(chuàng)建passwd文件,可以打開命令行(DOS窗口),將當前目錄切換到apache2目錄(通常為c:\program files\apache group\apache2),然后打入以下命令以創(chuàng)建文件:

    bin\htpasswd -c passwd <username>
    重啟Apache服務(wù)。

    將你的瀏覽器指向http://MyServer/svn/MyNewRepository(MyNewRepository是你之前創(chuàng)建的Subversion版本庫)。如果一切正常,你將被提示輸入用戶名密碼,輸入正確的用戶名密碼后你就可以看到版本庫中的內(nèi)容了。

    對你剛剛輸入的apache配置作一些簡短的說明:

    <Location /svn>

    意味著可以通過像這樣的URL(http://MyServer/svn)來訪問Subversion版本庫

    DAV svn

    告訴Apache哪個模塊負責服務(wù)像那樣的URL--在這里就是Subversion模塊

    SVNListParentPath on

    在Subversion 1.3及更高版本中,這個指示器使得Subversion列出由SVNParentPath指定的目錄下所有的版本庫

    SVNParentPath D:\SVN

    告訴Subversion在目錄D:\SVN下尋找版本庫

    AuthType Basic

    啟用基本的驗證,比如用戶名/密碼對

    AuthName "Subversion repositories"

    當一個驗證對話框彈出時,告訴用戶這個驗證是用來做什么的

    AuthUserFile D:\passwd

    指定D:\passwd用為密碼文件用來驗證用戶的用戶名及密碼

    AuthzSVNAccessFile D:\svnaccessfile

    指定D:\svnaccessfile來限定各個用戶或組在版本庫中目錄的訪問權(quán)限

    Require valid-user

    限定用戶只有輸入正確的用戶名及密碼后才能訪問這個路徑

    ----------------------------------------

    上面的配置僅僅是一個簡單的示例。你還可以對Apache進行許許多多的配置。

    1如果你想讓所有用戶對版本庫都有讀的權(quán)限而只有特定的用戶才有寫的權(quán)限,你可以將這行

    Require valid-user
    改為

    <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    </LimitExcept>
    2上面的配置使用了passwd文件將你所有的版本庫作為一個單元來限定訪問權(quán)限。如果你想獲得更多的控制,如限定某個用戶可以訪問版本庫中的哪個目錄,可以把下面這行的#去掉:

    #AuthzSVNAccessFile D:\svnaccessfile
    然后創(chuàng)建一個Subversion授權(quán)文件。Apache將確保只有有效的用戶可以訪問你的/svn位置,然后將用戶名傳到AuthzSVNAccessFile模塊,這樣可以依據(jù)Subversion授權(quán)文件得到更精細的權(quán)限控制。注意,路徑將被指定為[庫:路徑]或者簡單的[路徑]。如果你不明確指定一個庫,訪問規(guī)則將應(yīng)用到由SVNParentPath指定的目錄下所有的版本庫中。一個例子可能像這樣:

    [groups]
    admin = john, kate
    devteam1 = john, rachel, sally
    devteam2 = kate, peter, mark
    docs = bob, jane, mike
    training = zak

    # 為所有庫指定默認訪問規(guī)則
    # 所有人可以讀,管理員可以寫,危險分子沒有任何權(quán)限
    [/]
    * = r
    @admin = rw
    dangerman =

    # 允許開發(fā)人員可以完全訪問他們的項目版本庫
    [proj1:/]
    @devteam1 = rw
    [proj2:/]
    @devteam2 = rw
    [bigproj:/]
    @devteam1 = rw
    @devteam2 = rw
    trevor = rw

    # 文檔編寫人員對所有的docs目錄有寫權(quán)限
    [/trunk/doc]
    @docs = rw

    # 培訓人員可以完全訪問培訓版本庫
    [TrainingRepos:/]
    @training = rw
    以上介紹的配置為Apache多庫方式,即一個location可以同時為多個版本庫服務(wù),
    假設(shè)你的ip為192.168.0.1,在D:\SVN目錄下建了兩個版本庫,proj1和proj2
    可以分別用下面兩個url來訪問你的版本庫

    http://192.168.0.1/svn/proj1


    http://192.168.0.1/svn/proj1
    還有一種配置方式為Apache單庫方式,即一個location只能為一個版本庫服務(wù),
    配置時只要將上面的SVNParentPath改為SVNPath,同時將后面的路徑由版本庫的父目錄改為版本庫的目錄
    如:

    <Location /svn>
    SVNPath D:\SVN\proj1
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile D:\passwd
    #AuthzSVNAccessFile D:\svnaccessfile
    Require valid-user
    </Location>
    這時,可以用下面的URL來訪問版本庫proj1

    http://192.168.0.1/svn
    posted on 2006-08-26 09:36 放水老倌 閱讀(866) 評論(0)  編輯  收藏 所屬分類: 配置管理
    主站蜘蛛池模板: 91在线免费视频| 四虎永久在线精品免费网址 | 99视频在线免费观看| 国产精品久久免费视频| 亚洲乳大丰满中文字幕| 免费电影在线观看网站| 亚洲精品乱码久久久久久下载| 亚洲av无一区二区三区| 毛片A级毛片免费播放| 亚洲变态另类一区二区三区| 日本免费人成视频播放| 羞羞网站在线免费观看| 69国产精品视频免费| 亚洲成年人免费网站| 成人无码精品1区2区3区免费看| 国产成人A在线观看视频免费 | 久久不见久久见中文字幕免费| 国产成人亚洲精品影院| 最近中文字幕国语免费完整| 97无码免费人妻超级碰碰碰碰| 日本免费一本天堂在线| 亚洲四虎永久在线播放| 午夜视频在线免费观看| 久久精品国产亚洲αv忘忧草| 久草免费福利在线| 国产精品视_精品国产免费| 无码av免费网站| 日韩精品亚洲aⅴ在线影院| 国偷自产一区二区免费视频| 亚洲最大黄色网站| 日韩免费视频播播| 久久久受www免费人成| 精品久久久久久久免费加勒比| 亚洲一区中文字幕| 亚洲Av无码国产情品久久| 野花香高清在线观看视频播放免费| 免费一看一级毛片全播放| 成人电影在线免费观看| 国产真人无遮挡作爱免费视频| 亚洲专区一路线二| 亚洲第一网站男人都懂|