Subversion 的配置以及安裝

來源:互聯網
上載者:User

這段時間因為對版本控制的需要,所以自己根據網上的資料以及自己的在配置中遇到的問題,來寫個自己的Subversion的配置心得。

 

一、安裝Subversion

 

1) 準備工作

1. Apache伺服器程式。到http://www.apache.org/上下載apache http server,我的是(apache_2.2.21-win32-x86-no_ssl.msi)。

2. SVN伺服器端程式。到http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91上下載Subversion當前1.1.3版本的二進位安裝檔案,一般tigris.org並不提供二進位包,這些二進位包是有一些志願者維護的,所以可能不是當前最新的版本。如果你想嘗鮮使用Subversion的最新版,請下載源碼自己編譯。

3.TortoiseSVN,用戶端程式。TortoiseSVN是擴充Windows Shell的一套工具,可以看作Windows資源管理員的外掛程式,安裝之後Windows就可以識別Subversion的工作目錄。
官方網站是TortoiseSVN,下載方式和前面的svn伺服器類似,在Download頁面的我們選擇Official version for Win2k/XP or higher的版本,然後在sourceforge的下載頁面選擇目前的最高穩定版本的安裝檔案TortoiseSVN-1.6.7-svn-1.2.3.msi。(注意:TortoiseSVN有一個特殊對VS.Net運行時一個BUG修正的版本,在下載頁面有選擇:Special
version for Win2k/XP or higher: (We provide NO support for this!) uses _svn folders instead of .svn to work around the VS.NET bug with web projects. If you don't use web projects then please use the official version. )

4. TortoiseSVN的中文語言套件,注意這個需要下和用戶端程式版本相同的。可以在Download頁面內的Language
Packs選擇下載

2) 開始安裝 1. 先安裝Apache伺服器。

運行下載好的“apache_2.2.13-win32-x86-no_ssl.msi”,出現如下介面:

出現Apache HTTP Server 2.2.13的安裝嚮導介面,點“Next”繼續,

 

確認同意軟體安裝使用許可條例,選擇“I accept the terms in the license agreement”,點“Next”繼續,

 

將Apache安裝到Windows上的使用須知,請閱讀完畢後,按“Next”繼續

 

設定系統資訊,在Network Domain下填入您的網域名稱(比如:lk.com),在Server Name下填入您的伺服器名稱(比如:http://www.lk.com/,也就是主機名稱加上網域名稱),在Administrator's Email Address下填入系統管理員的聯絡電子郵件地址(比如:lk@sina.com),

 

選擇安裝類型,Typical為預設安裝,Custom為使用者自訂安裝,我們這裡選擇Custom,有更多可選項。按“Next”繼續

 

現選擇安裝選項介面,,左鍵點選“Apache HTTP Server 2.0.55”,選擇“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下屬子部分內容,全部安裝在本地硬碟上”。點選“Change...”,手動指定安裝目錄。

 

我這裡選擇安裝在“D:\”,各位自行選取了,一般建議不要安裝在作業系統所在盤,免得作業系統壞了之後,還原作業把Apache設定檔也清除了。選“OK”繼續。

選“Next”繼續,直到出現下面的畫面。

安裝嚮導成功完成,這時右下角狀態列應該出現了下面的這個綠色表徵圖,表示Apache服務已經開始運行,按“Finish”結束Apache的軟體安裝

安裝完成之後到安裝目錄下找到conf目錄下的httpd.config檔案,搜尋Listen,並將Listen後面的80改為9000(或者你希望的連接埠),

測試 然後重新啟動Apache伺服器,這時可以用http://localhost:9000/ 來測試是否安裝正確。

 

2.運行下載好的“Setup-Subversion-1.5.6.msi”,一路下一步就行

使用Windwos資源管理員,來到Subversion的安裝目錄(通常是e:\program files\Subversion),找到檔案/httpd/mod_dav_svn.so和mod_authz_svn.so,複製這些檔案到Apache的模組目錄(通常是E:\Program Files\Apache Software Foundation\Apache2.2\modules )。

 

從 Subversion 安裝目錄將 /bin/libdb*.dll 和 /bin/intl3_svn.dll 複製到 Apache 的bin 目錄(通常是E:\Program Files\Apache Software Foundation\Apache2.2\bin)。3.運行下載好的“TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi”和“LanguagePack_1.6.5.16974-win32-zh_CN.msi”,一路下一步就行

 

安裝TortoiseSVN時按照提示安裝就好了,安裝完成後會提示重啟

 

再修改httpd.conf,並做如下修改:
找到Apache安裝目錄下的conf目錄,用文字編輯器開啟httpd.conf,找到一下兩行:

 

#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so

將每行前面的注釋符“#”去掉。

 

下面注意,到Subversion/bin 目錄下把
mod_authz_svn

mod_dav_svn

拷貝到D:\Program Files\Apache Software Foundation\Apache2.2\modules(個人路徑不一樣,但是都是modules)目錄中,

因為這個錯誤我糾結了很長時間,所以希望大家能夠重視下。

然後在所有LoadModule語句的最後添加一下幾行:(請將下面的路徑改為絕對路徑,這個最近困擾了我很長時間)

#SVNLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so

其實在成功安裝SVN之後,Apache伺服器已經和SVN初步整合。

注意下面的狀態列已經是Apache/2.2.13 SVN1.5.6 DAV/2 測試:1.建版本庫,我在F盤下建立一個檔案夾:E:\SubversionFiles 作為所有版本庫的根目錄2.在E:\SubversionFiles建立一個版本庫test1,
運行命令: svnadmin create E:\SubversionFiles\test1
建立成功後目錄結構為

3.接下來我們必須告訴Apache我們的資產庫所在的路徑,可以通過Location指令來完成這個設定。因為不希望為每個單獨的項目都進行單獨的設定,所以我們把所有項目都存放在統一的資產庫目錄,那麼可以使用SVNParentPath指令來指定存放所有項目的路徑。在httpd.conf檔案最後添加下面配置:

#SVN
<Location /svn>
    DAV svn
    SVNParentPath E:\SubversionFiles
</Location>

這樣我們就可以通過http://localhost:9000/svn/test1 來訪問

4.加入使用者身分識別驗證:在命令列視窗中轉到Apache所在的目錄,執行下列命令說明:建立使用者liuke輸入:htpasswd –c e:\SubversionFiles\svn_auth_passwd liuke

說明:使用-c參數來建立一個passwd檔案輸出:

E:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -c e:\SubverionFiles\svn_auth_passwd liuke
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user liuke

再建立使用者的時候就不用-c參數,而是用-m參數,因為檔案 svn_auth_passwd 已經建立。 (第一次用-c建立passwd檔案;以後就用-m命令來添加使用者了;更改使用者的密碼也用此命令);(命令 htpasswd –D passwd svntest為刪除使用者(此處命令用大寫的D);接下來我們必須告訴Apache伺服器如何使用這個passwd檔案,開啟httpd.conf找到剛才我們添加的Location配置的位置,修改如下:

#SVN
<Location /svn/>
    DAV svn
    SVNParentPath "E:/SubversionFiles"

    # how to authenticate a user
     AuthType Basic
     AuthName "Subversion repository"
     AuthUserFile "e:/SubversionFiles/svn_auth_passwd"

    AuthzSVNAccessFile "e:/SubversionFiles/svn_auth_accessfile"


    # only authenticated users may access the repository
         Require valid-user

</Location>

 

svn_auth_accessfile

*********************

[groups]
admin = liuke
developers = user

#to allow everyone read access
#allow all admin complete access
[/] 
@admin=rw
@developers=r

[/Tools]
*= rw

*********************

認證

如果要串連的版本庫需要口令,一個認證對話方塊就會顯示出來。

圖 5.5. 認證對話方塊

輸入你的使用者名稱和口令。那個選擇框能讓TortoiseSVN在Subversion的預設路徑下$APPDATA\Subversion\auth的三個子目錄裡儲存認證資訊:

  • svn.simple檔案裡包含了基本認證方式所需要的認證資訊(使用者名稱/口令)。

  • svn.ssl.server檔案裡包含了SSL伺服器憑證。

  • svn.username檔案裡包含了使用者名稱認證的認證資訊(不需要提供密碼)。

每個檔案對應一個要已連線的服務器。檔案是純文字格式,因此可以用文字編輯器查看每個檔案是應用於哪個伺服器的。如果希望Subversion和TortoiseSVN忘記某個伺服器的憑證資訊,只需刪除這個伺服器的對應檔案即可。預設路徑為"C:\Documents and Settings\Administrator\Application Data\Subversion\auth"

重新啟動Apache HTTP伺服器,使用瀏覽器開啟
http://localhost:9000/svn/test1 你將會看到要求登入的對話方塊,輸入你剛設定的使用者名稱和口令即可。
這樣Apache和SVN的整合就基本告成了

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.