Свой интерфейс взаимодействия с 1с на iis. Настройка веб-серверов для работы с «1С:Предприятием

Говорят, в 1С-программировании есть чистые эльфы.

Утонченные разработчики, которые по исчерпывающим ТЗ создают нетленные творения в светлых комнатах с тихой музыкой и приглушенным светом:)

С еженедельными meetup и обсуждением scrum-“куриц” за кофе с капкейком:)

Мы читали про них, но пока не видели.

Работа программиста / внедренца 1С
(и вообще большинства специалистов по 1С)
– это не только программирование

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

Понятно, что с добавлением новых пользователей или расстановкой флажков при настройке прав – все более-менее справляются:)

Но есть и темы, которые явно не стали “массовым знанием”.

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

Запуск 1С:Предприятия под веб-клиентом

Cегодняшняя тема – родом из летнего опроса (да, мы читаем ответы:)

Тема “1С и web” продолжает оставаться относительно новой, для многих – terra incognita, с которой еще предстоит разбираться.

Поэтому – забирайте:

Вводная информация по запуску 1С под веб-клиентом

Самый первый, вводный видео-урок.

Особенности веб-клиента

Веб-клиент – одно из клиентских приложений в платформе «1С:Предприятие», причем он существенно отличается от толстого или тонкого клиента.
Рассмотрим особенности и отличительные моменты веб-клиента

Общая схема работы с информационными базами «1С:Предприятие» через веб-браузер

В этом видео рассматривается, как организована работа с информационными базами «1С:Предприятие» при использовании веб-браузера.
Какие веб-серверы можно использовать и какие конфигурации можно запустить под веб-клиентом.

Публикация базы на веб-сервере

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

Установка веб-сервера IIS на Windows Server 2008. Публикация информационной базы «1С:Предприятие»

Один из веб-серверов, с которым может работать «1С:Предприятие», – это IIS от Microsoft. Он входит в поставку Windows Server.
В этом видео рассказывается, как установить IIS и выполнить на нем публикацию информационной базы под Windows Server 2008.
Подключаемся к опубликованной базе при помощи Internet Explorer.

Настройки публикации в диспетчере служб IIS

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

Особенности публикации файловых информационных баз

В этом видео рассматриваем, какие ошибки с правами доступа могут возникать при публикации файловых информационных баз.

Подключение к опубликованной на веб-сервере базе при помощи тонкого клиента

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

Установка веб-сервера IIS на Windows Server 2012 R2. Настройка работы с 32-битным расширением

В этом видео рассматривается процесс установки веб-сервера IIS под ОС Windows Server 2012 R2.
Рассказывается, какие настройки необходимо сделать, чтобы обеспечить работу 32-битного расширения под 64-битную ОС.

Публикация информационной базы на веб-сервере под Windows Server 2012 R2

В этом видео рассказывается, как выполнить публикацию информационной базы под ОС Windows Server 2012 R2, что публикация должна выполняться в конфигураторе от имени администратора.

Настройка 64-разрядного модуля расширения веб-сервера для IIS

В этом видео рассказывается, как установить 64-битный сервер «1С:Предприятие» и как настроить веб-сервер на работу с этой платформой.

После выхода новых платформ 1С (например, уже в 8.3.11.2867) на 64-х разрядных системах Windows апач версии 2.0, 2.2 работать перестает. Есть выход перейти на 2.4. Его установка несколько сложнее, чем обычная — установочных файлов нет, поэтому все нужно запускать и настраивать вручную. С учетом того, что мне интересно было использовать IIS, решил заодно и статью написать.

  1. Для Windows х64 потребуется дистрибутив 1С х64 (это касается как сервера, так и клиентских приложений)
  2. Установка веб-сервера IIS

Устанавливаем веб-сервер Internet Information Server. При установке обязательно выбираем компоненты:

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP.NET 3.5
    • Расширяемость.NET 3.5 (.NET Extensibility 3.5)
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)
  • Исправление и диагностика (Health and Diagnostics)
    • Ведение журнала HTTP (HTTP Logging)
    • Монитор запросов (Request Monitor)
  • Средства управления (Management Tools)
    • Консоль управления IIS (IIS Management Console)

4. Потом даем права для пользователей IIS_IUSRS и IUSR на папки:

  • папки с установленной платформой;
  • папки с публикациями баз;
  • папки самих баз (в случае файлового варианта).

6. Настройка IIS для использования 32х разрядного модуля расширения веб-сервера

Средства » (Tools) - «Диспетчер служб IIS

Default Web Site - появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений » (Application Pools).

В списке пулов приложений найдем пул с именем DefaultAppPool . Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры » (Advanced Settings).

В открывшемся окне параметров пула приложения, в группе «Общие » (General) найдем пункт «Разрешены 32-разрядные приложения » (Enable 32-Bit Applications) и установим значение параметра равным True . Затем сохраним изменения нажав «ОК ».

7. Настройка IIS для использования 64х разрядного модуля расширения веб-сервера

Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin , каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства » (Tools) - «Диспетчер служб IIS » (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию - Default Web Site - появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков » (Handler Mappings) на начальной странице приложения.

В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:\Program Files (x86)\1cv8\8.3.?.??\bin\wsisapi.dll » на «C:\Program Files\1cv8\8.3.?.???\bin\wsisapi.dll » воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК » для сохранения изменений.

Печать (Ctrl+P)

Настройка веб-серверов для работы с «1С:Предприятием»

1. Общая информация

Данная статья описывает механизм настройки веб-серверов для работы с веб-клиентом и Web-сервисами, а также настройка поддержки OpenID-аутентификации. После публикации обращение к опубликованным компонентам будет выполняться следующим образом:
● Обращение к веб-клиенту. Для запуска веб-клиента необходимо использовать адрес, который формируется по следующим правилам: <Имя хоста веб-сервера>/<Имя виртуального каталога> . Если имя виртуального каталога DemoCfg , то для запуска веб-клиента следует набрать следующий URL (для получения доступа с локальной машины): http://localhost/DemoCfg.
● Обращение в Web-сервису. Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Имя Web-сервиса> или <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Адрес Web-сервиса> .
Так, если виртуальный каталог имеет имя DemoWS , имя Web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS , а в качестве адреса указано DemoWorkWS , то обращение к Web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины):
http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS .
Подробнее про Web-сервисы .
● Обращение в HTTP-сервису. Для получения доступа к HTTP-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/hs/<путь к ресурсу>.
Подробнее про HTTP-сервисы см. здесь.
● OpenID-аутентификация выполняется системой автоматически.
Веб-серверы семейства Internet Information Services (далее IIS) поставляются вместе с операционной системой, и для упрощения понимания, какой веб-сервер вы используете, приведем таблицу соответствия версии веб-сервера и операционной системы:

Версия IIS Версия операционной системы
IIS 5.1 Windows XP Professional
IIS 6.0 Windows Server 2003 или Windows XP Professional x64 Edition
IIS 7.0 Windows Vista или Windows Server 2008
IIS 7.5 Windows 7 или Windows Server 2008 R2
IIS 8.0 Windows 8 или Windows Server 2012
IIS 8.5 Windows 8.1 или Windows Server 2012 R2
IIS 10.0 Windows 10

Дистрибутив веб-сервера Apache (как для ОС Windows, так и для ОС Linux) можно получить на веб-сайте проекта: http://httpd.apache.org/download .

2. Общие требования

На компьютере, где выполняется публикация, должен быть установлен и настроен поддерживаемый веб-сервер. Для установки веб-сервера Internet Information Services может потребоваться дистрибутив используемой операционной системы. При установке веб-сервера необходимо обязательно установить поддержку ISAPI расширений. Для установки веб-сервера требуются административные привилегии на компьютере, на который будет установлен требуемый веб-сервер. Публикация может выполняться двумя способами:
● С помощью диалога публикации на веб-сервере, если на компьютере с веб-сервером имеется возможность запустить конфигуратор необходимой разрядности.
● С помощью утилиты webinst.(Вызывать утилиту webinst следует из каталога bin 32-разрядной версии «1С:Предприятия»)

Для выполнения публикации на веб-серверах необходимы административные привилегии на компьютере, где выполняется публикация:

● Для ОС Windows Vista и старше, чтобы выполнить публикацию, следует запускать конфигуратор с помощью пункта Запуск от имени администратора контекстного меню приложения или программы запуска. Если публикация выполняется с помощью утилиты webinst, то от имени администратора должна быть запущена или сама утилита, или интерпретатор командной строки Windows.
● Для ОС Linux, чтобы выполнить публикацию, следует получить права суперпользователя (пользователь root) с помощью команды su или запускать приложение, которое выполняет публикацию, с помощью команды sudo.

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

● При публикации из конфигуратора пользователю задается вопрос о необходимости продолжить публикацию. В диалоге указывается причина возникновения (диалога) и присутствуют рекомендации по тому, как получить необходимые привилегии.
● При публикации с помощью утилиты webinst пользователю выдается диагностическое сообщение, но публикация продолжается.

Публикация возможна только в том случае, если «1С:Предприятие» расположено на компьютере с веб-сервером.
Для веб-сервера IIS 7.x и старше не поддерживается публикация в том случае, если свойство Каталог (или параметр dir утилиты webinst) указывает на каталог %SYSTEMDRIVE%\Inetpub\wwwroot.
ПРИМЕЧАНИЕ. Для работы с конфигурацией через веб-сервер конфигурация не должна быть пустой.

3. Виды публикации

3.1. Общая схема публикации

Общая схема публикации выглядит следующим образом:

● выполняется регистрация модуля обработки запросов (модуля расширения веб-сервера), соответствующего веб-серверу;
● на веб-сервере регистрируется виртуальное приложение;
● создается каталог виртуального приложения, и в нем размещается файл default.vrd и выполняется его настройка;
● для пользователей назначаются права на каталог с файлом базы данных (только для файлового варианта).

Для публикации веб-клиента следует использовать версию «1С:Предприятия», использующуюся для работы с информационной базой, к которой планируется получить доступ с помощью веб-клиента. Если на компьютере установлены две версии, например, 8.3.3.100 и 8.3.3.150 и запущен сервер «1С:Предприятия» версии 8.3.3.150 , то для публикации следует использовать конфигуратор или утилиту webinst ровно этой же версии.
При выполнении публикации следует помнить, что разрядность регистрируемого расширения веб-сервера должна совпадать с разрядностью самого веб-сервера.

При публикации на веб-сервере IIS следует помнить, что:
● Публикация всегда выполняется для веб-сайта по умолчанию (Default Web Site);
● Публикация всегда выполняется для пула приложений по умолчанию (DefaultAppPool);
● Для пула приложений, используемого для работы «1С:Предприятия», должна быть отключена поддержка среды.NET. Для этого следует установить свойство пула приложений Версии среды.NET Framework в значение Без управляемого кода.
Для выполнения публикации из конфигуратора, необходимо воспользоваться диалогом публикации (Администрирование – Публикация на веб- сервере… ).

Рис. 1. Публикация на веб-сервере

Затем следует выполнить следующие действия:
● Ввести имя виртуального каталога в поле Имя , при этом имя виртуального каталога может состоять только из символов латинского алфавита.
● В поле Веб-сервер указать тип веб-сервера, для которого выполняется публикация.
● В поле Каталог указать физическое местоположение каталога, в котором будут расположены файлы, описывающие виртуальный каталог. При использовании веб-сервера Apache имя каталога должно состоять только из символов латинского алфавита.
● В зависимости от необходимости установить флажки Публиковать тонкий и веб-клиент и Публиковать Web-сервисы .
● Для веб-сервера IIS можно указать необходимость выполнять аутентификацию на веб-сервере средствами ОС.
● При необходимости выбирать Web-сервисы, которые необходимо опубликовать. Колонка Адрес может быть изменена. В данной колонке задается синоним Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по синониму.
● При необходимости – выполнить настройки остальных параметров публикации.
● Нажатие кнопки Опубликовать запускает процесс публикации. Нажатие кнопки Отключить выполняет удаление публикации с выбранного веб-сервера.

После выполнения публикации будет предложено перезапустить веб-сервер в следующих случаях:
● изменилась версия «1С:Предприятия»;
● изменился путь к модулю расширения веб-сервера;
● выполнена новая публикация для веб-сервера Apache;
● выполнено отключение публикации.
При использовании анонимной аутентификации и файловой информационной базы, при выполнении публикации происходит проверка наличия прав доступа на каталог информационной базы у пользователя, от лица которого выполняется анонимный доступ. Если пользователь не обладает необходимыми правами, выдается предупреждение о невозможности работы с этой информационной базой через веб-сервер. Рекомендуется или дать права на каталог с информационной базой, или установить флажок Использовать аутентификацию операционной системы на веб-сервере.
Если публикация из конфигуратора недоступна (например, при использовании 64-разрядной ОС Windows), публикацию можно выполнить с помощью
утилиты командной строки webinst, которая доступна в ОС Windows и Linux в обеих разрядностях. Далее будет подробно описан диалог публикации и
ключи командной строки утилиты webinst.

3.2. Диалог публикации

Диалог публикации служит для создания публикации или подготовки файла-шаблона для публикации с помощью утилиты webinst (с использованием параметра командной строки -descriptor).
Все параметры, которые можно редактировать при создании публикации, размещены на двух закладках. Рассмотрим их подробнее.

3.2.1. Кнопки диалога

Кнопка Опубликовать выполняет публикацию на веб-сервере. При публикации происходит создание каталога на диске и настройка указанного веб-сервера для работы с «1С:Предприятием». Следует помнить, что публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию (Default Web Site ) и для пула приложений по умолчанию (DefaultAppPool ).
Под ОС Linux выполняются следующие действия:
● Для каталога, в котором расположен файл default.vrd , в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер;
● Для файла default.vrd устанавливается доступ по чтению для группы, включающей пользователя, от имени которого работает веб-сервер.
В случае публикации файловой информационной базы, для каталога с файлом информационной базы в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер, а также настраивается наследование группы-владельца для обеспечения работы с информационной базой.

Рис. 2. Публикация на веб-сервере

Кнопка Отключить выполняет удаление приложения из веб-сервера и каталога публикации, если это необходимо.
Кнопка Сохранить выполняет сохранение параметров, указанных в диалоге публикации на веб-сервере, в файл. При сохранении система запрашивает имя и место расположения файла, в который будет выполнено сохранение. Сохранение будет выполнено в формате файла default.vrd . С помощью этой команды можно создавать файлы шаблонов, которые будут использоваться в качестве параметра -descriptor утилиты webinst. В качестве значений атрибутов ib и base элемента point будут записаны параметры той информационной базы, из которой выполняется сохранение файла.
Кнопка Загрузить позволяет загрузить для редактирования произвольный файл default.vrd. При загрузке игнорируются атрибуты ib и base элемента point загружаемого файла.
Кнопка Закрыть выполняется закрытие диалога.
Кнопка Справка открывает окно со справочной информацией о диалоге публикации.

3.2.2. Закладка «Основные»
3.2.2.1. Общие параметры
Рис. 3. Публикация на веб-сервере. Основные

На данной закладке можно задать основные параметры публикации.
Имя. Указывает имя публикации. При публикации с помощью утилиты webinst описывается параметром -wsdir . В файле default.vrd соответствует атрибуту base элемента point.

Веб-сервер . Указывает, для какого веб-сервера выполняется публикация. Веб-сервера Apache добавляются в список в том случае, если они обнаружены на компьютере. При публикации с помощью утилиты webinst , используемый веб-сервер указывается одним из параметров iis, apache2 , apache22 или apache24 . При работе в ОС Linux возможна публикация только для веб-сервера Apache.
В том случае, если система не смогла однозначно определить версию установленного на компьютере веб-сервера Apache (2.2 или 2.4), в списке будут присутствовать обе версии веб-сервера. При этом следует учитывать, что для веб-сервера Apache версии 2.2 и 2.4 различаются изменения, выполняемые в конфигурационном файле веб-сервера. Поэтому неверное указание версии веб-сервера приведет к неработоспособности публикации.

Каталог . Указывает физический каталог на диске, в котором будет находиться файл default.vrd и куда будет отображен виртуальный каталог веб-сервера. Каталог должен существовать. При публикации с помощью утилиты webinst описывается параметром -dir.

Публиковать тонкий и веб-клиент . Отвечает за возможность работы с опубликованной информационной базой с помощью тонкого и веб-клиента. Если флажок установлен, возможна работа с опубликованной информационной базой с помощью тонкого и веб-клиента. В файле default.vrd соответствует атрибуту enable элемента point .

Публиковать стандартный интерфейс OData . Отвечает за возможность получения доступа к стандартному интерфейсу OData прикладного решения. Подробнее механизм стандартного интерфейса OData описан в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту enableStandardOData элемента point .

Публиковать дистрибутив . Определяет возможность получения и установки клиентского приложения в том случае, если не совпадают версии клиентского приложения и сервера. В качестве дистрибутива используется zip-архив, полное имя которого указывается в качестве значения свойства Расположение публикуемого дистрибутива. В файле default.vrd эти свойства соответствуют атрибуту pubds t элемента point . В архиве должен
располагаться дистрибутив клиентского приложения. При установке будут использоваться параметры установки, указанные в файле 1cestart.cfg (аналогично обычной установке клиентского приложения).

Использовать аутентификацию операционной системы. Разрешает системе установить возможность аутентификации ОС на веб-сервере IIS.

Адрес перехода при окончании работы веб-клиента позволяет указать URL, на который будет выполняться переход после окончания работы веб- клиента. В файле default.vr d соответствует элементу exitURL .

3.2.2.2. Закладка Web-сервисы
Рис. 4. Публикация Web-сервисов

Публиковать Web-сервисы . Установка данного флажка приведет к тому, что будут опубликованы Web-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту enabl e элемента ws . Если флажок сброшен, то это эквивалентно отсутствию элементу ws в файле default.vrd или наличие элемента ws с атрибутом enable, установленным в значение true.

Публиковать Web-сервисы по умолчанию . Отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования. В файле default.vrd соответствует атрибуту pointEnableCommon элемента ws.
Таблица ниже флажка Публиковать Web-сервисы содержит перечень публикуемых Web-сервисов и позволяет управлять публикацией каждого Web-сервиса. Первая колонка управляет публикацией конкретного Web-сервиса. Если флажок сброшен, то данный Web-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента point .
Вторая колонка (с именем Имя) содержит имя Web-сервиса, как оно задано при создании. Описание Web-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента point.
Последняя колонка таблицы (с именем Адрес) содержит псевдоним имени публикуемого Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по псевдониму. Псевдоним Web-сервиса можно редактировать в окне публикации. В файле default.vrd соответствует атрибуту alias элемента point.
Web-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.
Публиковать Web-сервисы расширений по умолчанию. Отвечает за возможность использования Web-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefault элемента ws .

3.2.2.3. Закладка HTTP-сервисы

Закладка HTTP сервисы предназначена для управления возможностью доступа к прикладному решению с помощью HTTP-сервисов.

Рис. 5. Публикация HTTP-сервисов

Установка данного флажка приведет к тому, что будут опубликованы HTTP-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту publishByDefault элемента httpServices. Если флажок сброшен, то это эквивалентно отсутствию элементу httpServices в файле default.vrd или наличие элемента httpServices с
атрибутом publishByDefault , установленным в значение false .

Таблица ниже флажка Публиковать HTTP сервисы по умолчанию содержит перечень публикуемых HTTP-сервисов и позволяет управлять публикацией каждого HTTP-сервиса. Первая колонка управляет публикацией конкретного HTTP-сервиса. Если флажок сброшен, то данный HTTP-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента service .
Вторая колонка (с именем Имя ) содержит имя HTTP-сервиса, как оно задано при создании. Описание HTTP-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента service .
HTTP-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.

Публиковать HTTP-сервисы расширений по умолчанию. Отвечает за возможность использования HTTP-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefaul t элемента httpServices

3.2.3. Закладка «Прочие»
Рис. 6. Прочие параметры публикации на веб-сервере

На данной закладке можно изменить вспомогательные параметры публикации.

Каталог временных файлов . Позволяет указать каталог временных файлов для работы расширения веб-сервера или файлового варианта информационной базы. В файле default.vrd соответствует атрибуту temp элемента point .

Группа Пул соединений . Описывает элемент pool файла default.vrd. Подробнее см. здесь. Также параметры этой группы управляют работой системы отслеживания разрыва соединений.

Группа Отладка. Описывает элемент debug файла default.vrd.

Группа OpenI D. Описывает элемент openid файла default.vrd.

Разделение данных . Описывает элемент zones файла default.vrd. Подробнее остановимся на структуре таблицы с разделителями.

В таблицу попадают все независимые разделители, существующие в конфигурации или загруженном файле. Первая колонка (без имени) определяет необходимость создания элемента zone для выбранного разделителя. Следует помнить, что сопоставление элемента выполняется не по имени разделителя, а по его порядковому расположению в списке. Если отключается первый разделитель, то имеет смысл отключить и все остальные, т. к. параметры элемента zones будут применены системой к другим разделителям.
Колонка Имя содержит имя разделителя, как оно задано в свойствах общего реквизита. Флажок в следующей колонке определяет, будет задано значение разделителя в элементе zone или нет. Если флажок установлен, то в качестве значения атрибута value будет использовано значение из колонки Значение.
Флажки в колонках Указание и Безопасное отвечают за атрибуты safe и specify (соответственно) элемента zone файла default.vrd.
Параметр Фоновые задания в файловом варианте описывает возможность использования фоновых заданий в файловом варианте информационной базы (атрибут allowexecutescheduledjobs корневого элемента point ).

Имеется windows-сервер c 1С 8.3 (БД - MSSQL).
Задача - настроить публикацию базы на линуксовом web-сервере.
Тонкости - модуль 1С для апача работает только с 2.0 и 2.2, а текущая версия в большинстве дистрибутивов - 2.4+
Пишется больше для себя, чтобы не забыть. Ну и мало ли, вдруг пригодится еще кому - не придется бегать по форумам в поисках нужных команд.

Железо - дал гигабайт оперативки, одно ядро и 20 гигабайт диска. Увеличить никогда не поздно.
ОС: Debian Stable, привык я к нему.

Ставлю минимум, включая ssh-сервер, но не включая web. К этому еще вернемся.

После установки базовая настройка по вкусу, я обычно ставлю локаль utf8, ставлю sudo, mc и vim, остальное по потребностям.
Дальше надо поставить apache 2.2. Причем сделать это правильным способом, а не просто скачав deb-пакет. :)

Сперва добавляем в /etc/apt/sources.list строчки со ссылкой на предыдущую версию дистрибутива.
deb http://mirror.yandex.ru/debian/ wheezy main deb-src http://mirror.yandex.ru/debian/ wheezy main
Можно, конечно, написать oldstable - в настоящий момент тоже будет правильно. Но только в настоящий, потому рано или поздно выйдет новая стабильная версия и в oldstable и тогда вместо apache 2.2 там будет 2.4. Хотя, надеюсь, к тому времени 1С обновится и заработает с более новыми версиями апача. Но кто их знает? :)
Где mirror.yandex.ru - там пишется имя вашего любимого сервера с репозиторием.

Потом обновляем индексы - apt-get update - и смотрим, что у нас тут есть по apache командой apt-cache showpkg apache2
Там много всего выводится, но нас интересует только начало вывода:
Package: apache2 Versions: 2.4.10-10+deb8u3 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.4.10-10+deb8u1 (/var/lib/apt/lists/security.debian.org_dists_stable_updates_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.2.22-13+deb7u6 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-ru MD5:

Видим, что кроме 2.4.10 имеется версия 2.2.22-13+deb7u6 - то, что нужно.
Ставим: apt-get install apache2=2.2.22-13+deb7u6
Или, точнее: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13+deb7u6 , а остальные зависимости уже подтянутся автоматом.

После этого ставим апачей на холд, чтобы не обновить случайно.

Apt-mark hold apache2 apache2-mpm-worker apache2.2-common apache2.2-bin apache2 помечен как зафиксированный. apache2-mpm-worker помечен как зафиксированный. apache2.2-common помечен как зафиксированный. apache2.2-bin помечен как зафиксированный.
Можно запустить service apache2 start и стукнуть телнетом на 80 порт для проверки, если лень браузер запускать.

telnet localhost 80
Trying::1... Connected to localhost. Escape character is "^]". 1 501 Method Not Implemented

Method Not Implemented

1 to /index.html not supported.


Apache/2.2.22 (Debian) Server at 1cweb Port 80
Connection closed by foreign host.

Ругается - значит работает.

Теперь ставим 1С.
Нужны только веб-сервисы 1С (пакет 1c-enterprise83-ws ). И 1c-enterprise83-common , который в зависимостях прописан. И 1c-enterprise83-server , который в зависимостях не прописан, но без него утилита публикации пишет «Ошибка сегментирования».
В принципе, необходим только модуль для апача wsap22.so из пакета 1c-enterprise83-ws , а всё остальное можно через текстовый редактор сделать. Но я человек ленивый и лучше потрачу несколько мегабайт на 1С, чем буду руками вбивать строчки в конфиги. :)

Дальше надо создать папку для хранения настроек опубликованных БД 1С. Можно в дереве вебсервера, но я лучше отдельно сделаю, прямо в корне, /1с.
После этого из папки с установленными файлами 1С (/opt/1C/v8.3/i386 ) запускаем утилиту публикации webinst со следующими параметрами (публикую нашу тестовую базу):
./webinst -apache22 -wsdir testlitupp -dir /1c/testlitupp -connstr "Srvr=10.0.0.4;Ref=testlitupp;" -confPath /etc/apache2/apache2.conf Публикация выполнена

Apache22 - наша версия вебсервера
-wsdir testlitupp - папка на вебсервере, в которой будет доступна опубликованная база (http://вашсервер/testlitupp)
-dir /1c/testlitupp - папка, в которой будет храниться файл default.vrd с настройками публикации
-connstr «Srvr=10.0.0.4;Ref=testlitupp;» - ip сервера 1С и имя публикуемой базы данных
-confPath /etc/apache2/apache2.conf - путь к конфигу apache

Если было написано «Публикация выполнена», значит всё прошло удачно. Если пишет «Ошибка сегментирования», то вы, скорее всего, забыли поставить 1c-enterprise83-server .
По результатам имеем файл default.vrd

И несколько новых строк в файле конфигурации веб-сервера:

LoadModule _1cws_module "/opt/1C/v8.3/i386/wsap22.so" # 1c publication Alias "/testlitupp" "/1c/testlitupp/" AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/1c/testlitupp/default.vrd"
Перезапускаем апач (service apache2 restart) и идём смотреть, что там опубликовалось.
Опубликовалось, просит пароль.

И впускает в базу.

Работает. Дополнительные настройки публикации делаются через редактирование vrd-файлов (к примеру, включение отладки), а допиливанием интерфейса веб-клиента должны заниматься ваши программисты 1С.
Если будете дописывать опции, к примеру, с подключением сервисов руками, то не забудьте удалить в файле default.vrd последний слэш в строчке «base="/testlitupp" ib="Srvr=10.0.0.4;Ref=testlitupp;"/ >», я с этим долго возился. Если не удалить и что-то дописать после, то вылетает «ошибка 500» без дополнительной информации.
Какая будет нагрузка на вебсервер - я ещё не знаю, у нас это пока в тестовом режиме работает и хватает выделенных ресурсов. Но добавить памяти или ядер по мере увеличения потребностей проблем не составит.

В целом, в других дистрибутивах linux всё делается аналогично, различия только в способах установки старой версии apache.

Публикация баз данных «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012

В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2 ) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного , так и для 64-разрядного модуля расширения веб-сервера.

1. Что понадобится

  1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
    • Microsoft Windows Server 2012 (R2)
    • Microsoft Windows Server 2008 (R2)
  2. Права локального администратора на данном компьютере.
  3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389 . Для более старых версий «1С:Предприятие» (8.1 и 8.2 ) алгоритм публикации баз данных в целом аналогичен.

2. Установка веб-сервера IIS

Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP.NET 3.5
    • Расширяемость.NET 3.5 (.NET Extensibility 3.5)
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)
  • Исправление и диагностика (Health and Diagnostics)
    • Ведение журнала HTTP (HTTP Logging)
    • Монитор запросов (Request Monitor)
  • Средства управления (Management Tools)
    • Консоль управления IIS (IIS Management Console)

Подробно про процесс развертывания веб-сервера IIS я писал:

  • В Microsoft Windows Server 2012 (R2) — . IIS версии 8, после установки должны увидеть страницу Default Web Site вида:

3. Установка компонент «1С:Предприятие»

На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

  • 1С:Предприятие
  • Модули расширения веб-сервера

Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

  • Модуль расширения веб-сервера

4. Настройка операционной системы

Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:\inetpub\wwwroot\ ) необходимо дать полные права группе «Пользователи » (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства » (Properties).

В открывшемся окне свойств, переходим на вкладку «Безопасность » (Security) и нажимаем кнопку «Изменить » (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи » (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ » (Full control). Затем нажмем «Применить » (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК ».

Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS . Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи » (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить » (Add..), а в окне выбора групп или пользователей нажать «Дополнительно » (Advanced…).

Затем нажимаем расположенную справа кнопку «Поиск » (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК ».

Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить » (Apply) для сохранения изменений.

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

5. Публикация базы данных на веб-сервере

Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование » — «Публикация на веб-сервере… »

Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

  • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
  • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
  • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
  • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес » изменить синоним, по которому будет происходить обращение к данному Web-сервису.
  • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

Выбрав необходимые настройки публикации нажимаем «Опубликовать ».

Если публикация прошла без ошибок, увидим соответствующее сообщение.

Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool - без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

Средства » (Tools) — «Диспетчер служб IIS

Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений » (Application Pools).

В списке пулов приложений найдем пул с именем DefaultAppPool . Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры » (Advanced Settings).

В открывшемся окне параметров пула приложения, в группе «Общие » (General) найдем пункт «Разрешены 32-разрядные приложения » (Enable 32-Bit Applications) и установим значение параметра равным True . Затем сохраним изменения нажав «ОК ».

7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin , каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства » (Tools) — «Диспетчер служб IIS » (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков » (Handler Mappings) на начальной странице приложения.

В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:\Program Files (x86)\1cv8\8.3.4.389\bin\wsisapi.dll » на «C:\Program Files\1cv8\8.3.4.389\bin\wsisapi.dll » воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК » для сохранения изменений.

8. Подключение к опубликованной информационной базе через веб-браузер

Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы> . В данном примере это http://localhost/DemoAccounting/.

К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 , по внешнему) IP-адресу.

В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте .

9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить » для добавления информационной базы.

В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы » и нажмем «Далее ».

Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере » и нажмем «Далее ».

Указываем параметры запуска для информационной базы и нажимаем «Готово » для завершения работы мастера.

После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие » для подключения к информационной базе.