При переносе базы (1Сv8.1) на новый сервер под управлением w2008 возникла необходимость настройки web-сервисов на IIS 7.0. Подобное сочетание версий продуктов стандартным образом 1С уже не поддерживается, и утилитами 1С его сделать нельзя. Пошаговая инструкция на сайте 1С уже удалена. Пришлось воссоздавать процесс по публикациям в Инете. Аналогично для IIS 7.5 (w7).
1) Установка IIS выполняется стандартными средствами. Набор достаточных компонент приведен на скриншоте.
2) Создаем папку на web сервере. В моем случае MyApp.
3) Публикуем сервис из 1С. Администрирование -> Публикация Web-сервисов.
Содержимое.
4) Зададим права для обработчика web-сервисов 1С. Права на запуск (Execute) модулей добавляются для группы IIS_IUSRS на папку ...1cv81\BIN\.
5) Если база файловая, нужно добавить права на изменение (Modify) на папку и подпапки базы для той же группы.
6) В консоли IIS. Кликаем правой кнопкой мыши на строку с созданной нами папкой. Преобразовываем её в приложение.
7) Добавляем MIME типы 1С. Делать это можно для сервера или для сайта, или для папки. Наследование присутствует.
8) Добавляем настройки для обработки файлов 1С. На вкладке Handler Mappings добавляем скрипты (не скрипты со звездочкой) для каждого расширения -"*.1cws" и "*.1crs".
Имена любые. Главное - для каждого расширение отдельное правило! Request Restrictions -> Access -> Script или Execute.
Альтернативой является добавление обработчика из командной строки:
C:\>cscript C:\inetpub\AdminScripts\adsutil.vbs SET /W3SVC/1/ROOT/MyApp/ScriptMaps ".1cws,с:\Program Files\1cv81\Bin\wsisapi.dll,5" ".1crs,с:\Program Files\1cv81\Bin\wsisapi.dll,5" Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. ScriptMaps: (LIST) ".1cws,с:\Program Files\1cv81\Bin\wsisapi.dll,5" ".1crs,с:\Program Files\1cv81\Bin\wsisapi.dll,5" C:\>
Важно указать правильный путь: /W3SVC/1/ROOT/MyApp/ScriptMaps !!!!!
9) Для обработчиков нужно задать дополнительные параметры (Edit Feature Permission). Установить флаги запуска скриптов и приложений.
10) Можно проверить наличие обработчика web-сервисов 1С на вкладке ISAPI and CGI Restrictions для сервера.
Если установка идет в 64 разрядном окружении, то для обработчика нужно включить режим Alpplication Pool -> DefaultAppPool -> Enable 32-bit Application -> True.
11) Обращаемся по адресу http://localhost/MyApp/PayTerminal.1cws.
Переходим по ссылке.
12) Об анонимной аутентификации на IIS и доступе к базе. Настроить доступ с использованием автоматически создаваемого пользователя IUSR у меня не получилось :(. Зато вручную всё работает.
Создал пользователя на компьютере (сервере) с IIS и задал ему пароль. Ни в какие группы не добавлял.
В консоли IIS. Имя_сервера -> Autentification -> AnonymousAutentification -> Edit -> Set -> User name -> Password -> Confirm password.
Далее два варианта для 1С. Аутентификация 1С. Создаем пользователя с именем, как создали на компьютере и ввели в IIS. Задаем пароль и ставим флаг Аутентификация 1С:Предприятия.
Windows аутентификация. Создаем пользователя с неким именем. Лучше не использовать имя, как создали на компе и ввели в IIS. Ставим флаг Аутентификация Windows. Подбираем или вводим пользователя в формате \\имя_компьютера\имя_пользователя. Флаг Аутентификация 1С:Предприятия в этом случае лучше снять.
Все работает :)!
Благодарности:
http://mikepin.livejournal.com/3767.html
Всем спасибо за внимание!