Настройка обработчика веб-развертывания

Вера А

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

Необходимые условия

Для этого руководства требуются следующие предварительные требования:

  • .NET Framework 2.0 SP1 или выше
  • Средство веб-развертывания 1.0 или 1.1
  • IIS 7 или более поздней версии с установленной службой управления веб-сайтами (WMSvc)

Примечание. Если вы еще не установили средство веб-развертывания, см. статью .

Общие сведения о обработчике веб-развертывания

Обработчик интегрирован со службой веб-управления (WMSVC), которая поставляется с IIS 7.0 в Windows Server 2008 и IIS 7.5 в Windows 2008 R2.

Сначала необходимо создать учетную запись (пользователя IIS Manager или учетную запись Windows) для пользователя. Дополнительные сведения о создании учетных записей пользователей диспетчера IIS см. .

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

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

На следующей схеме показано, как пользователь сначала подключается и авторизуется через WMSVC, прежде чем запрос на развертывание будет направлен к обработчику и авторизован в соответствии с его собственными правилами. Это краткое руководство поможет вам настроить необходимые правила, позволяющие пользователю развертывать приложения IIS с содержимым, задавать разрешения на файлы и развертывать базы данных.

Диаграмма показывает, как пользователь сначала подключается к системе W M S V C для авторизации, прежде чем запрос на развертывание будет направлен обработчику и пройдет авторизацию согласно его собственным правилам.

Часть 1. Настройка разрешений WMSVC и диспетчера IIS

  1. Установите IIS и службу управления веб-серверами на сервер Windows Server 2008.
  2. Настройте WMSVC таким образом, чтобы удаленные подключения были разрешены.
    a. Откройте диспетчер IIS.
    б. Выберите узел сервера.
    с. В представлении компонентов сервера дважды щелкните значок службы управления .
    д. Убедитесь, что установлен флажок "Включить удаленные подключения ". Если флажок не выбран и неактивен, используйте панель действий, чтобы остановить службу WMSvc. Это позволит выбрать флажок.
    д) В области действий справа нажмите кнопку "Пуск". Флажок "Включить удаленные подключения" будет выбран и удален серым цветом.
  3. Предоставьте учетной записи, под которой работает WMSvc (например, Локальная служба), полные разрешения на доступ к каталогу клиента.
  4. После создания веб-сайта для пользователя разрешите пользователю доступ к его веб-сайту.
    a. Откройте диспетчер IIS. б. Выберите веб-сайт , которым пользователь будет управлять удаленно.
    с. В представлении функций дважды щелкните значок разрешений диспетчера IIS . д. На странице разрешений диспетчера IIS в области "Действия " нажмите кнопку "Разрешить пользователя".
    д) В диалоговом окне "Разрешить пользователю" выберите тип пользователя (Windows или ДИСПЕТЧЕР IIS), а затем нажмите кнопку "Выбрать ", чтобы выбрать учетную запись пользователя.
    f. Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Разрешить пользователю ".

Дополнительные сведения о учетных записях пользователей диспетчера IIS см. в статье Разрешить учетной записи пользователя диспетчера IIS подключаться к сайту или приложению (IIS 7)".

Часть 2. Создание правил делегирования для пользователей веб-развертывания

  1. Если вы еще не сделали этого, скачайте средство веб-развертывания и установите его на веб-сервере.
  2. Создайте правила делегирования для функций Web Deploy (поставщиков), которые вы хотите разрешить пользователям. Чтобы разрешить пользователю развертывать приложения и содержимое на своем веб-сайте:
    a. Откройте диспетчер IIS.
    б. Выберите узел сервера.
    с. В представлении компонентов сервера дважды щелкните значок делегирования службы управления .
    Снимок экрана: представление
    д. В области действий справа нажмите кнопку "Добавить правило" ...Снимок экрана: панель действий на странице делегирования службы управления. Выделен шаблон правила.
    д) Выберите шаблон правила Развертывание приложений с контентом. Этот шаблон создает правило, позволяющее любому авторизованному пользователю WMSVC использовать контентPath веб-развертывания и поставщики iisApp для развертывания приложений в его области пользователя.
    Снимок экрана: диалоговое окно
    f. Нажмите кнопку "ОК" , чтобы открыть шаблон.
    ж. Нажмите кнопку "ОК" , чтобы создать правило.
    х. В диалоговом окне "Добавление пользователя в правило " введите звездочку (*). Это позволит каждому пользователю развертывать приложения в своей пользовательской области.

ПРИМЕЧАНИЕ. Если вы хотите выполнить синхронизацию только администратора, перейдите на страницу делегирования службы управления . В области действий нажмите кнопку "Изменить параметры компонентов", а затем выберите "Разрешить администраторам обходить правила".

Пометить папки как правило приложения

  1. Чтобы разрешить каждому пользователю создавать приложение на своем веб-сайте:
    a. Нажмите кнопку "Добавить правило... b". Выберите шаблон правила "Пометить папки в качестве приложений ". Этот шаблон позволяет всем авторизованным пользователям WMSVC использовать веб-развертывание с поставщиком createApp для создания приложений в пределах своей области пользователя. Приложения наследуют все параметры от родительского элемента, включая пул приложений. с. Нажмите кнопку "ОК" , чтобы открыть шаблон.
    д. В разделе RunAs выберите SpecificUser для Типа удостоверения и нажмите кнопку Set..., чтобы указать учетную запись пользователя для выполнения этой операции. Чтобы это правило работало, правило должно выполняться пользователем с доступом к записи в файл applicationHost.config. Рекомендуется создать учетную запись (например, CreateAppUser), которая не входит в группу администраторов, и предоставить ей только минимальные необходимые разрешения. Для этого выполните указанные ниже действия.

    • Создайте учетную запись пользователя.
    • Предоставьте разрешение %windir%\system32\inetsrv\configна чтение.
    • Предоставьте разрешение на изменение %windir%\system32\inetsrv\config\applicationHost.config.
  2. В диалоговом окне "Добавление пользователя в правило " введите звездочку (*). Это позволит каждому пользователю создавать приложения на своем веб-сайте.

Правило развертывания баз данных

  1. Чтобы разрешить пользователям развертывать базы данных на своих веб-сайтах:
    a. Нажмите кнопку "Добавить правило ... b". Выберите шаблон правила "Развернуть базы данных ". Этот шаблон позволяет любым авторизованным пользователям WMSVC (как указано в части 1) развертывать базы данных на серверах баз данных SQL. с. Нажмите кнопку "ОК" , чтобы открыть шаблон.
    д. Добавьте путь для авторизации, например Server=Server1, чтобы разрешить любому пользователю развертываться на этом сервере с помощью учетных данных SQL или Server=Server1; Database={userName}_db1 ограничить определенные базы данных, соответствующие имени пользователя.
    д) Нажмите кнопку "ОК" , чтобы создать правило.
  2. В диалоговом окне "Добавление пользователя в правило " введите звездочку (*). Это позволит каждому пользователю развертывать базы данных на своем веб-сайте.

Установка правила разрешений

  1. Чтобы разрешить каждому пользователю развертывать приложения и содержимое на своем веб-сайте:
    a. Выберите шаблон правила... b. Выберите шаблон правила "Задать разрешения ". Этот шаблон позволяет любому авторизованному пользователю WMSVC задать списки управления доступом в файловой системе. с. Нажмите кнопку "ОК" , чтобы открыть шаблон.
    д. Нажмите кнопку "ОК" , чтобы создать правило.
  2. В диалоговом окне "Добавление пользователя в правило " введите звездочку (*). Это позволит каждому пользователю развертывать приложения и содержимое на своем веб-сайте.

При необходимости включите трассировку для WMSvc

Если вы хотите включить трассировку для WMSvc, см. раздел "Настройка трассировки веб-службы управления". Журналы трассировки хранятся в %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1.

Часть 3. Проверка подключения пользователя к веб-сайту

  1. Скачайте и установите средство веб-развертывания на клиентском компьютере с установленным диспетчером удаленных служб IIS или используйте локальный сервер. Рекомендуется сначала протестировать локальный сервер, чтобы изолировать все проблемы, которые могут быть вызваны параметрами сети, брандмауэра или прокси-сервера.
  2. Проверьте подключение к веб-сайту пользователя с помощью учетных данных, созданных для пользователя:
    a. Откройте диспетчер IIS.
    б. Щелкните правой кнопкой мыши на узле Начальная страница.
    с. Выберите «Подключиться к сайту…» (Примечание: не нажимайте кнопку «Подключиться к серверу»)
    д. В текстовом поле имени сервера введите localhost.
    д) В текстовом поле "Имя сайта" введите имя веб-сайта пользователя, который включен для удаленного управления.
    f. Нажмите кнопку Далее.
    ж. В текстовом поле "Имя пользователя" введите пользователя, авторизованного для веб-сайта.
    х. В текстовом поле "Пароль" введите пароль пользователя.
    и. Нажмите кнопку "Далее ", чтобы завершить подключение. Возможно, вам будет предложено доверять сертификату, если вы используете ненадежный или самозаверяющий сертификат. В правом нижнем углу диспетчера IIS отображается новое состояние подключения (например, localhost 8172 в качестве SampleUser).
  3. Создайте быстрый пакет приложения, чтобы убедиться, что правила авторизации работают:
    a. В области "Действия " справа щелкните "Экспорт приложения" ...
    б. Откроется мастер экспорта приложений , нажмите кнопку "Далее " на всех экранах, чтобы принять значения по умолчанию и создать пакет.
  4. Теперь, когда вы создали пакет, убедитесь, что его можно установить:
    a. В области действий нажмите кнопку "Импорт приложения...
    б. Нажмите кнопку Далее. с. На странице "Параметры" измените имя приложения на то, что еще не существует на веб-сайте, чтобы убедиться, что пользователь может создавать приложения.
    д. Завершите работу мастера.
  5. Наконец, необходимо скачать пакет приложения для установки приложения на этот веб-сайт, чтобы убедиться, что база данных и другие параметры работают.

Troubleshooting

Во время развертывания могут возникать некоторые распространенные проблемы:

Пользователь получает 401 несанкционированную ошибку при попытке подключиться к веб-сайту.

  • Причины. Эта ошибка возникает из WMSVC и обычно является ошибкой с именем пользователя или паролем или потому, что у пользователя нет доступа к веб-сайту.
  • Решение: Проверьте имя пользователя/пароль и убедитесь, что у пользователя есть доступ к веб-сайту.

Пользователь получает ошибку сервера при попытке импортировать или экспортировать приложение.

  • Причины: Эта ошибка возникает из модуля обработки веб-развертывания и обычно связана с проблемой правил развертывания. Так как пользователь успешно подключен, это не проблема с WMSVC. Правило развертывания может иметь опечатку, пользователь, выполняющий развертывание, может не быть авторизован, или учетная запись runAs может не иметь доступа.

  • Решение. Откройте журналы трассировки по адресу %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1 и просмотрите, какое правило не удается авторизовать.

    • Найдите журналы, содержащие сбои, такие как "Сведения: правило не найдено, которое может авторизовать пользователя "server1\siteowner", поставщика appPoolConfig, операции "Чтение", путь "DefaultAppPool". В этом случае поставщик appPoolConfig не авторизован, и пользователь пытался добавить поставщика, который он не может добавить.
    • Еще одна распространенная ошибка заключается в том, что пользователь RunAs, используемый для создания приложений, не имеет правильного доступа к конфигурации. В этом случае Procmon — это полезное средство для определения того, откуда может поступать ошибка отказа в доступе.

Сводка

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