I'm trying to get cc.net dashboard running on a build machine that also has apache on it.
I've tried installing mod_aspdotnet as described here. I can run the sample aspx page, but I am unable to get cc.net to run. Is there some magic I need to do?
For what it's worth, http://localhost/ccnet manages to redirect me to http://localhost/ccnet/ViewFarmReport.aspx but that gives me a 404 error.
Below is the relevant httpd.conf section:
#asp.net
LoadModule aspdotnet_module "modules/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> 
  # Mount the ASP.NET /asp application
  AspNetMount /ccnet "C:/Program Files/CruiseControl.NET/webdashboard"
  #/SampleASP is the alias name for asp.net to execute
  # Map all requests for /asp to the application files
  Alias /ccnet "C:/Program Files/CruiseControl.NET/webdashboard"
  #maps /ccnet request to "C:/Program Files/CruiseControl.NET/webdashboard"
  #now to get to the /ccnet type http://localhost/ccnet
  #It'll redirect http://localhost/ccnet to "C:/Program Files/CruiseControl.NET/webdashboard"
  # Allow asp.net scripts to be executed in the /SampleASP example
  <Directory "C:/Program Files/CruiseControl.NET/webdashboard">
    Options FollowSymlinks ExecCGI
    Order allow,deny
    Allow from all
    DirectoryIndex index.htm index.aspx default.aspx
   #default the index page to .htm and .aspx
  </Directory>
  # For all virtual ASP.NET webs, we need the aspnet_client files
  # to serve the client-side helper scripts.
  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>
#asp.net
        - 
                        
I thought I was the only one in the world trying to get such a setup working.
I fixed this by adding the line: AspNet Files Directories Virtual
<Directory "C:/Program Files/CruiseControl.NET/webdashboard"> Options FollowSymlinks ExecCGI AspNet Files Directories Virtual Order allow,deny Allow from all DirectoryIndex index.htm index.aspx default.aspx #default the index page to .htm and .aspx </Directory>I also card-coded the path to my dotnet framework, but I'm not sure if that is necessary:
<Directory "C:/Windows/Microsoft.NET/Framework/v2.0.50727"> Options FollowSymlinks Order allow,deny Allow from all </Directory>Adam Tegen : The "AspNet Files Directories Virtual" portion helped. The webdashboard now shows up. But clicking on the project link results in a 404 error.Frank Shearar : It's not necessary to hard-code the dotnet framework, but it *is* necessary to use Adam's AliasMatch line. - 
                        
I needed to add both:
- AliasMatch /aspnet_client/system_web/(\d+)(\d+)(\d+)(\d+)/(.) "C:/Windows
 - AspNet Files Directories Virtual
 
See xml:
<IfModule mod_aspdotnet.cpp> # Mount the ASP.NET /asp application AspNetMount /ccnet "C:/Program Files/CruiseControl.NET/webdashboard" #maps /ccnet request to "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" AliasMatch /ccnet/(.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" # Allow asp.net scripts to be executed in the /SampleASP example <Directory "C:/Program Files/CruiseControl.NET/webdashboard"> Options FollowSymlinks ExecCGI AspNet Files Directories Virtual Order allow,deny Allow from all DirectoryIndex index.htm index.aspx default.aspx #default the index page to .htm and .aspx </Directory> # For all virtual ASP.NET webs, we need the aspnet_client files # to serve the client-side helper scripts. 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 is what I've done, inspired by Adam's answer:
AliasMatch /ccnet(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" Alias /ccnet/ "C:/Program Files/CruiseControl.NET/webdashboard/Try match all the .aspx files to the webdashboard application, otherwise just pull stuff off the filesystem.
I now have working css, images, application stuff, CCTray download link.
 - 
                        
Frank's answer worked for me (once I realized that the order matters). Call AliasMatch first, apparently Alias resolution occurs in the order listed in the .conf file and /ccnet matches before /ccnet(..aspx.).
 - 
                        
+1, it works perfectly by adding the flollowing line before the Alias line
AliasMatch /ccnet(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"thx for your help guys !
 
0 comments:
Post a Comment