如何在 Windows Server 設定 SVN 和 Trac 伺服器

如何在 Windows Server 設定 SVN 和 Trac 伺服器

我需要為我研究生院的實驗室設定 SVN 和 Trac。我們有一台運行 Windows Server 2003 的計算機,我希望使用它。我們真正需要的一件事是透過登入 Windows 網域進行身份驗證。學校使用 AD 建立在一個網域上。我以前從未做過這樣的事情,所以有人可以告訴我這有多難/是否可能/如何做到。

謝謝

答案1

雖然我不確定這是否正是您正在尋找的,但我已經使用了 BitNami 的一些獨立功能自包含堆疊以前我自己的個人工作,他們把髒活兒處理得很好。它們都有 Subversion 和 Trac 模組,因此您所要做的就是安裝這兩個模組,然後更改設定檔以處理 Windows 驗證。另外,由於 BitNami 堆疊使用 Apache 來提供 Trac 安裝服務,因此很容易遵循上面給出的連結 proy。

答案2

解釋這裡的整個事情可能很困難。看著那(這設定 svn 的連結和用於設定 trac。要讓 trac 透過 Windows 網域進行身份驗證,您可以檢查此連結這裡

答案3

已經很好的連結(尤其是 proy),但一個真實的例子可能會有所幫助。

以下是 Windows (XP) 伺服器的 httpd.conf 的某些部分,使用舊的 2.2.11 apache。

<...>
# Dynamic Shared Object (DSO) Support
<..>
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module  modules/mod_authz_svn.so
LoadModule sspi_auth_module modules/mod_auth_sspi.so
<...>
# provides list of repo with anonymous access
<Location /svn>
    DAV svn
    SVNParentPath "C:/data/repositories/"
    SVNListParentPath on
    SVNIndexXSLT "/svnindex.xsl"
    SVNAutoversioning on
</Location>

<Location /svn/>
    # Checked access for a deeper look
    # for single repository configuration (access right, etc), use a more specific entry in 'Location',
    # and use 'SVNPath "<path to repository>"' instead of 'SVNParentPath
    DAV svn
    SVNParentPath "C:/data/repositories/"
    SVNListParentPath on
    # for web browsing
    SVNIndexXSLT "/svnindex.xsl"
    SVNAutoversioning on
    # --- windows authentication
    AuthName "a nice, friendly and informative message"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain <YOUR_DOMAIN>
    SSPIUsernameCase lower
    # let non-IE client authentification (YES)
    SSPIOfferBasic On
    # comment the next line if you want to keep domain name in userid string passed down to mod_authz_svn
    SSPIOmitDomain On
    Satisfy Any
    Require valid-user
    # specific access control policy enforced by mod_authz_svn
    AuthzSVNAccessFile "C:/controls/svnaccesspolicy.private"
</Location>
...
# And the config for a series of Trac sites
# No authentication for read only
<Location /bugs>
    SetHandler mod_python
    # Date and Time localization, with the standard (fast)cgi
    SetEnv LC_TIME "fr_CH"
    SetEnv PYTHON_EGG_CACHE "C:/cache/egg"
    # Date and Time localization, with the modpython
    PythonOption TracLocale "French_Switzerland"
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnvParentDir "C:/data/trac"
    PythonOption TracUriRoot /bugs
</Location>
<LocationMatch "/bugs/[^/]+/login">
    SetEnv LC_TIME "fr_CH"
    SetEnv PYTHON_EGG_CACHE "C:/cache/egg"
    AuthName "Another nice and informative message"
    AuthType SSPI
    # NT Domain auth config
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain <YourDomain>
    SSPIUsernameCase lower
    SSPIOfferBasic On
    SSPIOmitDomain On
    # following line squishes bug #1168 if IE has troubles editing wiki pages.
    SSPIBasicPreferred On
    BrowserMatch "MSIE 6\.0; Windows NT 5\." nokeepalive
    BrowserMatch "MSIE 7\.0; Windows NT 5\." nokeepalive
    # and this one is a tentative to solve some login issue with IE7 (http://trac.edgewall.org/ticket/4560#comment:22)
    SSPIOfferSSPI off
    SSPIPerRequestAuth On
    # Satisfy Any
    Require valid-user
</LocationMatch>
<snip>

正如您所看到的,兩個網站都可以使用相同的方式來查詢 DC 進行驗證。

請注意,這是舊伺服器(winXp)的配置 - 可能有點過時,並且沒有使用您的情況可能需要的 ssl。另外,trac 和 subversion 都是「手動」安裝的(即不是整合環境)——當出現一些問題時這也很好(你會更好地知道該把手指放在哪裡)。

答案4

SVN-使用視覺SVN伺服器,它在 Windows 上具有終極的易用性,與活動目錄整合並在幾秒鐘內安裝/升級。

Trac - VisualSVN 人們有一個Trac 安裝指南與它一起工作。他們確實說“不支援”、“非官方”等,但他們仍然為您提供程式碼和指南。

相關內容