mod_aspdotnet实现Apache支持ASP.NET+JSP

开发 后端
本文详细的介绍了如何使用mod_aspdotnet模块实现Apache支持ASP.NET、ASP以及JSP。mod_aspdotnet 是Apache基金会一个已经停止的项目,该项目以模块方式为Apache Web 服务器提供对微软 ASP.NET 应用支持。

一、Apache支持ASP.NET简要说明:

1、安装所用到的软件:

apache_2.0.55-win32-x86-no_ssl.msi

mod_aspdotnet-2.0.0.msi

dotNetFramework1.1

Sun Java System Active Server Pages 4.0

jdk-1_5_0_04-windows-i586-p.exe

apache-tomcat-6.0

mod_jk_1.2.6_2.0.50.dll

2、mod_aspdotnet说明:mod_aspdotnet 是Apache基金会一个已经停止的项目,该项目以模块方式为Apache Web 服务器提供对微软 ASP.NET 应用支持。我们下载到的mod_aspdotnet-2.0.0.msi只支持Apache2.0.x。目前该模块配合 .NET Framework v1.0 or V1.1 完整支持 Asp.Net 1.1、试验性支持 Asp.Net 2.0,但不能配合 .NET Framework 2.0 工作。目前,这个mod_aspdotnet模块***的问题是在认证支持上的不足,比如windows和form都还不能支持

现在新更新了的mod_aspdotnet-2.2.0.2004-snapshot-rev419792.msi提供了针对 Apache 2.2.x 准备的 mod_aspdotnet 模块。

3、Sun Java System Active Server Pages 4.0说明:Sun Java System Active Server Pages 4.0(以前称为 Sun ONE Active Server Pages)是一个安全的跨平台 Active Server Pages (ASP) 引擎。Java System ASP 允许组织通过将部署的 ASP 应用程序从 Microsoft IIS 提升到在 Solaris 操作系统、Linux 或 Windows 上运行的 Java System Web Server(以前称为 Sun ONE Web Server)或 Apache,提高 Web 安全性。Java System ASP 与 Microsoft ASP 3.0 和诸如 Macromedia 的 Dreamweaver MX 、Microsoft FrontPage 等通用的 Web 撰写工具完全兼容。

Sun ONE Active Server Pages 4.0允许在多种 Web 服务和平台上部署用 Active Server Pages 编写的Web 应用。这就意味着 Microsoft Web 开发人员可以使用现有工具创建跨平台 Active Server Pages 应用,而机构可以在安全、高度可用的 Web 服务器和操作环境中部署基于 Active Server Pages 软件的内容。

4、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网站

二、安装Apache

下载完Apache后,双击apache_2.0.55-win32-x86-no_ssl.msi文件。选择同意条款,点Next;在Network Domain的框里填入域名(不带www的),在ServerName填入带前缀的域名(有带www或其他前缀的),在Email Address填入你的Email地址;点选For All Users单选框;然后一路Next。

三、安装.NET Framework

双击dotnetfx.exe,也是一路Next就行了。

四、安装mod_aspdotnet

在安装mod_aspdotnet之前一定要先安装好Apache和.NET Framework。

双击mod_aspdotnet-2.0.0.msi,选择同意条款,点Next;选择All Users单选框,一路Next就行了。

五、安装JDK

双击jdk-1_5_0_04-windows-i586-p.exe文件。一路Next就行了。

六、安装Sun Java System Active Server Pages 4.0

安装之前一定要先装好Apache。如果安装之前没有先安装JDK,则双击sjsasp402-windows.exe后会先安装J2SE v1.4.2_05,等J2SE v1.4.2_05安装安后,再次双击sjsasp402-windows.exe,才会进行Sun One ASP的安装。开始安装,一路Next到出现Choose A Web Server,选择Apache Web Server 2.0.55,点击Next,跳出一个要求关闭Apache服务的提示框,按要求关掉Apache的服务,点击确定,开始进入***安装阶段,安装完后点击finish按钮,安装成功。安装成功后开启Apache的服务。

七、安装Tomcat

Tomcat安装按默认安装即可。

八、安装mod_jk

将mod_jk_1.2.6_2.0.50.dll拷贝到Apache安装目录下的modules目录里,重合名为mod_jk.dll

九、配置httpd.conf

进入Apache安装目录下,找到conf文件夹,双击进入。用文本打开httpd.conf文件,在文件的***部加入:

  1. #加载asp.net模块  
  2. LoadModule aspdotnet_module "modules/mod_aspdotnet.so" 
  3. #如果mod_aspdotnet加载成功  
  4. < IfModule mod_aspdotnet.cpp>  
  5.               AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo  
  6.               # For all virtual ASP.NET webs, we need the aspnet_client files  
  7.               # to serve the client-side helper scripts.  
  8.               AliasMatch ^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WINNT/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4" 
  9.                
  10.               < Directory "C:/WINNT/Microsoft.NET/Framework/v*/ASP.NETClientFiles">  
  11.                             Options FollowSymlinks  
  12.                             Order allow,deny  
  13.                             Allow from all  
  14.               < /Directory>  
  15. < /IfModule>  
  16. < VirtualHost *:80>  
  17.     ServerAdmin $Mail_address  
  18.     DocumentRoot "$Apache_home\htdocs" 
  19.     ServerName $serverName  
  20.     DirectoryIndex index.jsp index.asp index.aspx index.htm  
  21.      
  22.     #如果mod_aspdotnet加载成功  
  23.               < IfModule mod_aspdotnet.cpp>  
  24.                             # 加载 ASP.NET 应用,当***个参数为“/”时为整个虚拟主机都需要支持asp.net  
  25.                             AspNetMount / "$Apache_home\htdocs" 
  26.                              
  27.                             # 设置应用asp.net的虚拟目录,当整个虚拟主机都需要支持asp.net时不要设  
  28.                             #Alias /active "$Apache_home\htdocs\active"  
  29.                              
  30.                             # 允许 asp.net scripts 执行以下目录  
  31.                             < Directory "$Apache_home\htdocs">  
  32.                                           Options FollowSymlinks ExecCGI  
  33.                                           Order allow,deny  
  34.                                           Allow from all  
  35.                             < /Directory>  
  36.               < /IfModule>  
  37. < /VirtualHost>  
  38. # 加载 mod_jk module  
  39. LoadModule jk_module "modules/mod_jk.dll" 
  40. < IfModule mod_jk.c>  
  41.               # workers.properties的地址  
  42.               JkWorkersFile $Tomcat_home/conf/workers.properties  
  43.                
  44.               # 日志文件  
  45.               JkLogFile     $Tomcat_home/logs/mod_jk.log  
  46.                
  47.               # Set the jk log level [debug/error/info]  
  48.               JkLogLevel    info  
  49.                
  50.               # Select the timestamp log format  
  51.               JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 
  52.                
  53.               # Send *.do,*.jsp,*.xls files to worker named ajp13  
  54.               JkMount /*.do ajp13  
  55.               JkMount /*.jsp ajp13  
  56. < /IfModule>  

你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址;把$Mail_address改成你的电子邮箱地址。

十、配置workers.properties

在Tomcat安装目录下的conf目录中新建一个文件

  1. workers.properties:  
  2. workers.tomcat_home=$Tomcat_home  
  3. workers.java_home=$Java_home  
  4. ps=\  
  5. worker.list=ajp13  
  6.               
  7. worker.ajp13.port=8009          
  8. worker.ajp13.host=$serverName  
  9. worker.ajp13.type=ajp13  
  10. worker.ajp13.lbfactor=1  

你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Java_home改成JDK的安装目录;把$serverName改成主机名,没有设置虚拟主机的也可以写上IP地址。

十一、配置Tomcat虚拟主机

在Tomcat安装目录下的conf目录中打开server.xml文件,找到< /Engine>标签,在它上面加入:

  1. < Host name="$serverName " appBase="$Apache_home\htdocs" 
  2.       unpackWARs="true" autoDeploy="true" 
  3.       xmlValidation="false" xmlNamespaceAware="false"> 
  4.    < Context path="" docBase="." debug="0"/>< !--一定要有这一句,这一句设定当前目录为根目录 --> 
  5. < /Host> 

你在应用中要把上面的$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址

注意:Tomcat虚拟主机的目录和Apache虚拟主机的目录一定要是同一个,主机名也一定要相同(即Tomcat中Host标签的appBase属性值要和Apache中VirtualHost标签的DocumentRoot要相同;即Tomcat中Host标签的name属性值要和Apache中VirtualHost标签的ServerName要相同;),只是端口不同而已,一个是80,一个是8080,否则在该问index.jsp时会有问题。

十二、测试Apache支持ASP.NET情况

在虚拟主机根目录中加添加三个HelloWorld文件,分别为HelloWorld.aspx、HelloWorld.asp、HelloWorld.jsp测试一下:

HelloWorld.aspx:

  1. < %@ Page Language="VB" %> 
  2. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. < script runat="server"> 
  4. < /script> 
  5. < html xmlns="http://www.w3.org/1999/xhtml"> 
  6. < head runat="server"> 
  7.     < title>Hello World! - mod_aspdotnet< /title> 
  8. < /head> 
  9. < body> 
  10.     < form id="form1" runat="server"> 
  11.     < div> 
  12.         < % Response.Write("< h1>Hello World!< /h1>")%> 
  13.     < /div> 
  14.     < /form> 
  15. < /body> 
  16. < /html> 

打开浏览器,在地址栏输入:http://$serverName/HelloWorld.aspx,把上面的$serverName改成主机名

如果正确输出Hello World!

说明你的配置是正确的,现在Apache支持ASP.NET了。

HelloWorld.asp:

  1. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. < html xmlns="http://www.w3.org/1999/xhtml"> 
  3. < head> 
  4.     < title>Hello World! - Sun One ASP< /title> 
  5. < /head> 
  6. < body> 
  7.     < form id="form1"> 
  8.     < div> 
  9.         < % Response.Write "< h1>Hello World!< /h1>"%> 
  10.     < /div> 
  11.     < /form> 
  12. < /body> 
  13. < /html> 

打开浏览器,在地址栏输入:http://$serverName/HelloWorld.asp,把上面的$serverName改成主机名

如果正确输出Hello World!

说明你的配置是正确的,现在Apache支持ASP了。

HelloWorld.jsp:

  1. < %@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> 
  2. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. < html xmlns="http://www.w3.org/1999/xhtml"> 
  4. < head> 
  5.     < title>Hello World! - Tomcat< /title> 
  6. < /head> 
  7. < body> 
  8.     < form id="form1"> 
  9.     < div> 
  10.         < % out.print ("< h1>Hello World!< /h1>");%> 
  11.     < /div> 
  12.     < /form> 
  13. < /body> 
  14. < /html> 

打开浏览器,在地址栏输入:http://$serverName/HelloWorld.jsp,把上面的$serverName改成主机名

如果正确输出Hello World!

说明你的配置是正确的,现在你可以在Apache中使用JSP了。

十三、Apache支持ASP.NET的注意事项

1、由于apache本身对于url的目录和文件名是大小写敏感的,所以asp.net的虚拟目录必须要注意大小写,否则访问的时候不会出错,不过将会找不到任何的文件,就像访问一个空的目录一样。除了虚拟目录名外,由于其它的aspx文件是mod_aspdotnet模块载入的,所以又仍然是非大小写敏感的。

【编辑推荐】

  1. Apache支持ASP.NET 2.0的法宝:mod_aspdotnet
  2. 让Apache支持ASP.NET(Apache 2.0以上)
  3. ASP.NET的XML Web服务方法
  4. ASP.NET页面显示XML数据
  5. 了解什么是IFRAME ASP.NET
责任编辑:yangsai 来源: 百度空间
相关推荐

2009-07-23 15:23:53

Apache支持ASPmod_aspdotn

2009-07-23 14:39:57

Apache支持ASP

2009-08-04 17:28:45

Apache支持ASP

2009-07-21 13:30:59

JSP技术ASP.NET

2009-07-28 14:30:35

ASP.NET JSP

2009-07-01 09:27:22

ASP.NETJSPPHP

2009-03-11 11:46:11

JSPASP.NET存储过程

2015-02-27 09:42:40

2009-08-07 16:32:52

ASP.NET控件设计时支

2011-04-22 09:46:59

ASP.NET

2009-07-29 16:22:34

APACHE上运行AS

2009-07-02 14:39:27

Session的值JSP Asp.net

2009-12-10 17:47:01

ASP.NET 2.0

2009-07-22 17:45:11

ASP.NET插件

2009-07-23 10:31:14

2009-07-22 17:13:21

Asp.Net编程

2009-07-28 15:29:03

实现HTTP请求ASP.NET

2009-08-10 17:17:10

ASP.NET安装部署

2009-08-05 17:58:34

实现ASP.NET网站

2009-07-28 10:01:16

ASP.NET Exc
点赞
收藏

51CTO技术栈公众号