在Windows操作系统要支持PHP,相信这类文章已经不少了。可是要在unix上,让apache支持asp能不能实现呢?当然了,实际中可能不太会有人这么去做,但作为一个想法,探讨一下技术也是不错的。
首先下载相关软件
apache_1.3.27.tar 下载:http://www.apache.org/dist
Apache-ASP-2.49.tar 下载:http://cpan.org/modules/by-module/Apache/
mod_perl-1.27.tar 下载:http://perl.apache.org/download/index.html
stable.tar(perl-5.8.0) 下载:http://www.cpan.org/src/
接着把上面的软件下载到一个目录,比如test
1:解压
#tar xvf apache_1.3.27.tar
#tar xvf Apache-ASP-2.49.tar
#tar xvf mod_perl-1.27.tar
2:安装apache
为了以DSO的方式安装mod_perl,所以要有so模块
#cd apache_1.3.27
#./configure --prefix=/usr/local/apache
#make
#make install
上面这样编译其实会有一些modules加不进来的,我们可以通过手动指定modules,各位可以用下面的命令安装apache
#./configure --prefix=/usr/local/apache --enable-module=auth_anon --enable-module=auth_dbm --enable-module=autoindex -
-enable-module=cgi --enable-module=expires --enable-module=expires --enable-module=proxy --enable-module=rewrite -
-enable-module=so
#make
#make install
检查安装的模块
#cd /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_access.c
mod_auth.c
mod_auth_anon.c
mod_auth_dbm.c
mod_proxy.c
mod_expires.c
mod_so.c
mod_setenvif.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexe
3:安装mod_perl
% make -v
% gcc -v
% perl -v
安装perl
插曲:由于测试机器perl版本不够,所以暂时升级了一下perl的版本,现在是v5.8.0
下载http://www.cpan.org/src/stable.tar
#tar xvf stable.tar
#cd perl-5.8.0/
#make
#make install
到sunfreeware下载pkg的安装也可以,可能还更简单
#cd mod_perl-1.27
看看DSO编译的语法
#grep DSO Makefile.PL
依葫芦画瓢:
#perl Makefile.PL EVERYTHING=1 DO_HTTPD=1 USE_APACI=1 USE_DSO=1 USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs
#make
#make install
测试mod_perl模块
启动apache
#telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
输入get Head /http /1.0
HTTP/1.1 400 Bad Request
Date: Wed, 25 Dec 2002 03:32:32 GMT
Server: Apache/1.3.27 (Unix) mod_perl/1.27
ok,mod_perl加上了
给perl安装asp模块,第一个方法是CPAN安装,另外一个是常规安装
CPAN安装
#perl -MCPAN -e shell
cpan> install CPAN
...
Installing the Apache::ASP bundle will automatically install all the modules
Apache::ASP is dependent on as well as Apache::ASP itself. If you have
trouble installing the bundle, then try installing the necessary modules one
at a time:
cpan> install MLDBM
cpan> install MLDBM::Sync
cpan> install Digest::MD5
cpan> install Apache::ASP
For extra/optional functionality in Apache::ASP 2.31 or greater, like
support for FormFill, XSLT, or SSI, you can install this bundle via CPAN:
cpan> install Bundle::Apache::ASP::Extra
也可以用常规的方法安装asp模块
Otherwise, just copy ASP.pm to
$PERLLIB/site/Apache
> perl Makefile.PL
> make
> make test
> make install
安装完毕,进行测试一下
在htdocs里vi一个test.asp,内容如下
<!-- sample here -->
<html>
<body>
For loop incrementing font size: <p>
<% for(1..5) { %>
<!-- iterated html text -->
<font size="<%=$_%>" > Size = <%=$_%> </font> <br>
<% } %>
</body>
</html>
<!-- end sample here -->