Сайт коллекции SharePoint, управляемые пути, а можно субдомены?

в 10:28, , рубрики: powershell, sharepoint, метки: ,

В данной статье пойдет речь о сайт коллекциях SharePoint в контексте возможных вариантов начальных url-адресов.
И самое интересное, описан способ создания сайт коллекции на специфическом url на поддомене, отличном от основного приложения.
Итак, всем, кого интересует администрирование SharePoint, и тем, кто не знает курс 70-331 вдоль и поперек, добро пожаловать под кат.

Сильно не буду влезать в теорию, т.к. она очевидна тем специалистам, которым может быть интересен итоговый тезис статьи. Речь пойдет об url адресах, по которым могут быть размещены сайт коллекции SharePoint.

Без минимума теории было бы тоже неправильно.
Если взглянуть на логическую архитектуру сайтов SharePoint, то мы увидим следующую картину:

image

Во главе стола — IIS и веб-приложения, в рамках веб-приложений размещаются сайт коллекции, а в них, в свою очередь, набор сайтов.

С точки зрения адресации, веб-приложение определяет Host Header и порт, которые, кстати, легко могут быть переопределены альтернативным доступом (AAM) или расширением веб-приложения.

В рамках примера, пусть у нас будет следующее веб-приложение:

http://sharepoint2013.mysite.org

Сайт коллекции являются контейнерами для сайтов, которые уже в свою очередь содержат информацию отображаемую пользователю.

При этом сайт коллекция всегда содержит корневой сайт.

У сайтов может быть иерархия подсайтов.

Адреса подсайтов формируются следующим образом:

/subsite1/subsite11/.../subsiteNM/

Сайт коллекции могут быть размещены на управляемых путях, определяющих стартовый адрес.

Управляемые пути бывают двух типов:

  • Явные (Explicit)
    • В случае с явными путями сайт коллекция будет располагаться в корне управляемого пути, на таком пути, логично предположить, сможет существовать только одна сайт коллекция.
    • Продолжим пример, допустим у нас создан управляемый путь «spdemo» с типом Explicit.
    • Ссылка созданной сайт коллекции будет следующией: http://sharepoint2013.mysite.org/<b>spdemo</b>/

  • Подстановки (Wildcard)
    • Подстановки созданы, чтобы на них можно было располагать множество сайт коллекций, при этом для каждой сайт коллекии добавлется «папка» в пути адреса.
    • По умолчанию создан управляемый путь «sites».
    • При создании сайт коллекции «spdemo» ссылка будет следующией: http://sharepoint2013.mysite.org/<b>sites</b>/<b>spdemo</b>/

Создание сайт коллекций по управляемым путям — дело не хитрое, доступно из визуального интерфейса, и, в целом, довольно тривиальная вещь. Но мы уже подобрались к «соли» статьи.

Давайте представим ситуацию, что нам нужно:

  • нашу ферму вывести конечным пользователям с использованием субдоменов, вот такое оно функциональное требование: CRM должен быть по адресу crm.mysite.org, управление проектами — epm.mysite.org, документооборот на ecm.mysite.org и так далее и никак иначе,
  • т.е., все адреса должны быть на 80-м порту,
  • количество субдоменов для разных функциональных случаев не ограничено.

Вроде как приходит мысль создавать разные веб-приложения по разным субдоменам, но не стоит так делать, если создание отдельных веб-приложений не обусловлено политикой безопасности или еще какими либо вескими причинами.

Кстати, вопрос: может ли быть несколько веб-приложений на одном порту? Ответ: да, конечно могут, если будут с разными Host Header'ами.

Так что же делать, спросите Вы, если не создавать отдельные веб-приложения? Как быть?

И вот ради этого ответа весь этот пост. Сайт коллекции могут быть и на субдомене, отличном от Host Header веб-приложения.

Создавать такие сайт коллекции можно только через PowerShell.

А вот и он:

Add-PSSnapin Microsoft.SharePoint.PowerShell-ErrorAction SilentlyContinue;
 
New-SPSite "http://spdemo.cibpoint.ru" `
      -HostHeaderWebApplication "http://sharepoint2013.cibpoint.ru" `
      -Name "SPDemo" ` -OwnerAlias "CIBSPAdmin" `
     -Template "STS#0";
 
New-WebBinding -Name "http://sharepoint2013.cibpoint.ru" `
      -IPAddress "*" `
      -Port 80 `
      -HostHeader "spdemo.cibpoint.ru";

Add-PSSnapin — добавление снапина объектной модели SharePoint, хороший тон, чтобы он присутствовал.

New-SPSite — командлет создания сайт коллекции.

  • В передаваемом идентификатора надо указать ссылку на субдомене и оно будет работать.
  • В параметр HostHeaderWebApplication указываем наше веб-приложение.
  • Name — наименование сайт коллекции.
  • OwnerAlias — владелец сайт коллекции, второго можно не указывать.
  • Template — идентификатор шаблона сайт коллекции. «STS#0» — идентификатор TeamSite. Параметр можно пропустить, тогда при первой навигации к сайт коллекции можно будет выбрать нужный шаблон в визуальном интерфейсе.

New-WebBinding — одно из составляющих чуда. Непосредственно к SharePoint отношения не имеет. Данный командлет выставляет настройку IIS, а именно прописывает связь с нужным Host Header.

Последнее составляющее «чуда» — добавить запись в DNS.

В итоге в одном веб-приложении, на одном порту, на разных субдоменах, у нас заводятся и работают сайт коллекции SharePoint.

Автор: AndrewKoltyakov

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js