2012年2月17日 星期五

SVN (Subversion) install on Windows

Reference:
http://www.dotblogs.com.tw/walter/archive/2009/10/07/install-subversion-with-apache-in-windows.aspx
http://blog.liangkuo.org/2007/03/svn-subversion-tortoisesvn.html

Step1. Download Apache 2.2.x (no ssl)
http://httpd.apache.org/download.cgi

Step2.Download Subversion 1.6.x binary
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
http://subversion.apache.org/packages.html
也可以download source code自己做成binary
http://subversion.apache.org/download/

Step3. Download SVN client TortoiseSVN
http://tortoisesvn.net/downloads

Step 4. install Apache
安裝就一直下一步就裝好了。

Step5. config Apache
開啟C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
  • 如果要改port,請修改這一行Listen 80
  • 將以下這兩行最前面的 # 刪除
    • LoadModule dav_module modules/mod_dav.so 
    • LoadModule dav_fs_module modules/mod_dav_fs.so
  • 加入以下兩行(放在 mod_dav.so 之後) (檔案路徑請依 Subversion 實際安裝位置調整)
    • 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"
  • 在檔案最後面加入
<Location />
  DAV svn

  #控管檔的存放位置根資料夾
  SVNParentPath "D:\SVNProj"

  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion repository"

  #進行帳號驗證時的帳號、密碼資料
  AuthUserFile "D:\SVNProj\passwd.ini"

  # only authenticated users may access the repository
  #操作時要進行帳號驗證,拿掉此行就不會進行驗證
  Require valid-user

  # our access control policy
  # authz.ini 是設定帳號對各 Project 可讀/寫權限的設定檔
  AuthzSVNAccessFile "D:\SVNProj\authz.ini"
</Location>

Step 6. install SVN
將svn-win32-1.6.x解壓縮到C:\Program Files\Subversion

Step 7. config SVN
修改環境變數PATH,加入C:\Program Files\Subversion\bin;C:\Program Files\Apache Software Foundation\Apache2.2\bin
新增環境變數APR_ICONV_PATH,內容為C:\Program Files\Subversion\iconv,以支援非英語地區

Step 8. Create project
開啟命令提示字元(Command Prompt),切換到D:\SVNProj
svnadmin create Project1

Step 9. Create account, password
htpasswd -c passwd.ini [帳號]

Step 10. 設定權限
新增D:\SVNProj\authz.ini,內容如下

# 先定義群組
[groups]
developer = user1,user2,user3
art = user4
everyone = *
# 預設拒絕所有人進入瀏覽
[/]
* =
# 設定儲存庫訪問權限,語法:[儲存庫:專案路徑]
[Project1:/]
# developer可讀寫
@developer=rw
# art僅可讀取
@art=r

Step 11. 測試SVN (先restart Apache)
用IE開啟http://localhost/Project1會出現帳號密碼驗證。
如果出現錯誤訊息,可以查看C:\Program Files\Apache Software Foundation\Apache2.2\logs\error.log。

沒有留言:

張貼留言