在unix/bsd上让apache支持asp


    在这里讨论这个问题,仅是为了研究,我个人认为,在unix上,让apache支持asp没有任何实际意义
    如果以前是在win上开发的asp,我想你就让到在win上好好用吧,不用费劲的移植到unix上了
    我是在solaris上测试的安装,其它系统,freebsd,linux和sco我想也差不多,忘大家测时候能反馈给我你的结果,谢谢
    好了,让我们开始吧
    下载相关软件
    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 -->;
    http://202.106.185.101/test.asp
    大家可以到这里看看效果
    good luck!
    参考文档
    http://www.apache-asp.org/install.html
    http://cpan.org/modules/by-module/Apache/Apache-ASP-2.49.readme
    http://perl.apache.org/docs/1.0/guide/getwet.html#Installing_mod_perl
    http://www.freelamp.com/new/publish/1015481268/index_html