Subversion 1.5 版是近幾年來 Subversion 最大幅度的一次更新,除了效能提升以外,最重要的就是新增了 Merge tracking 的功能,詳細的說明可參考 Subversion 1.5 Release Notes,而今天為了要將我公司的 Apache 2.0 + Subversion 1.4 升級到 Apache 2.2 + Subversion 1.5 費了我好一番的功夫阿,看著 Subversion 1.5 附的 README.txt 說明檔設定總是出現問題,我不斷的嘗試好久才安裝升級成功,花了我兩個小時!@_@''
以下是本次升級的筆記:
1. 移除舊版 Apache 與 Subversion
先手動將 Apache 2.0 停止,並將 Apache2 從 Windows Service 中移除:
cd C:\Program Files\Apache Group\Apache2\bin
Apache.exe -k stop
Apache.exe -k uninstall
然後到控制台的「新增或移除程式」將 Apache 2.0 與 Subversion 1.4.6 移除。
2. 下載 & 安裝 Subversion 1.5
先到 http://subversion.tigris.org/ 點選 Windows binaries 進入,再到點選 Tigris.org: Apache 2.2 進入下載頁面,然後下載最下方的 svn-win32-1.5.0.zip 下載最新版的 Subversion Win32 Binary。
下載完後將檔案解壓縮到 C:\Program Files\Subversion\ 目錄下
安裝完成後,設定「系統環境變數」Path 加入 c:\Program Files\Subversion\bin 目錄
3. 安裝 Apache 2.2 with OpenSSL
到 Apache HTTP Server Project 的 下載頁面 下載 Win32 Binary including OpenSSL 0.9.8h 安裝檔:apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi
安裝完成後,先編輯設定檔 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
# 將 ssl 設定載入(將 # 符號移除)
Include conf/extra/httpd-ssl.conf
# 將以下兩行的 # 移除
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
# 加入以下兩行
LoadModule dav_svn_module "C:\Program Files\Subversion\bin\mod_dav_svn.so"
LoadModule authz_svn_module "C:\Program Files\Subversion\bin\mod_authz_svn.so"
# 加入 Subversion Repository 的 Location 定義
<Location /repos>
DAV svn
SVNParentPath "C:/SVNRepos"
# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile "C:/SVNRepos/passwd.ini"
# only authenticated users may access the repository
Require valid-user
# our access control policy
AuthzSVNAccessFile "C:/SVNRepos/authz.ini"
</Location>
然後修改 C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-ssl.conf
# 將所有 443 Port 都改成 3443 ( 你可以換成你要接受 SSL 連線的 Port )
Listen 3443
<VirtualHost _default_:3443>
ServerName localhost:3443
接著可以將之前產生過的 SSL Cert ( server.crt ) 與 SSL Key ( server.key ) 直接複製到 C:\Program Files\Apache Software Foundation\Apache2.2\conf 目錄下,若需重新產生 SSL Cert & Key 可參考我的【如何在 Win32 安裝 Apache 2.0 with OpenSSL + Subversion 1.4 】文章。
4. 測試 Apache 2.2 with OpenSSL 是否安裝成功
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -D SSL -t
Syntax OK
5. 註冊 Apache 2.2 服務到 Windows Service
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -k install
Installing the Apache2.2 service
The Apache2.2 service is successfully installed.
6. 啟動 Apache 2.2
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -k start
基本上,做到這一步已經算安裝完成了,其他像是「建立 SVN Repository 環境」的部分可參考【如何在 Win32 安裝 Apache 2.0 with OpenSSL + Subversion 1.4 】文章的說明。