![iis 7.5 网站权限](https://linux22.com/image/629656/iis%207.5%20%E7%BD%91%E7%AB%99%E6%9D%83%E9%99%90.png)
我正在尝试在 Win7 中运行的 IIS 7.5 上设置权限。我找到的说明如下:
- 确保所有站点都分配有自己独特的应用程序池。
- 在应用程序池的处理模型下的高级设置中,将内置帐户设置为ApplicationPoolIdentity。
- 在 php.ini 中将 fastcgi.impersonate = 1 设置为启用模拟
- IIS > 身份验证 > 匿名身份验证 > 应用程序池标识(非 IUSR)
- 使用自动生成的应用程序池用户帐户(例如“IIS AppPool\MyAppPoolName”)设置文件夹的读/写权限。
当我输入 MyAppPoolName 时,我不确定要使用哪个名称:
我在同一台服务器上运行两个网站。在 IIS 管理器、应用程序池中,我有:
WebSite1 v4.0 (Integrated)
WebSite1 v4.0 (Classic)
WebSite1 v2.0 (Integrated)
WebSite1 v2.0 (Classic)
WebSite2 v4.0 (Integrated)
WebSite2 v4.0 (Classic)
WebSite2 v2.0 (Integrated)
WebSite2 v2.0 (Classic)
我应该将 MyAppPoolName 用作什么?“IIS AppPool\MyAppPoolName”
谢谢你,
文档
答案1
我认为如果您托管的是 PHP 应用程序并且不使用 .NET,那么选择哪个应用程序池并不重要。
v2.0 和 v4.0 告诉 IIS 对应用程序使用 .NET 2.0 还是 .NET 4.0,这并不重要,因为您使用的是 PHP。
只要确保它们分开即可。
至于经典与集成管道模式,这也无关紧要:
一些经典阅读与综合阅读: https://stackoverflow.com/questions/759304/defaultapppool-and-classic-net-apppool-in-iis7 之间的区别是什么
以下是一些针对 PHP 的阅读材料: http://technet.microsoft.com/en-us/magazine/2008.07.iis7.aspx#id0110047
请记住,集成模式和经典模式仅影响 IIS 7.0 如何将 ASP.NET 集成到请求管道中。这些管道模式不会直接影响 PHP 应用程序。在集成模式和经典模式下,FastCgiModule 和所有其他本机模块均无需管道模式前提条件即可加载。
答案2
如果您有两个网站,您也应该只有两个应用程序池。我会重命名托管您网站的 AppPools,并删除其他应用程序池。因此,您最终应该得到类似
Site1AppPool
Site2AppPool
然后设置 NTFS 权限,使用:
IIS AppPool\Site1AppPool
IIS AppPool\Site2AppPool
您无法在权限对话框中浏览这些名称,您必须输入它们。
您已将其标记为batch-file
,因此您可能需要编写脚本。您可以使用 PowerShell 编写五个步骤以及设置 NTFS 权限的脚本。