Win7旗艦版中的IIS配置asp.net權限配置及遇到的問題

下面的這個步驟是設置訪問數據庫權限的
這裏選擇localSystem或NetworkService
默認裝完IIS7之後,使用ASP程序會發現提示數據庫連接失敗,在網上找了找,說是因爲MSJet引擎改變了臨時目錄的位置,但是又沒有對臨時的存取權限,導致數據庫使用失敗。
先要設置應用程序池(ApplicationPool)爲Classic.NETAppPool,而不是默認的DefaultAppPool,可以在網站目錄裏對每個站點設置,也可以在站點進行單獨設置。選擇好要設置的站點之後,點右邊的“基本設置”即可調出應用程序池設置對話框。
這裏必須用操作系統的登錄名和密碼 不然無權訪問硬盤分區
這裏的第二行顯示授權就是因爲上面的步驟給了用戶名和密碼 否則這裏就是無權 asp.net的頁面也就訪問不到了
然後再給“系統盤:Windows/ServiceProfiles/NetworkService/AppData/Local”下面的 Temp目錄添加一個“Authenticated Users”的用戶,其中AppData目錄是隱藏的,在進入的時候可以直接在地址欄輸入路徑,或者在文件夾選項裏顯示隱藏文件。
設置權限步驟:右擊Temp文件夾,選擇“屬性”》選擇“安全”選項卡》單擊“編輯”》出來“Temp的權限”對話框,單擊“添加”,在下面的“輸入對象名稱來選擇”中輸入Authenticated Users,確定》返回到“Temp的權限”,將AuthenticatedUsers的權限中的完全控制給勾上,確定》確定。
 
 
 
啓用父路徑支持
在站點主頁上選擇“ASP”,然後在“行爲”組中將“啓用父路徑”設置爲True即可。
 
(這裏我個人認爲可以改也可以不改 看你自己的情況而定(本人沒改一直是False))
 
至此,完成了Windows7中IIS7的安裝及使用asp.net的配置。
 
http://blog.csdn.net/qgj111/article/details/4901790
http://blog.csdn.net/wochuailimin/article/details/6120462

遇到的問題:

----------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------
問題1:設置權限

然後“運行”輸入 “C:/Windows/ServiceProfiles/NetworkService/AppData/Local/Temp”目錄添加一個“Authenticated Users”的用戶,其中AppData目錄是隱藏的,在進入的時候可以直接在地址欄輸入路徑,或者在文件夾選項裏顯示隱藏文件。往回退一下找到Temp文件夾

 

設置權限步驟:右擊Temp文件夾,選擇屬性》選擇安全選項卡》單擊編輯》出來“Temp 的權限對話框,單擊添加,在下面的輸入對象名稱來選擇中輸入Authenticated Users,確定》返回到“Temp 的權限,將Authenticated Users的權限中的完全控制給勾上,確定》確定。

 

在運行asp網站時出現

An error occurred on the server when processing the URL.Please contact the system administrator

 

我查了google很多,說我這情況是64位系統是不支持32oledb方式的數據庫連接的,

 

以在cmd.exe文件上單擊右鍵,以系統管理員的身份運行它,然後去到C:/inetpub/AdminScripts目錄下,運行下面代碼:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true

 

然後我就暈了,也沒有細想就按照它的做了。結果出錯了報http 404.9

然後就想是不是sql2005的服務沒有啓動啊,就查資料

「開始」菜單->程序->Microsoft SQL Server 2005->配置工具
SQL Server Configuration Manager->SQL Server(MSSQLSERVER)右擊啓動服務成功後,狀態顯示爲正在運行

「開始」菜單->運行->services.msc服務控制檯
SQL Server(MSSQLSERVER)右擊啓動成功後,狀態顯示爲已啓動

發現我的服務都啓動着。

在查看sql的配置工具時我發現,我的系統上裝的sql200564

32位的,也就是說我沒有必要去做修改,我就稍微改了一下:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 false

 

這樣就排除了sql服務沒有啓動,以及64位不兼容32位數據庫的問題。

然後我就再查看網站附帶的說明文件,說要修改“服務器數據庫名“,原來也看了多次這個地方,就一直以爲是數據庫名字呢。在所有想到的問題都想到了,最後就懷疑是不是這裏出了問題。後來一查資料,果然是他有問題。我就按照一位網友說的,將“服務器數據庫名“

寫成我的計算機全名,然後瀏覽頁面就ok了。
----------------------------------------------------------------------------------------------------------------------------------------
問題2:HTTP 500的錯誤

打開網址的時候總是出現HTTP 500的錯誤,這個問題實在是讓我鬱悶了,以前這個網站在xp下運行的很好,現在換過來怎麼就不能用了呢?看網上的說法是找不到物理路徑或者是沒有權限訪問路徑,然後就往網站存放的文件夾上添加了很多權限,甚至everyone都添加了仍然是不好用。看來不是這個權限的問題。後來學到一手,原來HTTP 500這個錯誤信息是一個“友好錯誤信息提示信息”也就是說引起這個錯誤的原因有很多,然後瀏覽器也不加區分直接就顯示HTTP500了。可以從Internet選項->高級->設置欄裏面的“顯示友好Http錯誤信息”這一項前面的勾去掉就可以看到真實的錯誤信息了。

再次訪問我的網站,果然提示出真實的錯誤信息了:“ ADODB.Connection 錯誤 '800a0e7a'”。網上 的說法是64位的操作系統默認不支持Access 32位的數據庫引擎了,得手動設置。

==================網摘開始

以管理員身份運行命令行
轉到C:\Inetpub\AdminScripts
運行 cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
出現Enable32BitAppOnWin64           : (BOOLEAN) True 即表示成功
運行iisreset
完成。
=================網摘結束

很遺憾,再win7旗艦版64位系統裏面根本沒有C:\Inetpub\AdminScripts這個路徑,至於cscript.exe 也無從查找。

繼續在網上尋找解決方案,終於找到了一個非常簡單而且好用的。還是在IIS中設置,這纔是王道嘛,簡單直觀實用。你弄一堆命令倒是挺酷,誰能記得住呀,這次設置好使了等下次再配置的時候是不是還是搞不定呀。不說廢話了,說方法。

再IIS中選擇應用程序池,然後選擇你的網站使用的應用程序池,如下圖所示。

在右側編輯應用程序池欄中選擇“高級設置”彈出下圖這個對話框,再對話框中“常規”組中把啓用32位應用程序設置成true,然後再運行網站OK了。

一個IIS配置讓我搞了一宿的時間,慶幸的是終於搞定了,把經驗分享一下,希望對大家有所幫助。

----------------------------------------------------------------------------------------------------------------------------------------
問題3:
win7 iis6 配置如何讓局域網內其它用戶訪問

1.win7安裝IIS後,本地測試沒有問題,說明IIS的配置正確,如果本地測試有問題,先檢查IIS安裝配置情況。

2、檢查計算機網絡情況,發現本地網絡正常。如果win7不能訪問網絡,請先正確配置網絡連接。

3、檢查防火牆設置,本文遇到的錯誤就是由於Win7自帶的防火牆阻止了網站程序的端口,使得遠程用戶不能訪問IIS。這裏有兩種方法解決。

 A、關閉防火牆。控制面板-Windows防火牆-打開或關閉Windows防火牆(不推薦) win7-防火牆

B、打開:控制面板-Windows防火牆-高級設置-入站規則,在入站規則窗口中找到”BranchCache內容檢索(http-in)“選項並啓用此規則。這時候遠程用戶通過網站地址即可訪問站點程序,但是如果遠程用戶訪問IIS的非80端口,也會出現不能訪問的問題,這是因爲“BranchCache內容檢索(http-in)”只是啓用了80端口。

此時只需要添加一條新的入站規則,並指定端口號爲網站程序的端口號即可,比如8080。具體方法如下: win7-入站規則 在“Windows 防火牆”窗口的左邊欄,選擇-“入站規則”,在右邊欄選“新建規則”,在彈出的“新建入站規則嚮導”窗口中執行: 端口–下一步–選中TCP以及特定本地端口,填入要開放的端口號(這裏填入8080,當然也可以填寫其他端口)–下一步–選中“允許連接”–下一步–選中所有選項:域、專用、共用–下一步–填入名稱(這裏填入IIS:8080)—完成即可。


參考資料:

http://blog.csdn.net/To9m/article/details/7161158

http://blog.csdn.net/weizhiai12/article/details/7736813

http://blog.csdn.net/jimoshuicao/article/details/9056207


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章