Apache + Subverion 安裝和配置

1.準備

操作系統 :WINDOWS 2003

Apache 2.0.59

svn-win32-1.4.6.zip

TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi

2安裝

2.1安裝Apache

1)下載Apache

地址http://httpd.apache.org/download.cgi

 注意:Apache低於2.0.54Windows版本的存在編譯問題,低於2.0.54的版本不能與Subversion 1.2一起工作。

   (2) 安裝

   注意:如果你已經有了IIS或其他監聽80段口的程序,安裝會失敗,如果發生這種情況,直接到程序的安裝目錄/Apache Group/Apache2/conf,打開httpd.conf。編輯文件的Listen 80爲其他可用的端口,例如Listen 8008,然後重新啓動-這樣就不會那個問題了,或者將其它應用的端口進行改之。

  3)檢查

安裝完成後瀏覽 http://localhost:8008/ 若成功,可看到apache歡迎頁面。

 

2.2安裝Subversion

  1)下載 Subversion

地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

在本實例中,選擇下載svn-win32-1.4.6.zip此版本.

2)安裝

svn-win32-1.4.6.zip解壓到安裝程序的目錄下。

 3  配置Apache

步驟1 svn-win32-1.4.6/bin 中將mod_authz_svn.so mod_dav_svn.so複製到Apache Group/Apache2/modules下,再將svn-win32-1.4.6/bin目錄下的所有dll文件全部複製到Apache Group/Apache2/bin文件夾下。

     步驟2 找到Apache Group/Apache2/conf/httpd.conf文件,然後去掉如下幾行的註釋(刪除 ''#''標記):

#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

進行如上後續修改後完成了SVN+Apache之間的WebDav的工作了。重啓Apache以後可看到如下圖:

這是安裝最終的圖,圖中狀態欄顯示Apache/2.0.59Win32 SVN1.4.6 DAV/2是由於還安裝了mod_python,此步驟稍後將講解,如上安裝好後應顯示爲Apache/2.0.59Win32 SVN1.4.6 DAV.

 

4 配置SubVersion

1.2.1建立版本庫

首先建立一個用於存在SVN項目的版本庫,本例中在D盤驅動器中建立目錄var/svnhome,可通過如下命令建立版本庫,當然如果你需要建立多個版本庫只需將名稱進行換名即可。

首先以cmd命令窗口進入svn-win32-1.4.6/bin目錄結構下,輸入:

>svnadmin create --fs-type fsfs D:/var/svnhome/projects回車,等待提示創建完成;完成後則進行相關密碼以及權限設置。

1.2.2 設置密碼文件

cmd命令窗口進入路徑Apache Group/Apache2/ bin目錄然後輸入:

> htpasswd -c D:/var/svnhome/projects/conf/<filename> <username>

本例中filename名稱使用passwordfile,username名稱使用admin(注意filename無需後綴名),這樣便可在var/svnhome/projects/conf目錄下創建一個用戶名爲adminpasswordfile文件,此文件將在後面配置權限所用

此後添加用戶,可使用如下命令:

>htpasswd filename <username>

刪除用戶,使用如下命令:

>htpasswd -D filename <username>

若對密碼不想加密可使用-cp參數,windows平臺下默認是MD5加密。

1.2.3 設置權限文件

用文本編輯器在var/svnhome/projects/conf路徑下生成名爲svnaccessfile的文件,此名稱將在Apache Group/Apache2/conf/httpd.conf配置文件中所用,此處不使用擴展名。編輯一下內容:

[groups]

committers = admin

developers = Allen

[/]

* = r

@developers = r

@committers = rw

[projects:/]

@ developers = rw

基本含義是根目錄下任何人有讀權限,committers組有讀寫權限;adminprojects讀寫權限,developers組只有讀的權限

備註: 如果有中文路徑,那要把文件存成UTF8格式,不建議使用中文路徑,這在編程當中是嚴格禁止的.

1.2.4 配置服務

編輯Apache Group/Apache2/conf/httpd.conf文件,添加下面代碼。

 

<Location /svn>

DAV svn

SVNPath "D:/var/svnhome/projects"

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile "D:/var/svnhome/projects/conf/passwordfile"

AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"

Require valid-user

SVNAutoversioning on

ModMimeUsePathInfo on

</Location>

備註: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本庫,若爲<Location /svn>則不能訪問http://127.0.0.1/svn下的項目,而只能這樣訪問,http://127.0.0.1/svn/<projectname>

配置內容說明

設置

解釋

<Location>

意思是Subversion版本庫的URLhttp://ipaddress/svn/

DAV svn

告訴Apache是哪個模塊響應那個URL的請求-此刻是Subversion模塊。

SVNPath

告訴Subversion需要查看的版本庫位於D:/var/svnhome/projects之下

AuthType Basic

激活基本認證,就是用戶名/密碼

AuthName

用來說明彈出要求輸入認證信息的對話框信息,可以使用中文.

AuthUserFile

指定使用認證密碼的文件

AuthzSVNAccessFile

位置Subversion版本庫的訪問控制權限的路徑文件

Require valid-user

指定只有輸入了正確的用戶/密碼的用戶可以訪問URL

(另外如果當此時通過訪問http://127.0.0.1:8008/svn提示403 Forbidden錯誤的信息的話,主要是由於svnserve.conf此文件中的[general]內容password-db = passwordfile內容加入(或者將原來的#去掉,同時將passwd修改你所創建的密碼文件,本例中爲passwordfile),也可以實現根目錄的訪問了!)

備註:

這樣做,還是會報403錯誤,將AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"註釋就好了,可能是訪問控制權限的路徑文件有問題。

1.25 安裝TortoiseSVN(可選)

    此工具是客戶端軟件,主要可以用於從服務器上check版本庫項目以及updatacommit等相關SVN的管理操作,其下載地址爲:http://tortoisesvn.net/downloads,另外還可以下一個語言包,都在給其的subversion官方網站上能下到.

備註:

裝了TortoiseSVN後,導致我的XMLSPY 2005出錯了,後來下了個XMLSPY 2006

 

5 簡單應用

 

1)    Import

選擇一個文件夾,點擊右鍵,選擇“TortoiseSVN->Import

彈出一框,URL of repository輸入 http://localhost:8008/svn,OK

就會將該目錄下的文件信息發送到版本庫。

2)    SVN CheckOut

點擊右鍵,選擇“SVN CheckOut

3)    Commit

如果文件有修改,選擇“TortoiseSVN->Commit

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章