I have installed CruiseControl.NET and VisualSVN Server on my development server. Rather than running CruiseControl.NET Web Dashboard off IIS, I would like to run it off the Apache that VisualSVN Sever installs. I stumbled onto this question on Stackoverflow, and it has helped a lot.
I have the following config in the http-custom.conf file in the "C:\Program Files\VisualSVN Server\conf" folder.
LoadModule aspdotnet_module bin/mod_aspdotnet.so
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
AspNetMount /ccnet "C:/Program Files/CruiseControl.NET/webdashboard"
AliasMatch /ccnet/(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"
Alias /ccnet/ "C:/Program Files/CruiseControl.NET/webdashboard/"
<Directory "C:/Program Files/CruiseControl.NET/webdashboard">
Options FollowSymlinks ExecCGI
# Order allow,deny
# Allow from all
DirectoryIndex default.aspx
</Directory>
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
# Order allow,deny
# Allow from all
</Directory>
</IfModule>
This works fine, except http://localhost/ccnet (notice the missing trailing slash) does not bring up the CruiseControl.NET dashboard, whereas http://localhost/ccnet/ does.
Also, I have had to comment out the Order and Allow directives in the two Directory sections. The VisualSVN Service fails to start if I uncomment any of those 4 commented out directives.
What's up with that开发者_如何转开发?
VisualSVN Server.exe (which is really httpd.exe) reports version number as 2.2.13.0 and mod_aspdotnet.so reports version number as 2.2.0.2006.
It's a bad idea to use mod_aspdotnet since it is not supported for three years and have some critical bugs. Another bad thing that mod_aspdotnet compiled with different settings and could be incompatible with VisualSVN Server binaries.
I recommend you to run CruiseControl.NET on IIS and then reverse proxy requests from VisualSVN Server to IIS. All required modules is already available in VisualSVN Server distribution. Just add the following lines to your httpd-custom.conf (assuming that you running IIS on port 8080)
LoadModule proxy_module bin/mod_proxy.so
LoadModule proxy_http_module bin/mod_proxy_http.so
ProxyPass /ccnet http://localhost:8080/ccnet
ProxyPassReverse /ccnet http://localhost:8080/ccnet
1/ Make sure you use the latest mod. It's name is mod_aspdotnet-2.2.0.2006-setup-r2.msi
2/ Modify the AliasMatch line as follow
AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
3/ Add this line after Options FollowSymlinks ExecCGI
in your webdashboard directory secction
AspNet files
4/ Add Win32DisableAcceptEx on
line ... I remember one machine nedded it .. but it was only on Xp installs, not Server2003 or other edition.
精彩评论