本文标签:

前言:本人用了phpnow、apm、WampServer等大部分集成Apache、php、mysql的软件,想完全的支持asp,都没有做成功,但是有相关的资料,和大家分享。有一个插件ActiveHTML支持asp,但是我试了,也不好用,总之太麻烦了,所以后来还是用的IIS+php+mysql(请看我的本分类中的另一篇文章)。如果不使用asp当然就非常容易了,而且很好用,但是我还是想使用asp,折腾了一天多,还是没戏,能运行,但是有的只支持一个asp网站,有的有其它问题,郁闷啦!不玩了!如果哪位高手有好的方法使之完美支持asp,请告知,不胜感激!

注解:
本文是基于WampServer 2.X套件讨论的,但适用于所有的Apache。其实我们也只是对WampServer中的Apache模块做了修改,使其能够支持ASP/ASP.NET。本文中Apache版本为2.2.8,WampServer 的目录地址为D:\wamp\ 。文中提及的配置文件.conf 及其mod,ActiveHTML,于文末提供下载。

ASP.NET
让Apache支持ASP.NET比较简单,使用apache.org里提供的mod_aspdotnet即可。地址是:http://httpd.apache.org/modules/

    说一下配置:首先下载mod_aspdotnet 。然后将其mod_aspdotnet.so释放到apache 的/modules/ ,如D:\wamp\bin\apache\apache2.2.8\modules 。然后,我们需要建立一个mod_aspdotnet 单独的配置文件.conf,如httpd-aspdotnet.conf,写好后放入apache的/conf/extra/中,这样比较规范。httpd-aspdotnet.conf,如下

XML/HTML代码

1. # Load asp.net module   

2. LoadModule aspdotnet_module "modules/mod_aspdotnet.so"   

3.    

4. # Set asp.net extensions     

5. AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo   

6.    

7. # 其中"D:/wamp/www/aspx" 为我们的ASPX的文件的目录。需自己修改。:)  

8. <IfModule mod_aspdotnet.cpp>   

9.    # Mount the ASP.NET /ASP application   

10.   AspNetMount /ASP "D:/wamp/www/aspx"   

11.     

12.   # Map all requests for /ASP to the application files   

13.   Alias /ASP "D:/wamp/www/aspx"   

14.     

15.   # Allow asp.net scripts to be executed in the /ASP folder   

16.   <Directory "D:/wamp/www/aspx">  

17.     # Set asp.net options  

18.     Options Indexes FollowSymLinks Includes +ExecCGI  

19.     # Set asp.net permissions     

20.     Order allow,deny   

21.     Allow from all   

22.     # Set asp.net default index page to .aspx and .htm   

23.     DirectoryIndex index.aspx index.htm   

24.    </Directory>   

25.   

26.   # Set aspnet_client files to serve the client-side helper scripts. 这里为我们的ASP.NET_Framework的安装地址,需自己修改。  

27.   AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles/$4"   

28.   <Directory "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles">   

29.     Options FollowSymlinks   

30.     Order allow,deny   

31.     Allow from all   

32.   </Directory>   

33. </IfModule>   

这样写好httpd-aspdotnet.conf后放入apache的/conf/extra/中,然后修改apache的主配置文件,/conf/httpd.conf 在其中适当位置加入代码

XML/HTML代码

1. # ASP.net ,写在httpd.conf 最后适当的位置。 只是为了规范。

2. Include conf/extra/httpd-aspdotnet.conf

然后,重启apache,现在/www/aspx/目录已经可以解析.aspx文件了。:)

ASP

    让Apache完美的支持asp,目前网上也没有好的解决办法,很多东西都还是商业的,以前有个mod可以用,但只能用在apache1.X上,很老的东西了。 我找寻了很久也没有免费的解决办法。无意间得知phpnow有个插件可以支持asp,马上下载下来玩了一下,终于成功让这个插件脱离phpnow,使其支持任意的Apache。其实phpnow也是提取了试用版的ActiveHTML,效果还不错,我比较满意。

        过程如下:首先下载这个phpnow版的ActiveHTML,释放在一个适合的位置,如D:\wamp\bin\ActiveHTML\ ,ActiveHTML需要注册几个.dll,进入CMD在ActiveHTML目录,执行如下命令

XML/HTML代码

1. # 进入CMD在ActiveHTML目录,执行如下命令

2. regsvr32.exe /s slASP3.dll  

3. regsvr32.exe /s slDispatch.dll  

4. regsvr32.exe /s MSXML4.dll  

5. regsvr32.exe /s MSXML4R.dll

然后,同样的我们需要为ActiveHTML写一个配置文件.conf,如httpd-ahtml.conf,如下

XML/HTML代码

1. ##################################################  

2. #   Uncomment the following lines if you want  

3. #   to use Authorization environment-variables  

4. #   You may implement you own user   

5. #   authentication using LOGON_USER and  

6. #   LOGON_PASSWORD in your scripts (Login.asp)  

7. ##################################################  

8. LoadModule rewrite_module modules/mod_rewrite.so  

9. RewriteEngine On  

10. RewriteCond     %{HTTP:Authorization}   ^(.*)$ [NC]  

11. RewriteRule     /.*             -       [E=HTTP_AUTHORIZATION:%1]  

12. ##################################################  

13.   

14. # Supports Imagemaps  

15. AddHandler imap-file map  

16.   

17. ##################################################  

18. #   Do not allow access to global.asa  

19. ##################################################  

20. <Files ~ "global.asa">  

21. Order allow,deny  

22. Deny from all  

23. Satisfy All  

24. </Files>  

25.   

26.   

27. ##################################################  

28. #   Add ActiveHTML-Handler 其中”D:/wamp/bin/ActiveHTML“ 为ActiveHTML释放的目录,需自己修改。

29. ##################################################  

30. ScriptAlias /asp_bin "D:/wamp/bin/ActiveHTML"  

31. Action ActiveHTML "/asp_bin/AHTML.exe"  

32. AddHandler ActiveHTML .asp  

33. DirectoryIndex index.asp default.asp  

34.   

35.   

36. ##################################################  

37. #   Add Sampledirectory Alias 其中"D:/wamp/www/asp/"为asp文件所在的目录,需自己修改。

38. ##################################################  

39. <Directory "D:/wamp/bin/ActiveHTML">  

40. Options Indexes MultiViews FollowSymLinks  

41. AllowOverride None  

42. Order allow,deny  

43. Allow from all  

44. </Directory>  

45.   

46. Alias /asp/ "D:/wamp/www/asp/"  

47. <Directory "D:/wamp/www/asp/">  

48. Options Indexes MultiViews FollowSymLinks  

49. AllowOverride all  

50. Order allow,deny  

51. Allow from all  

52. </Directory>  

同样的,在apache的主配置文件httpd.conf 里适当的位置加入代码

XML/HTML代码

1. # ASP ,写在httpd.conf 最后适当的位置。 只是为了规范。

2. Include conf/extra/httpd-ahtml.conf

然后,重启apache,现在/www/asp/目录已经可以解析.asp文件了。:)

PS

文中提及的配置文件.conf 及其mod,ActiveHTML,下载:extra.rar

其它的方法:

==================Apache支持ASP===================

前言:
好多人都在寻找apache下支持asp的方法,有的无非要建两个端口,通过代理实现支持asp,执行效率不是太好,现在终于有一种新的办法,通过模块实现支持asp,简单,直接.其实这个方法以前就有过,不过说的很含糊,很多地方需要更正,而且年久失传,原有的地址都找不到了,我翻遍了搜索引擎,终于在一个台湾的论坛找到了那个组件,自己亲自调试了下,现在把自己的成功经验与落伍的兄弟们分享.

①首先下载一个组件,这个是关键,也就是好多人寻找的东西

下載: http://mis.enc.hlc.edu.tw/upload/files/openasp-b1-win32.zip
②下载完apasp.DLL后,放置在apahce的modules文件夹,在httpd.conf的最下面(一定要在最下面,不然就没效果了)加入这一行:

LoadModule asp_module modules/apasp.DLL

③在httpd.conf中 <IfModule mod_mime.c>和</IfModule>之间的某个合适位置加入

AddType text/x-asp .asp

其实最好在AddType application/x-httpd-php .php下方加入,这样apache就能解释asp扩展名的文件了.

重新启动下apache,放个探针试下,是不是支持asp了?是不是很简单?

我的apache版本是1.33,这个组件好象只支持1.3的版本.

支持效果:

组 件 名 称 支持及版本
MSWC.AdRotator √ 
MSWC.BrowserType √ 
MSWC.NextLink √ 
MSWC.Tools √ 
MSWC.Status √ 
MSWC.Counters √ 
IISSample.ContentRotator √ 
IISSample.PageCounter √ 
MSWC.PermissionChecker √ 
Scripting.FileSystemObject (FSO 文本文件读写)   √ 
adodb.connection (ADO 数据对象)   √ 2.5

■ 常见的文件上传和管理组件 组 件 名 称 支持及版本
SoftArtisans.FileUp (SA-FileUp 文件上传)   √ 
SoftArtisans.FileManager (SoftArtisans 文件管理)   √ 
LyfUpload.UploadFile (刘云峰的文件上传组件)   √ 
Persits.Upload.1 (ASPUpload 文件上传)   √ 
w3.upload (Dimac 文件上传)   √ 

■ 常见的收发邮件组件 组 件 名 称 支持及版本
JMail.SmtpMail (Dimac JMail 邮件收发) 中文手册下载   √ 
CDONTS.NewMail (虚拟 SMTP 发信)   √ 1.2
Persits.MailSender (ASPemail 发信)   √ 
SMTPsvg.Mailer (ASPmail 发信)   √ 
DkQmail.Qmail (dkQmail 发信)   √ 
Geocel.Mailer (Geocel 发信)   √ 
IISmail.Iismail.1 (IISmail 发信)   √ 
SmtpMail.SmtpMail.1 (SmtpMail 发信)   √ 

■ 图像处理组件 组 件 名 称 支持及版本
SoftArtisans.ImageGen (SA 的图像读写组件)   √ 
W3Image.Image (Dimac 的图像读写组件)   √

 » 订阅本站:http://feed.x2009.net