Папка Sitecore и разрешения IIS - PullRequest
2 голосов
/ 01 марта 2011

При настройке или перемещении решения 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 очень утомительно.

Кто-нибудь создавал какие-либо скрипты или программы, которые могли бы делать это более или менее автоматически?с благодарностью.

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Если вы играете с непроизводственным экземпляром:

в непроизводственных средах, как правило, проще всего предоставить учетной записи ASP.NET и анонимной учетной записи интернет-пользователя полный контроль над папками веб-сайта и данных, а также всех их потомков и предоставить пользователю NETWORK SERVICE полный контроль Папка D: \ Sitecore \ Databases.

Итак (разрешения устанавливаются рекурсивно):

Учетная запись ASP.NET (IUSR в IIS 7) и анонимный пользователь: ПОЛНЫЙ КОНТРОЛЬ ЗА:

  • /Website
  • /Data

СЕТЬ СЕРВИС (учетная запись SQL Server по умолчанию): ПОЛНЫЙ КОНТРОЛЬ ЗА:

  • /Databases

В качестве альтернативы вы можете Cacls установить права доступа к файлу / папке из командной строки.

Например, вы можете использовать следующую инструкцию, чтобы предоставить Administrator пользователю Write И Delete разрешения на c:\file

icacls c:\file /grant Administrator:(D,WDAC)
0 голосов
/ 09 октября 2012

Я использую этот скрипт

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
...