首先雖然是使用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.