本文标签:Apache
前言:本人用了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 的图像读写组件) √
» 转载请注明来源:电脑知识收藏夹 » 《让Apache也支持微软的ASP和ASP.Net的方法》» 本文链接地址:http://www.x2009.net/articles/let-apache-also-supports-microsofts-asp-and-aspnet-method.html» 订阅本站:http://feed.x2009.net