1、安裝
* Subversion1.5版本的安裝包自帶了Apache2.2.8,是以無需額外安裝Apache伺服器
* 一路預設安裝,如果需要修改倉庫根目錄或者Apache2.2.8端口可以自行修改為自己的資訊,Apache預設端口為80,Subversion預設倉庫存儲路徑為C:/svn_repository。
安裝的過程中會自動将Subversion和Apache注冊成服務,安裝完成後重新開機一下電腦,運作services.msc檢視服務,可以看到“Apache2.2”和“Subversion Server”兩個服務已經自動啟動,如果不想讓他們自動啟動,可以修改為手動啟動。
注:安裝結束時沒有提示重新開機系統,但重新開機之前Apache服務無法啟動。
* 安裝好後進入安裝目錄C:/Program Files/CollabNet Subversion Server,裡面有一個httpd目錄,這裡面就是Apache伺服器。
進入httpd下的bin目錄,可以看到Apache伺服器的各個程式
輕按兩下“ApacheMonitor.exe”打開Apache控制台,可以看到控制台的狀态欄有如下内容:
Apache/2.2.8 (Win32) DAV/2 SVN/1.5.0
這說明Apache與Subversion在安裝的過程中已經整合成功。
上面介紹的主要是安裝的部分,沒有什麼特殊注意的,一切都很順利的可以完成。接下來主要講一下配置使用者和權限的過程中需要注意的事項。
2、配置使用者和權限
注:下面用的使用者配置檔案passwords.auth和權限配置檔案access.auth的生成、配置及使用方式,在我的另一篇文章“Apache2.2.9+Subversion1.4.6(for Apache2.2.X)在windows下的配置與權限設定”中有詳細的介紹,這裡就不再贅述。
* 進入安裝目錄下的httpd目錄中的conf目錄,如:
C:/Program Files/CollabNet Subversion Server/httpd/conf
打開httpd.conf檔案,先看看檔案最後面,已經自動為我們配置好了倉庫的資訊如下:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
</Location>
在這裡我們先加入,使用者配置,代碼如下:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:/svn_repository/passwords.auth"
Require valid-user
</Location>
加入那四行新的資訊後,重新啟動Apache伺服器,一切正常,這是可通過浏覽器輸入http://localhost/svn測試,會提示輸入使用者名、密碼,用SVN用戶端軟體同樣可以測試得到相同的結果。
下面是本文的主要内容,及權限配置的注意事項。
我們再在代碼中加入權限配置的代碼AuthzSVNAccessFile "C:/svn_repository/access.auth"
修改後的代碼如下:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:/svn_repository/passwords.auth"
AuthzSVNAccessFile "C:/svn_repository/access.auth"
Require valid-user
</Location>
此時重新開機Apache伺服器,發現無法啟動,提示“The requested operation has failed!”
這是我們需要再次修改httpd.conf配置檔案,加入mod_authz_svn.so的附加元件。
找到配置檔案的116行(推薦使用UtralEdit或EditPlus編輯工具,不要一行一行的數哦),115和116行的代碼如下:
115 LoadModule dav_module modules/mod_dav.so
116 LoadModule dav_svn_module modules/mod_dav_svn.so
其中116行中的mod_dav_svn.so檔案就是以前我們安裝Subversion1.4.6和Apache時,由Subversion
的lib目錄拷貝到Apache的modules目錄的,并在Apache的httpd.conf下新加入的那行代碼。
再找到84行的代碼,會發現和115行的代碼一樣,隻是多了一個#号,表示這一行被注釋了,115行的作用就是使這行代碼重新生效,這就是以前取消注釋的那行代碼。
84 #LoadModule dav_module modules/mod_dav.so
如果裝過Subversion以前的版本,應該記得當時需要拷貝兩個檔案到Apache的modules目錄下,一個
是上面說過的mod_dav_svn.so,另一個就是mod_authz_svn.so。在Subversion1.5的安裝目錄下的Apache目錄httpd的modules中已經包含了mod_authz_svn.so檔案,是以無需拷貝,隻需要加入一行加載代碼即可。
再次回到116行的位置,在他的下面加入如下一行代碼,這行代碼就成為了117行:
LoadModule authz_svn_module modules/mod_authz_svn.so
此時我們再儲存配置檔案,重新開機Apache伺服器,發現又可以正常的啟動了。
到此,我們完成了Subversion1.5的安裝與配置工作,可以在實際的開發中使用Subversion1.5了。
3、總結
Subversion1.5的安裝包內建了Apache2.2.8的安裝,一次安裝就可以完成兩個軟體的安裝,并同時自動完成Subversion與Apache的內建。但在使用者賬号配置和使用者權限配置的過程中還是需要所有注意,特别的使用者權限的配置,需要填入一行子產品加載代碼,如下:
LoadModule authz_svn_module modules/mod_authz_svn.so
在以前版本的Subversion安裝中我們通常需要取消注釋兩行代碼,并加入兩行新的子產品加載代碼,而在1.5的版本中,取消注釋的工作已經有安裝程式自動完成,新加代碼的工作也有安裝程式完成了一大半,隻需要我們加入上面的這一行代碼就可以使我們的使用者和權限配置生效并正常使用了。