Asp.net CruiseControl.Net仪表板+;阿帕奇

Asp.net CruiseControl.Net仪表板+;阿帕奇,asp.net,apache,cruisecontrol.net,Asp.net,Apache,Cruisecontrol.net,我正试图让cc.net dashboard在一台同样有apache的构建机器上运行 我已尝试按说明安装mod_aspdotnet。我可以运行示例aspx页面,但无法运行cc.net。我需要做些什么魔术吗 不管它值多少钱,它设法将我重定向到,但这给了我一个404错误 以下是相关的httpd.conf部分: #asp.net LoadModule aspdotnet_module "modules/mod_aspdotnet.so" AddHandler asp.net asax ascx ash

我正试图让cc.net dashboard在一台同样有apache的构建机器上运行

我已尝试按说明安装mod_aspdotnet。我可以运行示例aspx页面,但无法运行cc.net。我需要做些什么魔术吗

不管它值多少钱,它设法将我重定向到,但这给了我一个404错误

以下是相关的httpd.conf部分:

#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 
#asp.net
LoadModule aspdotnet_module“modules/mod_aspdotnet.so”
AddHandler asp.net asax ascx ashx asmx aspx axd配置cs csproj licx rem资源resx soap vb vbproj vsdisco webinfo
#装载ASP.NET/ASP应用程序
AspNetMount/ccnet“C:/Program Files/CruiseControl.NET/webdashboard”
#/SampleASP是asp.net要执行的别名
#将/asp的所有请求映射到应用程序文件
别名/ccnet“C:/Program Files/CruiseControl.NET/webdashboard”
#将/ccnet请求映射到“C:/Program Files/CruiseControl.NET/webdashboard”
#现在转到/ccnet类型http://localhost/ccnet
#它将重定向http://localhost/ccnet 至“C:/Program Files/CruiseControl.NET/webdashboard”
#允许在/samp示例中执行asp.net脚本
选项如下symlinks ExecCGI
命令允许,拒绝
通融
DirectoryIndex.htm index.aspx default.aspx
#默认索引页为.htm和.aspx
#对于所有虚拟ASP.NET网站,我们需要aspnet_客户端文件
#为客户端助手脚本提供服务。
别名匹配/aspnet\u client/system\u web/(\d+)(\d+)(\d+)(\d+)/(*)“C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4”
选项如下符号链接
命令允许,拒绝
通融
#asp.net

我以为我是世界上唯一一个试图让这种设置正常工作的人

我通过添加行: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>

选项如下symlinks ExecCGI
AspNet文件目录虚拟
命令允许,拒绝
通融
DirectoryIndex.htm index.aspx default.aspx
#默认索引页为.htm和.aspx
我还对我的dotnet框架的路径进行了卡片编码,但我不确定是否有必要:

<Directory "C:/Windows/Microsoft.NET/Framework/v2.0.50727">
    Options FollowSymlinks
    Order allow,deny
    Allow from all
</Directory>

选项如下符号链接
命令允许,拒绝
通融
我需要添加两个:

  • 别名匹配/aspnet\u客户端/system\u web/(\d+)(\d+)(\d+)(\d+)/(*)“C:/Windows
  • AspNet文件目录虚拟
请参见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>

#装载ASP.NET/ASP应用程序
AspNetMount/ccnet“C:/Program Files/CruiseControl.NET/webdashboard”
#将/ccnet请求映射到“C:/Program Files/CruiseControl.NET/webdashboard/default.aspx”
别名匹配/ccnet/(*)“C:/Program Files/CruiseControl.NET/webdashboard/default.aspx”
#允许在/samp示例中执行asp.net脚本
选项如下symlinks ExecCGI
AspNet文件目录虚拟
命令允许,拒绝
通融
DirectoryIndex.htm index.aspx default.aspx
#默认索引页为.htm和.aspx
#对于所有虚拟ASP.NET网站,我们需要aspnet_客户端文件
#为客户端助手脚本提供服务。
别名匹配/aspnet\u client/system\u web/(\d+)(\d+)(\d+)(\d+)/(*)“C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4”
选项如下符号链接
命令允许,拒绝
通融

这就是我所做的,灵感来自亚当的回答:

AliasMatch /ccnet(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" 
Alias /ccnet/ "C:/Program Files/CruiseControl.NET/webdashboard/
尝试将所有.aspx文件与webdashboard应用程序匹配,否则只需从文件系统中删除内容即可


我现在有了可用的css、图像、应用程序内容、CCTray下载链接。

帮助了“AspNet文件目录虚拟”部分。现在显示了webdashboard。但单击项目链接会导致404错误。不必硬编码dotnet框架,但必须使用Adam的AliasMatch行。