views:

39

answers:

2

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.

+1  A: 

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.

TridenT
The issue about the trailing slash required after ccnet in http://localhost/ccnet is still there. I did all of the above but the behaviour has not changed at all. I was already using mod_aspdotnet 2.2.0.2006. So now what? How do I stop the trailing slash requirement from being required?
Umar Farooq Khawaja
Try to remove the trailing slash in the config file : AliasMatch /ccnet(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" Alias /ccnet "C:/Program Files/CruiseControl.NET/webdashboard/"
TridenT
Awesomeness! That worked!
Umar Farooq Khawaja
+2  A: 

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
Ivan Zhakov
That's a good answer, but the issue is that I am running Windows XP and I need IIS to be set to run the website I am usually working on, which needs to be set up in IIS to be developed, i.e., doesn't work too well in Cassini (because of the rewrite module we're using).
Umar Farooq Khawaja
@Umar As far I remember IIS is available on Windows XP. And MS states the same:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/iiiisin2.mspx
Ivan Zhakov
IIS is available on Windows XP and indeed I use it (and need it) for my development work. IIS on Windows XP is limited to run only 1 website at one time and while I could run the website I am developing on IIS and add configure ccnet as a virtual directory within it, I prefer not to do it that way and would much rather run ccnet through VisualSVN's Apache server.
Umar Farooq Khawaja