Стоит задача, поднять встроенный в windows вебсервер IIS и опубликовать на нем базу 1с на платформе 8.3. Ничего сложного в этом нет.
В наличии крутящийся на виртуалке 2008 r2 enterprise server. Права локального администратора к нему. Платформа 1С 8.3.6.2041. Информационную базу создадим пустую. И так приступим.
Установка роли веб сервера (IIS)
Для начало необходимо установить роль вебсервера. Открываем Диспетчер сервера, выбираем слева ветку Роли, справа жмем Добавить роль.
Доходим до шага выбора Роли сервера и ставим галочку напротив Веб-сервер(IIS). Жмем далее. Теперь необходимо верно выбрать службы устанавливаемой роли. Ставим галочки ровно как на скриншоте ниже.
Доводим установку до конца. Мастер добавления ролей должен через определенное время сообщить нам, что роль и все службы роли успешно установились:
Теперь необходимо проверить, все ли хорошо у нас получилось. Открываем любой браузер и переходим в нем по адресу http://localhost. У нас должна отобразиться вот такая вот радостная картинка:
Это значит, что вебсервер поднялся у нас корректно и все отлично работает. Поэтому перейдем теперь к 1с. Необходимо поставить платформу. Единственный нюанс при установке платформы выбрать:
- 1С:Предприятие
- Модули расширения веб-сервера
Далее нам необходимо, либо подтянуть уже свою базу, либо как в моем случае я создам пустую базу.
Настройка прав доступа
Первым делом необходимо настроить права папке, где у нас расположен корневой каталог вебсервера. Если ничего не меняли то по умолчанию он находится C:inetpubwwwroot. Переходим в папку C:inetpub выбираем папку wwwroot, щелкаем по ней правой кнопкой мыши и заходим в свойства. Переходим к вкладке Безопасность. Нажатием на кнопку изменить, переходим непосредственно к настройке разрешений. Находим в списке Группы и пользователи, группу Пользователи, и кликнув на нее ставим в графе ниже Разрешения для группы, недостающие галочки в колонке Разрешить.
Теперь необходимо дать права папкам с установленной 1с. Переходим к ним, по умолчанию для 32-битной версии 1с лежит в папке C:Program Files (x86)1cv8 для 64-битной в папке C:Program Files1cv8. Также выбираем папку 1cv8 заходим в ее свойства, переходим во вкладку Безопасность -> Изменить. Но вместо выбора группы из списка, нам необходимо ее туда сначала добавить. Для этого жмем кнопку Добавить, в появившемся окне Выбор «Пользователи» или «Группы», нажимаем кнопку Дополнительно.
Далее нажимаем по кнопке Поиск и в списке результата ищем IIS_IUSRS, добавляя его двойным кликом, нас возвращает в окно Выбор «Пользователи» или «Группы» но с уже проставленной группой в списке. Жмем Ок, и вернувшись уже к окну Разрешения для группы проставляем все галочки в поле разрешить для вновь добавленной группы.
Проставив разрешения для папок с файлами 1С, нам остается последнее. Дать права группе IIS_IUSRS на папку, где у нас лежит сама база 1С.
Необходимые приготовления сделаны. Теперь переходим непосредственно к публикации.
Публикация 1С на веб сервере
Необходимо запустить 1С в режиме конфигуратора, выбрав нужную для публикации базу. В моем случае это пустая база и она одна.
В режиме конфигуратора 1с, переходим к меню Администрирование -> Публикация на веб-сервере.
Посмотрев на параметры и убедившись, что посути, нас все устраивает, нажимаем Опубликовать. Если публикация у вас прошла без ошибок, перейдем к последнему шагу.
Настройка IIS для работы с 32-битным модулем расширения веб-сервера 1С
Напомню вам, что мы использовали 32-битную платформу и модуль расширения веб-сервера от 1с соответственно. Поэтому нам в таком случае еще необходимо разрешить выполнять пулу приложений по умолчанию — DefaultAppPool выполнять 32-битные приложения. Это сделать не сложно. Идем Диспетчер сервера -> Роли -> Веб-сервер(IIS) -> Диспетчер служб(IIS) -> Пулы приложений -> DefaultAppPool. Правой кнопкой мышки по DefaultAppPool вызываем контекстное меню и выбираем в нем Дополнительные параметры.
Ищем строчку Разрешены 32-разрядные приложения и напротив ставим TRUE
Настройка IIS для работы с 64-битным модулем расширения веб-сервера 1С
Если мы использовали 64-разрядную платформу и модуль веб расширения соответственно, то необходимо проделать манипуляции такого рода:
Идем Диспетчер сервера -> Роли -> Веб-сервер(IIS) -> Диспетчер служб(IIS) -> И выбираем приложение преобразованное из виртуального каталога с именем, что мы задавали при публикации базы. В правом поле переходим в раздел Сопоставление обработчиков (Handler Mappings).
Теперь нам необходимо лишь заменить 32-разрядный обработчик, что стоит сейчас по умолчанию, на 64-разрядный. Для этого заходим в первую строчку 1C Web-service Extension и с помощью кнопки обзор указываем расположения модуля 64-разрядной версии wsisapi.dll.
Проверяем результат
Выполнив эти на самом деле не сложные шаги, переходим к проверке результата. Открываем любой браузер, что есть под рукой, в моем случае это оказалась Mozilla Firefox portable. Забиваем в адресную строку http://localhost/Infobase.
Разрешаем установку данного плагина, после установки он попросит нас разрешить ему перезапустить браузер. Разрешаем. В итоге у нас все работает и выглядит это так:
Далее неплохо бы было сменить стандартные порты, либо перекросить их в маршрутизаторе, выводя базу в интернет. Но это уже другая статья ????