The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

在 Win32 安裝 Apache 2.2 with OpenSSL + Subversion 1.5

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 】文章的說明。