一、Apache支持ASP.NET简要说明:
1、所用到的软件:
(1)apache安装包:httpd-2.2.15-win32-x86-no_ssl.msi 下载地址: http://httpd.apache.org/download.cgi#apache22
(2)mod_aspdotnet安裝包:mod_aspdotnet-2.2.0.2006-setup-r2.msi 下载地址:http://sourceforge.net/projects/mod-aspdotnet/
(3)mod_jk_1.2.6_2.0.50.dll 下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/
2、mod_aspdotnet说明:mod_aspdotnet 是Apache基金会一个已经停止的项目,该项目以模块方式为Apache Web 服务器提供对微软 ASP.NET 应用支持。我们下载到的mod_aspdotnet-2.2.0.2006-setup-r2.msi 只支持Apache2.2.x。目前,这个mod_aspdotnet模块最大的问题是在认证支持上的不足。
3、mod_jk_1.2.6_2.0.50说明:mod_jk_1.2.6_2.0.50 是比较旧的mod_jk,从Apache2.0.59以后,Apache对于mod_jk,有一套新的对应了,详细见Apache网站。
4、确保你已经安装了jdk和.NET FrameWork3.5。
二、安装Apache
下载完Apache后,双击apache_2.0.55-win32-x86-no_ssl.msi文件。选择同意条款,点Next;在Network Domain的框里填入域名(不带www的),在ServerName填入带前缀的域名(有带www或其他前缀的),在Email Address填入你的Email地址;点选For All Users单选框;然后一路Next。
三、安装mod_aspdotnet
在安装mod_aspdotnet之前一定要先安装好Apache和.NET Framework。
双击mod_aspdotnet-2.0.0.msi,选择同意条款,点Next;选择All Users单选框,一路Next就行了。
四、安装mod_jk
将mod_jk_1.2.6_2.0.50.dll拷贝到Apache安装目录下的modules目录里,重合名为mod_jk.dll
五、放置.NET项目
在apache安装目录下找到htdocs目录,C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
在此目录中新建active目录,将你的.NET项目放入active中,如我的项目名为WorkOrder
六、配置httpd.conf
进入Apache安装目录下,找到conf文件夹,双击进入。用文本打开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 example application AspNetMount /active "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/active/WorkOrder" # Map all requests for /active to the application files Alias /active "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/active/WorkOrder" # Allow asp.net scripts to be executed in the active example <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/active/WorkOrder"> Options FollowSymlinks ExecCGI Order allow,deny Allow from all DirectoryIndex Default.htm Default.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>
到这里就已经配置完成了,启动apache,访问http://localhost/active即可。
注意httpd.conf配置很关键,以下两行不要分行写。
第3行和第6行。