我已经设法(经过很多困难)完成了将Umbraco CMS安装到我的本地机器上的第二步。当我尝试进入下一步时,我收到了这个错误:
“无法保存web.config文件。请手动修改连接字符串。拒绝访问路径'c:\ inetpub \ wwwroot \ Umbraco \ umbraco1 \ web.config'。”
我已尝试在web.config文件,umbraco1文件夹和Umbraco文件夹上设置读写权限,但没有,同样的错误。重新启动IIS,重新启动,仍然没有变化。我手动更改了它正在尝试更新的web.config应用程序密钥,但是无法继续下一步。
显然有一些随意的权限,我做得不好,但我找不到它。稍微切线,当我尝试打开权限向导时,没有任何反应 - 这有什么原因吗?
我正在运行IIS 6,如果这有助于任何人。
答案 0 :(得分:0)
这听起来像权限。根据您配置ASP.NET的方式,工作进程标识或IIS站点匿名用户标识没有写入权限。
如果您的主人machine.config
(在%systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG
或本地web.config
中有以下行:
<identity impersonate="true" />
这意味着请求将以匿名用户的身份运行。
打开IIS管理器并打开Default Website
的属性:
请注意红色突出显示框中的用户名,确保此帐户对c:\inetpub\wwwroot\Umbraco
及其子文件夹和文件具有修改权限。
如果您的machine.config
或web.config
指定:
<identity impersonate="true" username="someuser" password="somepassword />
然后,您需要确保someuser
对c:\inetpub\wwwroot\Umbraco
及其子文件夹和文件具有写入权限。
如果您没有看到这些配置条目,那么您的站点将以工作进程帐户的身份执行。这很可能是NETWORK SERVICE
,但您可以通过在IIS管理器中打开站点的属性并选择Home Directory
选项卡来进行检查。在底部附近,您会看到Application Pool
:
记下这一点,然后导航到IIS Manager LHS窗格的Application Pools
节点。右键单击并打开上面提到的应用程序池的属性:
注意身份并授予该帐户对Umbraco文件夹及其子文件夹和文件的写入权限。