Subversion for Windows 安裝指南
摘要
本文提供一個簡易的安裝指南,說明在 Windows 環境下安裝 Subversion 伺服器的步驟,以及 TortoiseSVN 用戶端工具的安裝步驟。
1 簡介
Subversion 是一個版本控制系統,它是根據 CVS(Concurrent Versions System)的功能為基礎來設計,但是改進了一些 CVS 的缺點,例如:在 CVS 中移動檔案目錄很不方便;此外,它也增加了其他的功能,例如:....等等。
由於目前手邊查到的 Subversion 檔案,主要都是針對 Linux 使用者來撰寫,所以這份檔案特地針對 Windows 環境下安裝 Subversion 的步驟來說明,希望透過這份檔案,能夠協助你很快的把 Subversion 安裝起來。
在安裝過程中,會需要輸入一些命令列的指令,我不會詳細解釋某些指令的用途和意義,因此你除了要熟悉 DOS 的基本指令,還應該隨時查閱 Subversion 的電子書,以瞭解 Subverion 命令工具的使用方法。圖形化介面雖然方便,但是熟悉命令工具的使用,才能讓你得到完全的自由。
1.1 閱讀基本概念
如果你缺乏版本控制系統的基本概念,就算能夠順利安裝好 Subversion,可能安裝完成後就不知道下一步怎麼做了。這裡只簡單的提一點必要的基礎概念,記住你最終還是得閱讀 Subversion 的官方檔案。
1.2 環境與版本
以下是筆者安裝 Subverion 的環境與版本:
Windows 2000 Server with SP4
Apache HTTP Server v2.0.49
Subversion v1.0.4
TortoiseSVN 1.0.6 build 1200
2 安裝與建立 Subversion 伺服器
本節介紹安裝 Subversion 所需的步驟,請準備一台穩定的機器,作為 Subversion 的伺服器。
2.1 安裝 Apache HTTP Server
到 http://httpd.apache.org/ 下載 Apache HTTP Server 2.0 版 for Windows 的安裝程式,我下載的檔案是 apache_2.0.49-win32-x86-no_ssl.msi。
下載之後直接安裝,安裝過程很簡單,就不贅述了,但安裝之前請先檢查你的電腦是否有安裝 IIS,由於 Apache 預設使用 80 port,會跟 IIS 的網站衝突,你必須把 IIS 的 Web 月台關閉,再安裝 Apache HTTP Server。
安裝完成以後,開啟瀏覽器,瀏覽網址 http://127.0.0.1/ 看看有沒有出現安裝成功的網頁。
2.2 安裝 Subversion
到 http://subversion.tigris.org/ 下載最新版的 Subversion,你可以下載 .zip 或者打包好的自動安裝程式,我下載的是檔案 svn-1.4.0-setup.exe。
下載後直接安裝,安裝過程都是下一步,沒什麼特別的。安裝完成後,連必要的環境變數都幫你設定好了(如果你下載的是 .zip 檔,就要自行設定)。
把 <Subversion_root>/httpd/ 目錄下的 mod_dav_svn.so 和 mod_authz_svn.so 複製到 <Apache_root>/modules/ 目錄下。
把 <Subversion_root>/bin/ 目錄下的 libdb42.dll、libeay32.dll、以及 ssleay32.dll 複製到 <Apache_root> 底下的 bin 或 modules 資料夾。
接著用文書編輯器開啟 Apache HTTP Server 的 httpd.conf(在 <Apache_root>/conf/ 目錄下),尋找一堆 LoadModule 指令,先找到以下兩行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
把這兩行最前面的 '#' 字元刪除,然後把下面這行加到這群 LoadModule 指令的後面:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
重新啟動 Apache HTTP Server。
問題排除 如果 Apache HTTP Server 無法啟動,請依下列步驟檢查: 檢查 Subversion 的路徑是否有在系統的 %PATH% 環境變數裡面。 檢查你加入 httpd.conf 裡的項目是否正確,記住 mod_dav_svn.so 和 mod_authz_svn.so 必須在其他 mod_dav*.so 模組之後載入。 |
2.3 設定 Apache HTTP Server
用文書編輯器開啟 Apache HTTP Server 的 httpd.conf,在檔案最後面加上以下幾行:
<Location /svn>
DAV svn
SVNParentPath /absolute/path/to/repository
</Location>
其中的 SVNPath 後面指定的路徑是檔案庫的絕對路徑,假設我們的檔案庫實際存放的路徑是 d:/svn/repository,那麼要加入 httpd.conf 的內容就是:
<Location /svn>
DAV svn
SVNParentPath d:/svn
</Location>
這表示可以讓任何人都可以透過 http://myserver/svn/<檔案庫名稱> 的方式,存取位於 d:/svn 這個目錄以下的所有檔案庫。注意:Location 標記後面的 /svn 的第一個斜線不可少。
接下來就可以在 d:/svn 底下建立檔案庫了。
提示 方便起見,這裡我用 SVNParentPath 來統一指定所有檔案庫的父層 URL 路徑名稱,如果你需要為不同的檔案庫指定不同的 URL 路徑名稱,可以改用 SVNPath,詳細說明請參考 [1]。 |
2.4 建立檔案庫
假設我們要把所有的檔案庫都放在 d:/svn 目錄下,現在要建立一個測試用的檔案庫,名稱叫做 在 repository,指令為:
md d:/svn
svnadmin create d:/svn/repository
命令執行完後,檢查看看 d:/svn/repository 目錄底下產生了哪些目錄和檔案。
警告 檔案庫絕對不可以在建立在任何遠端的儲存媒體上,例如:網路硬碟機。 |
這時候你已經建立了一個檔案庫,你可以先在本機用瀏覽器測試一下,網址輸入 http://svn/repository,看看能不能看到檔案庫的內容,正常的話應該像下圖一樣。
如果以上的測試可以通過,應該就行了。如果你還想要測試一下能不能從檔案庫取出整個工作複本,可以執行下列指令(非必要):