Apache支持ASP.Net+ASP+JSP

来源:互联网 发布:网店推广及优化 编辑:程序博客网 时间:2024/06/07 23:09
作者:greathack
网址:blog.greathack.com
Email:greathack@3java.com
   
转载请保留作者信息
一、简要说明:
1、安装所用到的软件:
apache_2.0.55-win32-x86-no_ssl.msi
http://archive.apache.org/dist/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
mod_aspdotnet-2.0.0.msi
http://archive.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
dotNetFramework1.1
http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe
Sun Java System Active Server Pages 4.0
http://www.sun.com/download/products.xml?id=420a8e72
jdk-1_5_0_04-windows-i586-p.exe
https://sdlc3e.sun.com/ECom/EComActionServlet;jsessionid=3A57864E769D189A8EFC1FE401CF9F3C
apache-tomcat-6.0
http://www.apache.org/dist/tomcat/tomcat-6/
mod_jk_1.2.6_2.0.50.dll
http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.6/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文件,在文件的最底部加入:
#加载asp.net模块
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
#如果mod_aspdotnet加载成功
<IfModule mod_aspdotnet.cpp>
              AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
              # For all virtual ASP.NET webs, we need the aspnet_client files
              # to serve the client-side helper scripts.
              AliasMatch ^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WINNT/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
             
              <Directory "C:/WINNT/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
                            Options FollowSymlinks
                            Order allow,deny
                            Allow from all
              </Directory>
</IfModule>
<VirtualHost *:80>
    ServerAdmin $Mail_address
    DocumentRoot "$Apache_home\htdocs"
    ServerName $serverName
    DirectoryIndex index.jsp index.asp index.aspx index.htm
   
    #如果mod_aspdotnet加载成功
              <IfModule mod_aspdotnet.cpp>
                            # 加载 ASP.NET 应用,当第一个参数为“/”时为整个虚拟主机都需要支持asp.net
                            AspNetMount / "$Apache_home\htdocs"
                           
                            # 设置应用asp.net的虚拟目录,当整个虚拟主机都需要支持asp.net时不要设
                            #Alias /active "$Apache_home\htdocs\active"
                           
                            # 允许 asp.net scripts 执行以下目录
                            <Directory "$Apache_home\htdocs">
                                          Options FollowSymlinks ExecCGI
                                          Order allow,deny
                                          Allow from all
                            </Directory>
              </IfModule>
</VirtualHost>
# 加载 mod_jk module
LoadModule jk_module "modules/mod_jk.dll"
<IfModule mod_jk.c>
              # workers.properties的地址
              JkWorkersFile $Tomcat_home/conf/workers.properties
             
              # 日志文件
              JkLogFile     $Tomcat_home/logs/mod_jk.log
             
              # Set the jk log level [debug/error/info]
              JkLogLevel    info
             
              # Select the timestamp log format
              JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
             
              # Send *.do,*.jsp,*.xls files to worker named ajp13
              JkMount /*.do ajp13
              JkMount /*.jsp ajp13
</IfModule>
你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址;把$Mail_address改成你的电子邮箱地址。
十、配置workers.properties
在Tomcat安装目录下的conf目录中新建一个文件
workers.properties:
workers.tomcat_home=$Tomcat_home
workers.java_home=$Java_home
ps=\
worker.list=ajp13
            
worker.ajp13.port=8009        
worker.ajp13.host=$serverName
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Java_home改成JDK的安装目录;把$serverName改成主机名,没有设置虚拟主机的也可以写上IP地址。
十一、配置Tomcat虚拟主机
在Tomcat安装目录下的conf目录中打开server.xml文件,找到</Engine>标签,在它上面加入:
      <Host name="$serverName " appBase="$Apache_home\htdocs"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
         <Context path="" docBase="." debug="0"/><!--一定要有这一句,这一句设定当前目录为根目录 -->
      </Host>
你在应用中要把上面的$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址
注意:Tomcat虚拟主机的目录和Apache虚拟主机的目录一定要是同一个,主机名也一定要相同(即Tomcat中Host标签的appBase属性值要和Apache中VirtualHost标签的DocumentRoot要相同;即Tomcat中Host标签的name属性值要和Apache中VirtualHost标签的ServerName要相同;),只是端口不同而已,一个是80,一个是8080,否则在该问index.jsp时会有问题。
十二、测试
在虚拟主机根目录中加添加三个HelloWorld文件,分别为HelloWorld.aspx、HelloWorld.asp、HelloWorld.jsp测试一下:
HelloWorld.aspx:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head runat="server">
    <title>Hello World! - mod_aspdotnet</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <% Response.Write("<h1>Hello World!</h1>")%>
    </div>
    </form>
</body>
</html>
打开浏览器,在地址栏输入:http://$serverName/HelloWorld.aspx,把上面的$serverName改成主机名
如果正确输出Hello World!
说明你的配置是正确的,现在你可以在Apache中使用JSP了。
HelloWorld.asp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head>
    <title>Hello World! - Sun One ASP</title>
</head>
<body>
    <form id="form1">
    <div>
        <% Response.Write "<h1>Hello World!</h1>"%>
    </div>
    </form>
</body>
</html>
打开浏览器,在地址栏输入:http://$serverName/HelloWorld.asp,把上面的$serverName改成主机名
如果正确输出Hello World!
说明你的配置是正确的,现在你可以在Apache中使用JSP了。
HelloWorld.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head>
    <title>Hello World! - Tomcat</title>
</head>
<body>
    <form id="form1">
    <div>
        <% out.print ("<h1>Hello World!</h1>");%>
    </div>
    </form>
</body>
</html>
打开浏览器,在地址栏输入:http://$serverName/HelloWorld.jsp,把上面的$serverName改成主机名
如果正确输出Hello World!
说明你的配置是正确的,现在你可以在Apache中使用JSP了。
十三、注意
1、由于apache本身对于url的目录和文件名是大小写敏感的,所以asp.net的虚拟目录必须要注意大小写,否则访问的时候不会出错,不过将会找不到任何的文件,就像访问一个空的目录一样。除了虚拟目录名外,由于其它的aspx文件是mod_aspdotnet模块载入的,所以又仍然是非大小写敏感的。
原创粉丝点击