我需要为我在研究生院的实验室安装 SVN 和 Trac。我们有一台运行 Windows Server 2003 的机器,我希望使用它。我们真正需要的一件事是通过登录到 windows 域进行身份验证。学校使用 AD 在一个域上设置。我以前从来没有做过这样的事情,所以有人可以告诉我这有多难/有可能/怎么做。
这是用于 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>
在这里解释整个事情可能很困难。查看设置 svn 的链接和设置trac的链接。要让 trac 使用 Windows 域进行身份验证,您可以在此处查看此链接。
虽然我不确定这是否正是您正在寻找的东西,但我之前曾在我自己的个人工作中使用过一些 BitNami 的自包含自包含堆栈,它们在处理脏活方面做得很好。它们同时具有 Subversion 和 Trac 模块,因此您所要做的就是安装两者,然后更改配置文件以处理 Windows 身份验证。另外,由于 BitNami 堆栈使用 Apache 为 Trac 安装提供服务,因此很容易按照上面给出的链接进行操作。
已经很好的链接(尤其是 proy),但一个真实的例子可能会有所帮助。
这是用于 Windows (XP) 服务器的 httpd.conf 的一些部分,带有旧的 2.2.11 apache。
如您所见,两个站点都可以使用相同的方式来查询 DC 以进行验证。
请注意,它是旧服务器(winXp)的配置 - 可能有点过时,并且不使用您的情况可能需要的 ssl。此外,trac 和 subversion 都是“手动”安装的(即不是集成环境)——当出现一些问题时这也很好(你会更好地了解将手指放在哪里)。
SVN - 使用VisualSVN服务器,它是 Windows 上的终极易用性,与 Active Directory 集成并在几秒钟内安装/升级。
Trac - VisualSVN 人员有安装 Trac以使用它的指南。他们确实说“不支持”、“非官方”等,但他们仍然为您提供代码和指南。