设置或移动Sitecore解决方案时,您必须记住设置正确的文件夹权限和IIS权限。
类似于3.3.3.2 - 3.3.3.9节: http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%205,-d-,3/Installation/EXE%20Installation.aspx
文件夹权限通常在使用安装程序时设置,但在使用Zip或仅移动现有解决方案时不会设置。
您可以在此处使用指南(适用于Sitecore 6):http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/Installation.aspx
但是通过步骤3.5到3.6.5很麻烦。
有人制作了任何可以自动执行此操作的脚本或程序吗?
非常感谢。
答案 0 :(得分:1)
假设您正在使用非生产实例:
在非生产环境中,通常最容易授予ASP.NET帐户和匿名Internet用户帐户完全控制网站和数据文件夹及其所有后代,并授予NETWORK SERVICE用户完全控制权D:\ Sitecore \ Databases文件夹。
所以(权限是递归设置的):
ASP.NET帐户(IIS 7中的IUSR)&匿名用户:完全控制:
/Website
/Data
NETWORK SERVICE(默认SQL Server帐户):完全控制:
/Databases
或者您可以Cacls从命令行设置文件/文件夹的权限。
例如,您可以使用以下语句在Administrator
Write
用户Delete
和c:\file
权限
icacls c:\file /grant Administrator:(D,WDAC)
答案 1 :(得分:-1)
我正在使用此脚本
Option Explicit
Dim fso, path
' get current directory
set fso = createobject("Scripting.FileSystemObject")
path = fso.GetFolder(".").Path
WScript.StdErr.WriteLine "Setting up rights"
WScript.StdOut.WriteLine "Path:" & path
Dim appname
appname = InputBox("Name of the App Pool", , "AppPool")
If appname = "" Then
Wscript.Quit
End If
Dim wsShell
Set wsShell = WScript.CreateObject ("WSCript.Shell")
'wsShell.run "icacls """+ path + """ /inheritance:r"
wsShell.run "icacls """+ path + """ /inheritance:e /grant ""IIS AppPool\" + appname + """:(RX)"
wsShell.run "icacls """+ path + "\App_Data"" /inheritance:e /grant ""IIS AppPool\" + appname + """:(F)"
wsShell.run "icacls """+ path + "\sitecore\shell"" /inheritance:e /grant ""IIS AppPool\" + appname + """:(F)"
wsShell.run "icacls """+ path + "\temp"" /inheritance:e /grant ""IIS AppPool\" + appname + """:(F)"
wsShell.run "icacls """+ path + "\upload"" /inheritance:e /grant ""IIS AppPool\" + appname + """:(F)"
set wsShell = Nothing