1. 程式人生 > >Windows基於Apache的svn伺服器配置

Windows基於Apache的svn伺服器配置

  參照 http://bbs.iusesvn.com/thread-158-1-1.html文章,經過svn的洗刷,終於把它配置成功,現在把我所配置的方法,記錄下來,以供其他有需要的朋友參考,需要改進的地方,請指教!

一 環境

  作業系統:windows2003 server

  Apache版本:2.0.55 

   subversion版本: Setup-Subversion-1.5.3.msi

   TortoiseSVN版本: TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi

二 安裝步驟

    1.安裝Apache

如果您已經擁有Apache的安裝程式,那麼你就可以雙擊安裝程式開始安裝。請確保你輸入正確的伺服器URL(如果你的伺服器沒有DNS名稱,你可以直接輸入IP地址)。我建議你將Apache安裝成 for all Users,on Port 80,as a service。注意:如果你已經有一個IIS或者其它的程式使用80埠,安裝可能會失敗。如果是這樣,你可以到程式目錄下的Apache Group"Apache2"conf目錄中找到檔案httpd.conf,將其中的Listen 80改成一個不用的埠,比如Listen 81。然後重新執行這個安裝程式,這次應該不會再有問題了。
     測試Apache是否安裝成功?
你可以在你的瀏覽器中鍵入 

http://loccalhost,如果呈現了一個已經配置好的網站,那麼你的Apache就安裝成功了。 

    2.安裝Subversion並配置

   a,雙擊Subversion的安裝程式來完成安裝,安裝完畢之後。我們進入subversion檔案目錄中(預設安裝位置是:c:\Program Files\Subversion),  在該目錄中的bin資料夾中找到httpd/mod_dav_svn.so、mod_authz_svn.so和libdb44.dll,將它們拷貝到Apache的modules目錄(通常為c:\Program Files\Apache Group\Apache2\modules)下。

   b,開啟Apache的配置檔案httd.conf(通常為c:\Program Files\Apache Group\Apache2\conf\httd.conf),修改以下內容:

複製程式碼

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

修改為: 

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_module modules/mod_dav.so

複製程式碼

 其實就是去掉這兩行的註釋。   

 然後在LoadModule節的最後新增以下兩行:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

*注意: 這兩行的程式碼順序不能錯,以免帶來不必要的麻煩。 

C, 然後在該檔案最末進行相應的配置,以便客戶端 TortoiseSVN和瀏覽器知道如何訪問:

複製程式碼

<Location /svn>   #意味著可以通過像這樣的URL(http://MyServer/svn)來訪問Subversion版本庫
DAV svn     # 告訴Apache哪個模組負責服務像那樣的URL--在這裡就是Subversion模組
SVNParentPath C:\svn   #告訴Subversion在目錄C:\svn下尋找版本庫
AuthType Basic  #啟用基本的驗證,使用使用者名稱/密碼驗證
AuthName "test"   # test為版本庫
AuthUserFile c:\svn\passwd   #passwd問密碼和使用者檔案,用來驗證使用者的使用者名稱及密碼
AuthzSVNAccessFile C:\svn\svnaccessfile    #許可權控制檔案,限定各個使用者或組在版本庫中目錄的訪問許可權
Require valid-user  #限定使用者只有輸入正確的使用者名稱及密碼後才能訪問這個路徑
</Location>

複製程式碼

 d,下面,我們就來建立passwd檔案,你開啟命令列(DOS視窗),將當前目錄切換到apache2目錄(通常為c:\Program Files\Apache Group\Apache2),然後打入以下命令以建立檔案:

bin\htpasswd -c passwd <username>

比如: bin\htpasswd -c c:\svn\passwd admin
命令分析:
 c:\svn\passwd 表示會在:c:\svn目錄下建立一個passwd檔案
 admin 表示使用者名稱

 此命令執行Apahce的bin目錄下的htpasswd.exe來建立一個密碼檔案,建立完成之後,重啟Apache服務。

 e,許可權控制檔案建立

 在c:\svn目錄下創件svnaccessfile檔案,然後開啟進行配置,可以參照下面的示例:

複製程式碼

#組配置  組 = 使用者名稱
[groups]        
@admin = admin
@user = test  #test使用者還需要按照上面d步驟來建立它和它的密碼

# 為所有庫指定預設訪問規則
# 所有人可以讀
[/]
* = r

# 為test版本庫制定許可權
#admin組擁有讀寫許可權
#user組只有讀取許可權
[test:/svn/test]
@admin = rw
@user = r

複製程式碼

程式碼:

3.TortoiseSVN

雙擊安裝程式,預設安裝即可!完成之後,你就可以用URL(http://IP/svn/test)來訪問版本庫了!

好了,現在你就應該可以去體會一下你的勞動成果咯!

* 為什麼要先裝Apahce後安裝SVN呢?

先安裝Apahce後安裝的原因是,如果Apache安裝成功,那麼在安裝 SVN的時候,會自動配置相關的屬性!不過也沒什麼關係,我們還是可以自己來配置的!