如何在 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,而您的情况可能需要 ssl。此外,trac 和 subversion 都是“手动”安装的(即不是集成环境) - 当出现一些问题时,这也是很好的(您会更好地知道将手指放在哪里)。

答案4

SVN-使用可视化SVN服务器,它是 Windows 上最易于使用的服务器,与活动目录集成并在几秒钟内完成安装/升级。

Trac - VisualSVN 人员有一个Trac 安装指南使用它。他们确实说“不支持”、“非官方”等等,但他们仍然有代码和指南供您使用。

相关内容