apache2和iasp构建ASP开发环境实战

由于ASP编程比较简单,所以在企业中有很多的简单应用都是基于在Windows 2000 Server+ASP+MSSQL上的。而这也是企业想把应用迁移到Linux环境的其中一大障碍。若要达到迁移的目的,通常有两种方式:

引用
1、把ASP改PHP,MSSQL换Mysql,效果好,性能稳定,可靠性强,但耗费时间比较多,费用比较高,用户不容易接受;
2、让ASP通过中间环境直接运行在Linux平台上,连接到独立的MSSQL上,这对用户的影响不大,容易接受,工作量相对较低,但可能因中间环境对ASP的支持不够完善,所以部分代码可能不能识别,须调整,需考虑成功率。


下面要实现的主要是指第二种方式。
通过努力,已经实现了红旗Linux+Apaceh+iASP+ASP连接到独立的MSSQL服务器上。性能和效果都不错,可供实际应用参考。
一、原理
要在Linux环境中运行ASP,需要依赖第三方的中间环境。通常有几种模式:

引用
1、Apache_ASP功能模块,兼容性不好,而且不能连接数据库,意义不大;
2、Instant ASP java模块(简称iASP),可支持Apache、Zenus等Web服务,可连接数据库,效果不错;
3、Sun one ASP模块,效果最好,但收费很贵,测试版只有30天试用期,而且速度慢。


而我选择的环境是:

引用
操作系统:红旗DC Server 5.0 for x86 SP3
Web服务:Apache 2.0
中间环境:iASP 2.1.1
java环境:Sun jdk
数据库环境:Windows 2000 Server+MSSQL 2000


※网上有不少基于iASP的资料,可惜资料都不太完整。而且该公司似乎已经关闭了(原来还有中文版本的),技术文档已经不容易找到了。下述的配置,我是依赖一些遗留文档“猜”出来的,若有问题,请大家指正。

二、配置java环境
考虑到iASP的搭建环境,从兼容性出发,选择Sun 1.4.2版本的jdk环境,可从下面获得:
Sun提供的链接
本地下载:


1、安装
解压:

引用
# sh j2re-1_4_2_15-linux-i586-rpm.bin
Unpacking...
Checksumming...
0
0
Extracting...
UnZipSFX 5.40 of 28 November 1998, by Info-ZIP (Zip-Bugs@lists.wku.edu).
 inflating: j2re-1_4_2_15-linux-i586.rpm


安装:

# rpm -ivh j2re-1_4_2_15-linux-i586.rpm


2、调整环境变量
红旗默认带有1.5.0版本的java环境:

引用
# whereis java
java: /usr/share/java
# java -version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)


让我们改过来:

# ln -s /usr/java/j2re1.4.2_15 /usr/java/j2re1.4.2


并修改/etc/profile.d/sun_java_sdk.sh,为:

引用
#jdkroot=/usr/lib/jdk
jdkroot=/usr/java/j2re1.4.2


保存后,重新登陆一次,再看看:

引用
# su - root
# java -version
java version "1.4.2_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_15-b02)
Java HotSpot(TM) Client VM (build 1.4.2_15-b02, mixed mode)

三、安装iASP 2.1.1
正如前面提到的,负责iASP开发公司的网站已经上不去了。下面提供下载地址:

1、解压
# mkdir iASP_dir
# tar xzvf iASP2.1.01.tar.gz -C iASP_dir/
iasp21.tar
install.sh
README

2、安装
# cd iASP_dir/
# ./install.sh

输入上述java环境的目录:
引用
Please enter the full path to your JDK's bin directory.
e.g. /usr/jdk1.1.6/bin, Q/q(quit), S/s(skip):
/usr/java/j2re1.4.2/bin

输入iasp的安装路径:
引用
Enter the absolute directory under which Instant ASP should be installed.
(./iasp21 will be created underneath.)
> /usr/iasp
Directory /usr/iasp does not exist,  create it (Y/N/Q)?
> y

※目录的最后都不要加“/”符号
对Web服务器进行配置,这里用得是Apache 2.0版本:
引用
Would you like to configure your web server for Instant ASP now [Y/N]?y
Do you want to continue (Y/N)? y

Please choose a servlet interface
[1]  Instant ASP native servlet interface
[2]  Apache JServ

Enter a number [1/2]: 1

***** Please select a web server  *****

[1]  Netscape
[2]  Apache
[3]  Xitami
[0]  Quit

Enter a number [0-4]: 2

*****    Please choice Apache version    *****

[1]  Apache 1.3.0
[2]  Apache 1.3.1
[3]  Apache 1.3.2
[4]  Apache 1.3.3
[5]  Apache 1.3.4
[6]  Apache 1.3.6
[7]  Apache 1.3.9
[8]  Apache 1.3.11
[9]  Apache 1.3.12
[10] Apache 1.3.14
[11] Apache 1.3.2X
[12] Apache 2.X
[0]  Quit

Note:  If you are using Apache Web Server higher version or have additional
      modules, such as Front Page Server Extensions, Raven SSL, or you are
      using Apache Strong Hold Server. Please configure iASP according
      to <iASP_Home>/bin/apache/source/readme.txt

Enter a number [0-10]: 12

Please enter the path to the Apache /conf directory > /etc/httpd/conf

setting for "Proxy host IP address" <127.0.0.1>
setting for "Proxy port" <9098>
setting for "Server manager port" <9095>

"httpd.conf"configuration completed.

Would you like to configure another web server (Y/N)? n

Configuration successful.
You can access the Instant ASP documentation and samples
from the virtual directory /iasp/

结果:
引用
Server Information:

iASP Path:          /usr/iasp/iasp21
iASP Version:       2.1.01
OS Name:            Linux  2.6.9-42.7AXsmp
Host IP:            192.168.228.250
Java Path:          /usr/java/j2re1.4.2_15
Java Version:       1.4.2_15
Java Vendor:        Sun Microsystems Inc.
iASP License:       No License

3、配置
如果这个使用启动Apache,会报错:
引用
# service httpd start
启动 httpd:httpd: module "mod_iasp.c" is not compatible with this version of Apache (found 20020329, need 20020903).
Please contact the vendor for the correct version.
                                                          [失败]

这是由于iasp自带的模块是基于20020329的Apache版本编译的。所以加载失败。我们需要手动的为当前版本配置一个新模块:
# cd /usr/iasp/iasp21/bin/apache/source/2.0/
# apxs -i -c *.c

新生成的模块放在:
引用
/usr/lib/httpd/modules/mod_iasp.so

修改/etc/httpd/conf/httpd.conf文件为:
引用
#LoadModule iasp_module "/usr/iasp/iasp21/bin/apache/linux/2.0/mod_iasp.so"
LoadModule iasp_module "/usr/lib/httpd/modules/mod_iasp.so"

启动Apache即可:
# service httpd start
引用
启动 httpd:                                    [  确定  ]

4、启动
启动iasp代理模块:
引用
# /usr/iasp/iasp21/start-server.sh &
logging to stdout
iASP/2.1.01 started
[1] 13846

监听端口:
引用
# netstat -ln&#124;grep 9098
tcp        0      0 :::9098                     :::*                        LISTEN

停止:
引用
# /usr/iasp/iasp21/stop-server.sh
iASP server stopped

四、测试ASP在Linux上的运行
1、创建asp源代码
在/var/www/html/目录下创建一个test.asp文件:
引用
<html>

<head>
<title>Test iASP</title>
</head>

<body>
<%
Response.Write "<BR><h1>Congradulations!<BR>Instant ASP has worked for you!</h1>"
%>
</body>
</html>

接下来,您可以修改httpd.conf中的配置,增加虚拟主机、虚拟目录、默认字符集、默认index.asp文件等Apache功能,以实现更多元化的工作。甚至在一台服务器上同时运行php和asp模块也是没有问题的。
除了简单的ASP代码外,接下来要做的,就是连接数据库的事情。

 

 

 

 

 

 

自从MS推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在很多
Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及到数据库操作的网站应用系统更是倾向于采用ASP
技术。但由于众所周知的原因,ASP只能工作于MS自己的操作系统平台和服务器软件之下,即只能在WindowsNT+IIS系列
或Windows9X+PWS系列中使用,因而就决定了ASP应用的局限性。据有关资料显示,采用Windows操作系统平台和服务器软件
的网站在15%左右,也就是说有将近85%的网站将不能采用ASP技术。实际上,很多网站采用的是Unix、Linux、Soris
和Netware等操作系统及相应的服务器,这说明ASP技术在应用上确实有很大的限制。

  最近,一家名为“Halcycon”的软件公司,不仅看到了ASP应用系统的优势和局限性,而且提出了“ASP Anytime,
Anywhere”的口号,并开发了一个称为iASP(Instant ASP)的ASP脚本解释引擎软件,使ASP不仅可以在采用Windows操作
系统平台和服务器软件的网站上使用,还可以在采用其它操作系统如Unix、Linux、Soris、Netware操作系统及相应服务器
的网站上使用。iASP全面继承了ASP的优势,并与ASP完全兼容,因而ASP应用系统几乎可以直接移植到非Windows操作系统
平台下的iASP环境中运行,使得ASP应用系统真正成为了一种跨平台的Internet、Intranet或Extranet应用系统。

  iASP与ASP相比,不仅在支持操作系统平台上具有优势,在使用第三方组件构建ASP应用系统上同样具有明显的优势。
iASP不仅支持流行的ActiveX组件,同样支持流行的Enterprise Java Beans组件和CORBA兼容组件,从而使用ASP应用系统
功能更为强大,应用更为广泛。除了MS Visual系列开发工具和Borland系列开发工具外,还可以用Java系列开发工具,让
组件开发人员有更多的选择从而可以更为得心应手地开发有关组件。

  iASP有两种版本,一种适用于Windows操作系统平台和服务器软件,另一种适用于Unix、Linux、Soris、Netware操作
系统及相应服务器软件。iASP目前的版本为1.0,其开发版本可以在“Halcycon”的软件公司网站上免费下载,其功能与正
式版本相比基本相同,区别在于开发版本只支持两个并发连接,因而只能用于ASP学习和开发或用在比较小的Intranet局域
网系统中,想在网络特别Unix、Linux局域网络中使用ASP的网络开发人员不妨去下载一个试用一下,文件大小有6M多。

  下面是笔者在搭建iASP开发环境时安装与配置iASP软件的一些经验,希望给初用者做个参考,从而少走弯路,多做些
有意义的工作。

一、iASP软件环境要求

iASP软件是用JAVA程序语言编制而成的,需要JDK1.1.X或以上版本的支持,因而需要服务器系统上预先安装JDK1.1.X或以
上版本。Linux平台下的JDK1.1.X可以在http://xfer.nitric.com/pub/java-linux/下载,基于Windows9X/NT平台的
JDK1.1.X的下载地址为ftp://202.103.111.173/Download/DEVELOP/JAVA/jdk1_1_1-win32-x86.exe。

二、iASP安装程序支持的系统平台和服务器软件

iASP软件是用JAVA程序语言编制而成的,原则上可运行在所有JAVA平台上。
iASP可自动配置服务器软件,使之能使用iASP解释引擎解释ASP页面;iASP可以使用Halcycon软件公司开发的iASP Servlet
接口与服务器进行连接和通信,也可以使用其它Servlet接口与服务器进行连接和通信。下面是Halcycon软件公司的工程技
术人员已证实支持较好的系统平台和服务器软件的列表。

(一)Sun Solaris Sparc系统平台
1、Apache服务器软件
iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎
解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件
iASP可对FT3.0.X、EP3.5.X、EP3.6.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之
连接和通信。
3、Sun Web Server2.1服务器软件
iASP可对Sun Web Server2.1服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;
     并通过服务器软件的Servlet接口与之连接和通信。
4、Zeus服务器软件
iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和
     Apache JServ Servlet接口与之连接和通信。

(二)Sun Solaris Intel系统平台
1、Apache服务器软件
iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自
     动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Sun Web Server2.1服务器软件
iASP可对Sun Web Server2.1服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;
     并通过服务器软件的Servlet接口与之连接和通信。
3、Zeus服务器软件
iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和
     Apache JServ Servlet接口与之连接和通信。

(三)Novell Netware系统平台
Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件
iASP可对FT3.0.X、EP3.5.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Novell
    Servlet Gateway接口与之连接和通信。

(四)SCO Unixware系统平台
1、Apache服务器软件
iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自
     动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件
iASP可对FT2.0.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet
     接口与之连接和通信。

(五)Linux Intel系统平台
1、Apache服务器软件
iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自
     动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Zeus服务器软件
iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和
     Apache JServ Servlet接口与之连接和通信。

(六)Windows9X/NT系统平台
1、Apache服务器软件
iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自
     动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件
iASP可对FT3.0.X、EP3.0.X、EP3.6.X进行自动配置使之使用iASP解释引擎解释ASP页面;并
     通过iASP中的Servlet接口与之连接和通信。
3、Internet Information Server服务器软件
iASP可对Internet Information Server服务器软件进行自动配置使之使用iASP解释引擎解释
     ASP页面;并通过iASP中的Servlet接口与之连接和通信。
4、Lotus Domino服务器软件
iASP可对Lotus Domino服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过
     Lotus Domino服务器软件自有的Servlet接口与之连接和通信。
5、Java Web Server服务器软件
iASP可对Java Web Server服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通
     过Java Web Server服务器软件自有的Servlet接口与之连接和通信。

(七)HPUX系统平台
Zeus服务器软件
iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和
     Apache JServ Servlet接口与之连接和通信。

(八)SGI系统平台
Zeus服务器软件
iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和
     Apache JServ Servlet接口与之连接和通信。

三、用iASP构建ASP应用系统环境

假设系统中已经正常安装和配置了TCP/IP等网络协议。
下面以RedHat Linux 5.1和Apache 1.3.3服务器软件为例,讨论如何安装和配置iASP,以建立一个
ASP开发和应用环境。

(一)、安装Apache 1.3.3服务器软件
1、卸载Apache 1.2.6服务器软件
如果当前使用的是RedHat Linux 5.1自带的Apache服务器软件,则其版本号为1.2.6-4(用
命令httpd -v可以查看Apache服务器软件的版本号),不在iASP自动配置程序支持的服务器范
围之内,因而需要将其卸载,以便重新安装Apache 1.3.X服务器软件。
在“控制面板”的Package Management(包管理)中打开Network(网络)中的Daemons(
服务程序),选择“apache1.2.6-4”,单击Uninstall(卸载)可将其卸载。
2、安装Apache 1.3.3服务器软件
       如果手头没有Apache 1.3.X服务器软件,可以到http://apache.nextpath.com/dist/
apache_1.3.6.tar.gz下载一个。
笔者手头有一个Xteam Linux 1.0的光盘,其中有Apache 1.3.3服务器软件的发行版本,
位于光盘的/xteam/pack目录下,文件名称为apache-1.3.3-1.i386.rpm。用命令
rpm -i /mnt/cdrom/xteam/pack/apache-1.3.3-1.i386.rpm可完成安装。

3、启动Apache 1.3.3服务器软件
可以用命令httpd来启动Apache 1.3.3服务器软件。启动Apache 1.3.3服务器软件后可以
用Netscape Communicator浏览器以http://YourComputerName的方式如http://localhost来
访问Apache 1.3.3服务器软件提供的WWW服务。默认的页面为index.html,通常位于“/home/
httpd/html”目录中(该目录是Apache的WEB发布目录,相当于IIS或PWS系统中的
c:/inetpub/wwwroot),页面的主题为“It Worked”,表明Apache已能正常工作,可以进行
iASP的配置工作了。

(二)、安装JDK1.1.X
iASP的运行要依赖JDK1.1.X或以上版本,要求系统中必须安装JDK。
1、确定C运行库的类型
Liunx/Unix版本的JDK一般有libc5和glibc两个版本,以适应不同Liunx/Unix系统中的C运行
库版本。用命令“ls -l /lib/libc.so.*”可以列出C运行库文件,若“*”处的字符为“5”
则表示C运行库类型为libc5,为“6”则表示C运行库类型为glibc。笔者所用的RedHat Linux
5.1的C运行库类型为glibc。
2、安装JDK1.1.X
笔者在http://xfer.nitric.com/pub/java-linux/处下载JDK1.1.7的glibc版本,并将其改名
    jdk117.gz。将jdk117.gz复制到/usr/local目录下,进入/usr/local目录,用“tar -xvzf
    jdk117.gz”命令将文件解压即完成JDK1.1.7的安装,安装目录为/usr/local/jdk117_v1a。

(三)、安装iASP
笔者在http://www.halcyonsoft.com/asp/iasp_fcs.tar.gz处下载了Linux/Unix版本的iASP,并改
  名为iasp_lnx.gz,并复制到/usr/local。
用命令“tar -xvzf iasp_lnx.gz”将文件解压,可产生install.sh和iasp.tar两个文件。进入
  /usr/local目录,运行./install.sh,按照安装程序提示完成iASP的安装。
    在安装过程中,需要指定JDK的BIN目录(/usr/local/jdk117_v1a/bin)和iASP安装目录
(/usr/local)。在安装过程完成后,会选择是否开始对Web服务器进行配置,配置过程在下面讨论,选
  择“N”结束安装。此时iASP被安装在目录/usr/local/iasp下,有五个文件的作用值得注意。
connector.sh:启动iASP自动配置向导 start-server.sh:启动iASP代理服务器
stop-server.sh:关闭iASP代理服务器 start-admin.sh :启动iASP远程管理服务器
    stop-admin.sh :关闭iASP远程管理服务器

(四)、配置iASP
1、关闭Web服务器
      在进行iASP配置前,应首先关闭Web服务器软件。可以用任何方式关闭Apache 1.3.3服务器软件。
2、配置iASP
      iASP配置向导程序可为Apache服务器软件、Netscape Enterprise服务器软件、Internet
Information Service服务器软件进行自动配置,而Zeus、Sun Web Server服务器软件则不需要配置。
在/usr/local/iasp下,运行./connector.sh启动iASP配置向导程序。选择“Y”开始配置;
选择服务器软件及版本号(8:Apache 1.3.3)、Apache配置文件httpd.conf所在目录
(/etc/httpd/conf),其它可保持不变(按回车键采用默认设置)。在提示是否进行另一个服务器的配置时,选择
“N”,完成配置。

(五)、测试iASP
1、启动iASP服务器
    iASP服务器是一个Connector Proxy代理服务器软件,用于与服务器软件进行通信。
进入XWindows,打开一个nxterm窗口,在目录/usr/local/iasp下运行./start-server.sh,
    启动iASP Connector Proxy代理服务器程序。
2、测试iASP
    启动Apache 1.3.3服务器软件。将一个ASP页面文件拷到Apache页面发布目录“/home/httpd/
html”目录中,并用Netscape Communicator浏览器进行访问,如可用“http://localhost/
test.asp”访问ASP文件test.asp,其内容如下:
<html>

<head>
<title>Test iASP</title>
</head>

<body>
<%
Response.Write "<BR><h1>Congradulations!<BR>Instant ASP has worked for you!</h1>"
%>
</body>
</html>
  至此,Apache 1.3.3服务器软件已经可以用iASP解释引擎解释和执行ASP页面了。现在该你来自由发挥聪明才智了。

  另外,开发研制国内第一个中文版Linux--Xteam Linux1.0的形天海公司宣布,他们即将发布ADO引擎的linux版本,可
以使在Windows9X/NT上开发的ASP应用系统可直接运行于Linux平台,有兴趣的网络应用程序开发人员可以到形天海公司站
点( http://www.xteam.com.cn )去了解其产品的动态,也让我们为国内软件开发公司加油和喝彩。

 

 

 

ubuntu新手用apache2iasp构建ASP开发环境实战

从网上了解到ubuntu最近发行了版本号为7.04的新版本,该版本的性能、界面和易用性都获得了很多网友的好评。按捺不住好奇心,遂上网下载了一份LiveCDISO文件,刻盘,安装到了我的惠普v3009tu笔记本电脑上,开始了我的ubuntu之旅。
经过几天的试用之后,发现ubuntu 7.04的确不错,使我几乎有了放弃windows的冲动。但很快发现有许多在windows上的应用现在在ubuntu上实现起来还是比较麻烦的。
本人常在windows下学习开发ASP的网站,离开windows,这ASP还能用吗?上网一查,嘿!还真有办法实现。下面就将自己在该版本ubuntu上构建ASP开发环境的艰苦之旅描述一下。
一、硬件准备:没什么可说的,惠普v3009tu笔记本电脑。
二、操作系统安装过程:从ubuntu 7.04 LiveCD安装,原先电脑上有windows xp mce 2005,当然是构建双系统啰,安装过程中选择手动分区,将原来windows xp下的扩展分区(原来只有第一个分区是主分区,即windows中的C盘)中的E盘(约15G)删除,重新分三个区,分别挂载为根分区“/”“/home”swap,组件选择中我增加了gcc,其他过程略去。
三、资料查找过程:
我萌发构建ASP环境之后,首先想到的就是上网去查找资料,用百度去搜索(百度有百度快照,对查看过期信息很有用),发现关于这方面的资料实在是太少了,费了三四个小时,才找到了一些零零碎碎的信息。其中有一篇文章多次被搜索到,但大多支离破碎,只有这个网址http://www.djhui.cn/blog/post/23.html的还算完整,更重要的是该页面下方提供了一个下载该文中提到的关键软件“iasp”的有效链接http://www.linuxeden.com/download/data/soft/1083.html。真是万幸!
四、实战第一阶段:
我从上面那个链接中将iasp下载了回来,开始了我的艰苦之旅
首先,我将下载回来的“iASP2.1.01.tar.gz”压缩包放到“/home”目录,在右键菜单中选解压缩到此处,得到文件夹“iASP2.1“,打开,看到三个文件:iasp21.tarinstall.shreadme。马上用文本编辑器打开“readme”,仔细阅读了起来。
“readme“中得知,该软件是由一家叫“stryon“的公司开发的,但奇怪的是当我想获取更多关于此软件的资料而去访问“readme“中提供的公司网址,却死活都打不开,去搜索关于该公司的资料,也几乎没有。真是奇怪,怀疑它是不是已经倒闭了或被卖给别人了。不管他。
“readme“
中提到的这样几点我特别留心了一下:
1
、系统中必须安装有Java Development Kit (JDK) 1.1.7或以上版本的软件,对Linux系统,强烈建议安装可用的、最新的JDK
2
iasp 2.1.01版(也就是我下载回来的版本)完全支持apache2.0
3
、要为你的Linux上的系统获取一个自由的许可证,请访问他们的公司网站(网站都打不开了,怎么获取啊?后面还有个电话和传真,我就不打了)。
根据readme提示,我用新立得软件包管理器安装了“apache2“(版本显示是2.0.55-4)和”sun-java6-jdk“(版本显示是6.0)。
装好后,想到最好测试一下这两个软件。可怎么测试呢?我连软件装到哪儿去了都不知道。还是上网查,结果查到的又是些支离破碎的资料,又费了我好多时间。
先说apache2测试,资料说apache2安装位置是在“/usr/local/apache2”,启动方法是在终端中输入“sudo /usr/local/apache2/bin/apachectl start“。可我在“/usr/local/apache2“中根本就找不到“bin“目录(还有资料说的“conf“目录在这也找不到),真是奇怪了!用ubuntu面板上的位置-搜索文件…”功能搜索,也找不到(顺便提一下,ubuntu的搜索功能给人感觉不好使)。后来还是在linuxsir.org上找到了一篇《apache2安装与配置》的文档(http://www.linuxsir.org/main/?q=node/229),比较完整。用该文档中所说方法,终端中输入“sudo /etc/init.d/apache2 start”启动apache2成功。中间会提示没有主机名,用127.0.0.1做主机名,这是因为没有apache2没有配置,没关系,我现在只要apache2能启动成功就行了。打开浏览器浏览“http://127.0.0.1/”,内容出来了。兴奋了一会儿!但心中一直奇怪为什么和有些资料上说的不一样,会不会一个是在以Redhat为代表的linux中的情况,而另一个是在以Debian为代表的linux中的情况呢?
再说jdk的测试,又是找了半天才在“/usr/lib/jvm/java-6-sun-1.6.0.00/”下找到了,终端中进入该目录中的“bin“目录,运行”sudo java -version“,显示如下:
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
测试成功。
既然这两款软件安装成功了,下面就该安装iasp了。
五、实战第二阶段:
终端中进入前面提到的“/home/iASP2.1“文件夹,根据“readme“的提示,运行”sudo ./install.sh“,过程如下:

***********************************************************************
* Instant ASP(tm)2.1.01 Enterprise Edition Install *
* *
* Instant ASP(tm)2.1.01 requires Java Development Kit(preferably the *
* latest version for your operating system)for its operation.Zeus and *
* SWS Beta users may skip the following step. *
***********************************************************************

i686

Please enter the full path to your JDK's bin directory.
e.g. /usr/jdk1.1.6/bin, Q/q(quit), S/s(skip):
>
(输入了我前面找到的“/usr/lib/jvm/java-6-sun-1.6.0.00/bin”

Enter the absolute directory under which Instant ASP should be installed.
(./iasp21 will be created underneath.)
>
(输入安装“iasp”的目录,我输入了“/usr/local”,这样程序会在此目录中自动建一个“iasp21“的目录,程序就被安装到了这里)

接着提示安装结束,并询问是否配置web服务器。输入“n“,结束安装。

安装过程可谓是一帆风顺,接下来开始配置iasp

先终端中运行“sudo /etc/init.d/apache2 stop”,停止apache2服务。接着进入iasp的安装目录“/usr/local/iasp21“,用“ls“命令查看一下有什么东西,显示如下:
admin default.html index.html README_EN stop-admin.sh
bin docs lib servlets stop-server.sh
connector.sh icon logs start-admin.sh
default.htm index.htm properties start-server.sh

这里,connector.sh是配置程序,stop-server.sh是启动iasp服务,start-server.sh是停止iasp服务,start-admin.sh是开启远程管理,stop-admin.ah是关闭远程管理。
我运行“sudo ./connector.sh”,开始iasp提供的web服务器配置,过程如下:

*************************************************************************

Welcome to Instant ASP connection wizard. This wizard will
allow you to configure Instant ASP for one or more web servers.
Copyright 1998-2001 Halcyon Software, Inc.

*************************************************************************


Do you want to continue (Y/N)?
(输入“y“


Please choose a servlet interface
[1] Instant ASP native servlet interface
[2] Apache JServ

Enter a number [1/2]:
(输入“1”

***** Please select a web server *****

[1] Netscape
[2] Apache
[3] Xitami
[0] Quit

Enter a number [0-4]:
(输入“2”

***** Please choice Apache version *****

[1] Apache 1.3.0
[2] Apache 1.3.1
[3] Apache 1.3.2
[4] Apache 1.3.3
[5] Apache 1.3.4
[6] Apache 1.3.6
[7] Apache 1.3.9
[8] Apache 1.3.11
[9] Apache 1.3.12
[10] Apache 1.3.14
[11] Apache 1.3.2X
[12] Apache 2.X
[0] Quit

Note: If you are using Apache Web Server higher version or have additional
modules, such as Front Page Server Extensions, Raven SSL, or you are
using Apache Strong Hold Server. Please configure iASP according
to /bin/apache/source/readme.txt

Enter a number [0-10]:
(输入“12”

Please enter the path to the Apache /conf directory >
输入apache2的配置文件“httpd.conf“所在目录,到这里我犯难了。资料上说的都是在”/usr/local/apache2/conf“下,但我的apache2安装后根本就没有这个目录,还是linuxsir.org上的那篇文章帮了忙,我在我的电脑的“/etc/apache2”目录下找到了它。所以我在这里输入了etc/apache2“

setting for "Proxy host IP address" <127.0.0.1>
(直接回车)
setting for "Proxy port" <9098>
(直接回车)
setting for "Server manager port" <9095>
(直接回车)

"httpd.conf"configuration completed.

Would you like to configure another web server (Y/N)?
(输入n

Configuration successful.
You can access the Instant ASP documentation and samples
from the virtual directory /iasp/

看起来一切顺利。
我马上运行“sudo /etc/init.d/apache2 start“OK,再进入“/usr/local/iasp21”,运行“./start-server.sh”OK
我立马打开浏览器浏览“http://127.0.0.1/iasp“,哇!iasp的默认页面出现了!太兴奋了!
点击左边的链接看看,都正常;欸,有个“Samples“,一定是例子,快打开看看,嗯,页面出来了,右边出现一个表格,我点了第一个“General”,又出现一个表格,第一个是“HelloWold“的测试,每个测试又都分“Vbscrip“”Jscript“,我当然选“Vbscript”啰,“view“是查看源代码的,“run”则是运行ASP文件的,我点“run“,不幸的事情发生了——出来的是源代码!
费了九牛二虎之力,换来的是这么个结果!问题出在哪儿呢?
六、实战第三阶段
难道是apache的版本不对?可iasp“readme”中说的是“full supports Apache2.0“啊!不行,再来一遍!将apache2卸载,将“/usr/local/iasp21“删除,重来一遍,非常小心地又重来了一遍,问题依旧!
肯定是iaspASP引擎没有起作用啊,怎么办?此时已是深夜1点!接着来。前面那篇文章用的软件版本和我这个不一样,换成和他的一样的!于是,又将apach2卸掉,重新用新立得装上apache 1.3.34版,重新来过,又折腾了半天,问题依旧!看来问题的原因不在软件的版本上。
想到我前面找半天没找到apachebin目录,我想难道我通过新立得安装的软件不全?这样,我去apache的官网下载软件包回来自己装,看看如何。于是把apache2.0.59下了回来(没敢下2.2.4的版本)。
把下回来的文件放在“/home“目录,解压,得到httpd-2.0.59目录,进入,发现一大堆文件,其中有INSTALL,用文本编辑器打开,仔细阅读了起来。其中这句“If you are building on Mac OS X (Darwin), make sure to use libtool 1.4.2 or newer.”引起了我的注意,查看我的系统,确实没装“libtool”。马上用新立德装上了“libtool 1.5.22-4“
接着终端中进入“/home/httpd-2.0.59“目录,根据INSTALL中的提示,开始安装apache2.0.59。过程如下:
sudo ./configure --prefix=/usr/local/apache2
sudo make
sudo make install
安装过程还是很顺利,成功了。
这次是自己手动安装的,我明确知道了apache2装在了哪儿,马上进入“/usr/local/apache2”,浏览了一下,发现果然和通过新里得安装的不一样,有了confbin等十几个目录。进入bin,也发现了apachectl文件,用这个启动看看,运行“sudo /usr/local/apache2/bin/apachectl start”,又成功了!浏览器浏览“http://127.0.0.1“,显示的页面中有您能看见这个页面,说明Apache web server 已经安装成功。的提示,也成功了!
安装好apache2后,再重新安装并配置iasp,过程一切正常!不过在准备重启动apache2后,新问题出现了——apache2启动不了!出错提示什么mod_iasp.c is not compatible with this version of Apache (found 20020329,need 20020903),应该是mod_iasp.c的版本不对。难道又是软件版本的问题?
七、实战第四阶段
头疼啊!此时是深夜2点了!还干吗?干吧,反正明天没什么事。于是就又去上网查原因,可网上关于此问题的资料依然是难觅踪影,好不容易发现了一个帖子说什么iasp的确是支持apach2的,但要自己重新编译mod_iasp.c的文件,具体在iasp的安装目录中的“/user/local/iasp21/bin/apache/source/2.0/readme.txt”文件中有说明。打开该文件一看,果然如此!文件中有一段说明如下:
If you are using Apache Web Server and have additional modules
such as Front Page Server Extensions, Raven SSL, or you are
using Apache Strong Hold Server, you need to build the iasp
module for Apache Web Server according to the following steps:

*************************************************************
* Compile iASP module for Apache 2.0 on UNIX *
*************************************************************


1. Compile the iasp module with following command:

[Apache-Root]/bin/apxs -i -c *.c

then mod_iasp.so is copied to [Apache-Root]/libexec/

2. Configure the iasp in apache configuration file:

LoadModule iasp_module "[Apache-Root]/libexec/mod_iasp.so"
Alias /iasp "[iASP-Root]"
IaspConfig server "[iASP-Root]/properties/server.properties"
IaspConfig rules "[iASP-Root]/properties/rules.properties"

3. Restart Apache and iasp server.

NOTE: [Apache-Root] is Apache installed path.
[iASP-Root] is iASP installed path.

马上就按该文件中的提示来做啊!运行“sudo /usr/local/apache2/bin/apxs -i -c *.c“,但是,不成功!报错:
……
libtool: compile: libobj name `*.lo' may not contain shell special characters.
gcc: *.c: No such file or directory
gcc: no input files
apxs:Error: Command failed with rc=65536
.
八、实战第五阶段
晕倒啊!查看“/usr/local/apache2”目录,没有readme.txt中所说的“libexec”目录啊,这是为什么呢?而我看出错提示,好像是说没有*.c的文件啊。这个.c的文件在哪儿呢?我在“/usr/local/apache2”的反反复复的找,就是找不到.c类的文件。怎么回事呢?
人已非常困了,我在文件管理器中乱点那些目录,翻来翻去,笔记本电脑屏幕的亮光刺的眼睛很难受,人愈发得困了!不由得恨起来ubuntu系统中居然不能正常使用我的惠普笔记本的fn+f7fn+f8键来调节屏幕亮度(这个问题也困扰了我两天,调节亮度要么是最亮,要么是最暗,更要命的是,这个功能还时灵时不灵,要它暗的时候它就是不暗!不过笔者写这篇文章时已通过软件变通解决了部分问题,虽然麻烦些)。就这么昏昏沉沉的,突然,眼前一亮,我发现了*.c文件!马上振作起来,是的,没错,.c文件,在“/user/local/iasp21/bin/apache/source/2.0“中呢!mod_iasp.c它在那儿看着我笑呢!
找到这个文件,我似乎是突然间就明白了,我刚才都是在这个目录之外在执行编译的,那怎么能找到.c文件呢!看我笨得!我马上在终端中“cd /user/local/iasp21/bin/apache/source/2.0“
重新执行“sudo /usr/local/apache2/bin/apxs -i -c *.c“,成功!马上到apache2安装目录中去找libexec目录,可惜,我没有找到!看看编译成功的提示,输出的文件原来并没有放到什么libexec目录,而是放到了apache2modules目录中,打开一看,果然在那儿呢!这回我想应该没问题了!马上运行“sudo gedit /user/local/apache2/conf/httpd.conf”,将“LoadModule iasp_module "/user/local/iasp21/bin/apache/linux/2.0/mod_iasp.so"”这句改成了“/user/local/apache2/modules/mod_iasp.so”,保存。
看来这个该死的“readme.txt”文件,它也不说清楚点儿!
重启apache2,重启iasp,这次再也看不到ASP“<% %>”了!看看“HelloWorld“吧!

世界是多么美好啊!
一看时间,天哪!凌晨4点多了!赶快去睡觉吧!要不明天老婆孩子老头老娘就又要开我的批斗会了!
唉!折磨人的Linux啊!

九、补遗:
  后来又发现一个问题,就是我的ASP只能运行一会儿,然后就出现服务无法连接的提示,好像是iasp运行一会儿就停止了。经检查,是因为我在终端中运行的iasp,把终端窗口关了,iasp服务就停止了。我后来在桌面创建了一个到“/usr/local/iasp/start-server.sh“的启动器,通过它来启动就没有问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值