2015年7月29日 星期三

SVN (Subversion) install on Windows 2012 R2

Reference:
[研究] Win32Svn 1.8.0-1 架設(Windows 2008 R2)
How to Install Apache 2.4 MySQL and PHP on Windows Server 2012 R2

因為 svn for Windows 有好幾個版本,我採用 Win32Svn 因為它比較不像商業版,但它只有 32bit 版本。所以 Apache 也必須用 32bit 版本。

1. download Apache 2.4 Win32. 它需要事先安裝 Visual C++ Redistributable (也是用 x86 版本)
2. download Win32Svn 1.8
3. 解壓縮 Apache 2.4,用 Apache24\bin\httpd.exe -k install 安裝 service。
4. 修改 Apache24\conf\httpd.conf

  • Listen 8080    # 因為 port 80 被 IIS 用掉了
  • 將以下這兩行最前面的 # 刪除
    • 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 (x86)\Subversion\bin\mod_dav_svn.so" 
    • LoadModule authz_svn_module "C:\Program Files (x86)\Subversion\bin\mod_authz_svn.so"
  • 在檔案最後面加入
# domain AD server for LDAP 認證
<AuthnProviderAlias ldap ldap1>
 AuthLDAPURL "ldap://server1.domain.local:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
  AuthLDAPBindDN "LDAPadmin@domain.local"
  AuthLDAPBindPassword "ldappassword"
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap2>
 AuthLDAPURL "ldap://server2.domain.local:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
  AuthLDAPBindDN "LDAPadmin@domain.local"
  AuthLDAPBindPassword "ldappassword"
</AuthnProviderAlias>

<Location /> 
  DAV svn 
#控管檔的存放位置根資料夾
  SVNParentPath "C:\SVN\Proj" 

  # how to authenticate a user 
  AuthType Basic 
  AuthName "Subversion repository" 
  AuthBasicProvider ldap1 ldap2
  LDAPReferrals Off

  # only authenticated users may access the repository 
  Require valid-user 

  # our access control policy 
  AuthzSVNAccessFile "C:\SVN\Proj\authz.ini" 
</Location>

5. install Win32Svn. 安裝時選 Apache 2.4 module.
6. Create project
開啟命令提示字元(Command Prompt),切換到C:\SVN\Proj
svnadmin create Project1



沒有留言:

張貼留言