> For the complete documentation index, see [llms.txt](https://vsydorenko.gitbook.io/sysadminisnotes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vsydorenko.gitbook.io/sysadminisnotes/1c-ta-nalashtuvannya/ustanovka-iis-i-publikaciya-bazy-1s.md).

# Установка IIS и публикация базы 1С

## Установка WEB сервера IIS

Если установка и настройка операционной системы была произведена по инструкции из этих заметок администратора, скорее всего, веб сервер IIS уже установлен и осталось только проверить нужные установленные компоненты для работы баз на платформе 1С:Предприятие.

### Выбор компонент для установки

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

#### Общие функции HTTP (Common HTTP Features):

* [ ] Статическое содержимое (Static Content)
* [ ] Документ по умолчанию (Default Document)
* [ ] Обзор каталогов (Directory Browsing)
* [ ] Ошибки HTTP (HTTP Errors)

#### Разработка приложений (Application Development):

* [ ] ASP
* [ ] 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)

После выбора (проверки) всех нужных компонент, нажимаем «*Далее*» (Next).

### Проверка установки и работоспособности WEB сервера

Возвращаемся в диспетчер серверов, в меню «*Средства*» (Tools) выбираем появившейся там  пункт «*Диспетчер служб IIS*» (Internet Information Services).

![](/files/kdKRGJUbMx0fPDZt3b7L)

В запустившемся Диспетчере служб IIS, в окне подключений (Connections) увидим только что установленные веб-сервер (соответствует сетевому имени компьютера) а также один веб-сайт, добавленный по умолчанию, с названием Default Web Site.

![](/files/cv1uz7xX1UcoRnSfXjSB)

Данный сайт представляет одну веб-страницу с приветствием на различных языках и откликается на все запросы к данному веб-серверу по **80**-му порту. Чтобы просмотреть его, достаточно запустить веб-браузер и ввести в строку адреса [http://localhost](http://localhost/).

![](/files/UGDHClYjfGKpo76C5srR)

Также этот сайт можно просмотреть с любого другого компьютера в сети, забив в строку адресе IP компьютера где установлен веб-сервер IIS.

![](/files/qts3BEMgTD3mBbw5TWZl)

Файлы этого сайта, как и файлы всех других добавленных позже сайтов по умолчанию располагаются в каталоге **C:\interpub\wwwroot**.

![](/files/158JraF2mI8m3SyCeZQT)

## Проброс портов&#x20;

### Настройка портов на Windows Server

По умолчанию, порт веб сервера IIS **80**, но его можно изменить тут:

![](/files/P8tVXzy00AoqJuyhoLFB)

![](/files/-MBugayTB7wmkyLSBHI4)

Так же, нужно открыть входящее соединение для использованного порта в Брандмауэте Виндовс:

![](/files/-MBumS_q-cCdaLGUcKLO)

### Настройка потров на ProxMox

Для того, чтобы сайты расположенные на данном веб-сервере были доступны из сети Интернет по внешнему IP-адресу, необходимо на маршрутизаторе выполнить проброс порта работы веб сервера  на компьютер с установленным веб-сервером IIS.

В консоли ProxMox вызываем файловый менеджер с помощью команды:

```
MC
```

![](/files/-M5mzKVGWiIu0NqIwRlY)

И переходим к файлу

```
/etc/network/interfaces
```

![](/files/-M5mzp20VESxOiyQ2Dox)

Если появится вопрос о способе редактирования, выбираем пункт nano

В низ файла нужно дописать такую команду:

```
        post-up   iptables -t nat -A PREROUTING -p tcp -m tcp -d IP_АДРЕС_ХОСТА --dport ВНЕШНИЙ_ПОРТ -j DNAT --to-destination IP_АДРЕС_ВМ:ПОРТ_ВЕБ_СЕРЕРА
```

Пример заполненного файла настроек проброса порта:

![](/files/-MBugvYVpi9cp1IL2Rd2)

Проверить таблицу маршрутизации можно в консоле с помощью команды:

```
iptables -t nat -L
```

Перезагружать хост **ОБЯЗАТЕЛЬНО**. Если все сделано правильно, доступ в базу через интернет из браузера появится:

![](/files/-MBumtQrPgE3zmWaAxkN)

## Установка компонент платформы 1С:Предприятие

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

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

![](/files/0JnSF8T60MdO13ckW4vG)

Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить [программу установки 64-разрядного сервера](http://tavalik.ru/ustanovka-servera-1spredpriyatie-8-na-ms-sql-server-2012-2008-r2/) из соответствующей поставки «1С:Предприятие» и установить компоненту:

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

![](/files/faLLYfWNT9LRr0hCEKqS)

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

### Права доступа на каталог **C:\inetpub\wwwroot\\**&#x20;

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

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

Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «*Свойства*» (Properties).

![](/files/AIV4evUvYTOMxIGQtcua)

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

![](/files/XHCpvkkJ9Npj5sGP0SKj)

### Права доступа на каталог **C:\Program Files\1cv8\\**

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

![](/files/ksH0WoxgYEC1HJOPw5g1)

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

![](/files/wNmo6VQmJZxEu3hNa5di)

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

![](/files/IJsZZgu6AVkNBbKrfrkb)

### Права доступа на каталог с файловой информационной базой

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

![](/files/492qwHa7znPPqrX4FgAN)

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

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

![](/files/JfQddv8TCiaKu6FYLGAm)

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

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

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

![](/files/sZCz0hvvR5C8XwatAUeJ)

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

![](/files/E6EgimYfbl2cccWtn0zF)

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

## Настройка IIS

### Настройка от платформы 1С:Предприятие

Отмечу, что, если используется 64-разрядная платформа, тогда останется только провести регистрацию, исполняемого модуля веб-расширения 1С в информационном интернет сервере (IIS). Это можно сделать с помощь специального файла «**webinst.exe**», который необходимо просто запустить от имени администратора и дождаться окончания выполняемых процедур. Располагается этот волшебный файл в каталоге bin, в директории, где была установлена 1С. После того как файл завершит работу, модуль будет зарегистрирован.

### Для использования 32-разрядного модуля расширения веб-сервера

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

![](/files/nvBFqFABT9eTh2uhwT3B)

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

![](/files/Ly3gkuv9x0VpexL5MtER)

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

![](/files/xeTuVqEd8ruma00cClRk)

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

![](/files/sYI2DlzDOUdZWDdKKGmM)

### Для использования 64-разрядного модуля расширения веб-сервера

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

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

![](/files/nImBFsFgD6xuutFPINki)

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

![](/files/7h0iLD3dzwcMlcfBtOeK)

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

![](/files/EbHrc83jBEtdgtsbfADs)

Отредактируем обработчик, заменив путь к исполняемой 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**» воспользовавшись кнопкой выбора. Изменив путь нажимаем «*ОК*» для сохранения изменений.

![](/files/J86bVGH4X4babbdXioq3)

### Если база открывается, но формы списков и элементов не работают

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

![](/files/-MFocG0c8KIHHL7nA5vc)

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

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

![](/files/y0zNGsHe8Js27PNWFOjh)

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

В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте [здесь](http://tavalik.ru/dobavlenie-veb-sajta-v-spisok-nadezhnyx-uzlov-ie/).

![](/files/gJ2TZeN10QUgzs4PN1IC)

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

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

![](/files/R8tIYZ1UJLqpnTNYDx82)

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

![](/files/dWeDo4ae4IDyZonkJRqS)

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

![](/files/6G7RK5RpSVpeJ9qsZEzD)

Вводим строку адреса для подключения к информационной базе (без префикса /ru\_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «*Далее*».

![](/files/7jaxXvx3NoMjBeKBGsi0)

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

![](/files/vUYi7FZM2Luh74zMSpon)

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

![](/files/ynVtRgxXIDEUQpWXUCuY)

![](/files/acvLz7Ybyqdf9IZQiTEZ)

## Конфигурационные файлы виртуального каталога

Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать [здесь](http://tavalik.ru/files/Public_1C_Web/Accounting.zip)).

Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

* **default.vrd**
* **web.config**

![](/files/jYX951IzvQp7ZdUWy6XD)

Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

### Файл default.vrd

В файле **default.vrd** описываются опубликованные Web-сервисы (элемент **\<ws>**), а также указывается имя виртуального приложения (атрибут **base**) и строка подключения к информационной базе «1С:Предприятие» (атрибут **ib**). В данном примере для файловой информационной базы, строка подключения будет следующей:

```
ib="File=&quot;C:\1C_BASE\DemoAccounting&quot;;"
```

Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (<http://www.w3.org/TR/xml11/>), они должны быть заменены соответствующим образом.

![](/files/yfmslxr0WanKKTLPG62u)

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

```
ib="File=&quot;C:\1C_BASE\DemoAccounting&quot;;Usr=Продавец;Pwd=123;"
```

Для [серверной информационной базы](http://tavalik.ru/ustanovka-servera-1spredpriyatie-8-na-ms-sql-server-2012-2008-r2/) строка подключения будет иметь вид:

```
ib="Srvr=&quot;WIN2012&quote;;Ref=&quote;Accounting&quote;;"
```

Где **WIN2012** — имя кластера серверов «1С:Предприятие», а **Accounting** — имя базы данных в кластере.

![](/files/mjqomAFPSz5blQEyMyab)

Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

### Файл web.config

Файл **web.config** — это файл, определяющий параметры для [ASP.NET](http://ru.wikipedia.org/wiki/ASP.NET) web-приложения. В каждом web-приложении должен быть файл **web.config**, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке **wsisapi.dll**, расположенной в каталоге **bin**, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

![](/files/mt4BXvnhz88eTDEERWAZ)

Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «*Сопоставления обработчиков*» (Handler Mappings).

![](/files/JVwG7TvEz95jBaNzRUgo)

В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «*Действия*» (Actions) пункт «*Добавление сопоставления сценария с подстановочными знаками*» (Add Wildcard Script Map…).

![](/files/qF2a3EIhqvLPwQfcgoy6)

При добавлении вводим имя обработчика и указываем путь к файлу **wsisapi.dll**. Данные параметры можно изменить и для действующего обработчика выбрав пункт «*Изменить…*» (Edit…) в окне списка действий.

![](/files/yV35I3NqMDOZVXoYICo3)

Необходимо также убедиться, что для обработчика стоит флаг «*Выполнение*» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «*Изменение разрешений функции…*» (Edit Feature Permissions…) в окне «*Действия*» (Actions).

![](/files/lJGush9fBhjkYthPsFTs)
