首先虽然是使用apache ,但要支持asp.net ,只能在windows 平台上安装,我的环境是
windows xp
首先得安装
dotNetFramework
说实话我是最近才接触.net ,所以很多概念还不懂,例如 这里的dotNetFramework
但是我安装了Vistual Studio 2008 ,所以默认已经把这个东西装上了,
你可以检查一下C:/WINDOWS/Microsoft.NET/Framework 目录是不是存在,里面是不是有
像v2.0.50727 这种v+数字的目录,如果有的话,说明已经安装上了,网上找了个网址
http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe
但不保有证, 就是所谓的dotNetFramework
httpd-2.2.15-win32-x86-no_ssl.msi
mod_aspdotnet-2.2.0.2006-setup-r2.msi
Apache的Asp.net模块已经从Apache的模块家族中独立出来了,目前可以在下面的地方找到
http://sourceforge.net/projects/mod-aspdotnet
点击Download,在打开的页面中注意对应Apache的版本下载(For Apache2.0 或 Apache2.2 )
我下得是2.2版的,
然后就是依次安装
httpd-2.2.15-win32-x86-no_ssl.msi
mod_aspdotnet-2.2.0.2006-setup-r2.msi
了.
装完httpd-2.2.15-win32-x86-no_ssl.msi
打开http://localhost/
出现it works !字样 ,说明apache 安培成功,下一步就是关于asp.net 的配置了
安装mod_aspdotnet
mod_aspdotnet-2.2.0.2006-setup-r2.msi ,其间会让你选择apache的安装目录,
然后配置apache-/conf/httpd.conf 文件,在文件最后添加以下内容
# asp.net 支持 # 这2条配置属于全局,可放在其它响应 LoadModule/AddHandler 语句块后 # 我的配置中,下面整个配置块是放在最后,未分开 LoadModule aspdotnet_module modules/mod_aspdotnet.so AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo # 下面的整段配置可以放在虚拟主机中 <IfModule mod_aspdotnet.cpp> # Mount the ASP.NET example application # AspNetMount 语句相当于 Linux 中的 mount 命令,是把Asp程序目录挂载到一个 URL 地址 # 如果不是整个网站都用Asp,则不应该挂在‘/’下。如:AspNetMount /asp "c:/Program_/apache2/htdocs/asp" # 注意:整站采用时,全局的DocumentRoot 为 "c:/Program_/apache2/htdocs/asp" #这一句是说如果你访问http://localhost/asp/ ,实际是访问 #"c:/Program_/apache2/htdocs/asp" AspNetMount /asp "c:/Program_/apache2/htdocs/asp" # Map all requests for /active to the application files # 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下 # 我的配置中,下面一句是注释掉的. #就是起了个别名 #如果没注释掉,说明访问 #http://localhost/asp2/check.aspx #与http://localhost/asp/check.aspx 访问的是同一个文件 #Alias /asp2 "c:/Program_/apache2/htdocs/asp" # Allow asp.net scripts to be executed in the active example <Directory "c:/Program_/apache2/htdocs/asp"> Options FollowSymlinks ExecCGI Order allow,deny Allow from all DirectoryIndex default.htm default.aspx index.html </Directory> # For all virtual ASP.NET webs, we need the aspnet_client files # to serve the client-side helper scripts. # 注意:下面两行需要对应.Net Framework安装的目录 #xp 上一般对应c:/windows/Microsoft.net/下面的相应目录 #另外除了正反正反斜线外,最好字母的大小写与你路径的大小写一致, #apache有些地方是区分大小写的(这个刚接触也不是非常清楚) #另外windows 上路径是用"/"区分的,而配置文件中都把它写成了"/" #"c:/Program_/apache2/htdocs/asp" 与"c://Program_//apache2//htdocs//asp"等价 AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v$1.$2.$3/ASP.NET*Files/$4" <Directory "C:/WINDOWS/Microsoft.NET/Framework/v*/ASP.NET*Files"> Options FollowSymlinks Order allow,deny Allow from all </Directory> </IfModule> # asp.net 支持 End.
注意配置文件中的注释,有些路径需要你做些调整
测试aspx 是否工作的一个文件
解压开这个文件,把它放到 c:/Program_/apache2/htdocs/asp/目录下,重启apache
访问http://localhost/asp/check.aspx,如果页面正学显示,则说明支持asp.net 了
#=================================无格式的,便于复制
# asp.net 支持
# 这2条配置属于全局,可放在其它响应 LoadModule/AddHandler 语句块后
# 我的配置中,下面整个配置块是放在最后,未分开
LoadModule aspdotnet_module modules/mod_aspdotnet.so
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
# 下面的整段配置可以放在虚拟主机中
<IfModule mod_aspdotnet.cpp>
# Mount the ASP.NET example application
# AspNetMount 语句相当于 Linux 中的 mount 命令,是把Asp程序目录挂载到一个 URL 地址
# 如果不是整个网站都用Asp,则不应该挂在‘/’下。如:AspNetMount /asp "c:/Program_/apache2/htdocs/asp"
# 注意:整站采用时,全局的DocumentRoot 为 "c:/Program_/apache2/htdocs/asp"
#这一句是说如果你访问http://localhost/asp/ ,实际是访问
#"c:/Program_/apache2/htdocs/asp"
AspNetMount /asp "c:/Program_/apache2/htdocs/asp"
# Map all requests for /active to the application files
# 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下
# 我的配置中,下面一句是注释掉的.
#就是起了个别名
#如果没注释掉,说明访问
#http://localhost/asp2/check.aspx
#与http://localhost/asp/check.aspx 访问的是同一个文件
#Alias /asp2 "c:/Program_/apache2/htdocs/asp"
# Allow asp.net scripts to be executed in the active example
<Directory "c:/Program_/apache2/htdocs/asp">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex default.htm default.aspx index.html
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
# 注意:下面两行需要对应.Net Framework安装的目录
#xp 上一般对应c:/windows/Microsoft.net/下面的相应目录
#另外除了正反正反斜线外,最好字母的大小写与你路径的大小写一致,
#apache有些地方是区分大小写的(这个刚接触也不是非常清楚)
#另外windows 上路径是用"/"区分的,而配置文件中都把它写成了"/"
#"c:/Program_/apache2/htdocs/asp" 与"c://Program_//apache2//htdocs//asp"等价
AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v$1.$2.$3/ASP.NET*Files/$4"
<Directory "C:/WINDOWS/Microsoft.NET/Framework/v*/ASP.NET*Files">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
# asp.net 支持 End.