# Установка 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vsydorenko.gitbook.io/sysadminisnotes/1c-ta-nalashtuvannya/ustanovka-iis-i-publikaciya-bazy-1s.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
