Iis публикация файлов и управление ими

Содержание

Развертывание веб-сайта с помощью IIS

ASP.NET — Веб-сайты ASP.NET — Развертывание веб-сайта с помощью IIS

После того как IIS 8 запущен, и вы научились им управлять, можно приступать к развертыванию веб-сайтов. В простейшем случае развертывание веб-приложений ASP.NET сводится к копированию структуры каталогов приложения на целевой компьютер и настройке среды. Для простых приложений это почти всегда так. Однако если приложение использует базы данных или обращается к другим ресурсам, придется выполнить ряд дополнительных шагов. Ниже перечислены обычные факторы, требующие дополнительных действий по конфигурированию:

Скопируйте все необходимые файлы приложения на целевой компьютер. Сверх этого делать ничего не понадобится. Однако при использовании глобальных сборок, доступ к которым осуществляется через GAC, необходимо удостовериться в их существовании. Если они не существуют, их необходимо установить с помощью утилиты командной строки gacutil.exe, входящей в состав .NET Framework.

Создайте и сконфигурируйте базу данных для приложения. Важно не только создать базу данных и ее таблицы, но и настроить учетные записи для входа на сервер базы данных и пользователей базы данных. Не забывайте, что в случае применения встроенной аутентификации для подключения к базе данных SQL Server учетную запись, под которой выполняется ASP.NET (учетная запись пула приложений или учетная запись aspnet_wp.exe), потребуется сконфигурировать в качестве пользователя базы данных приложения. Подход веб-развертывания может упростить развертывание базы данных. Если же применяется другой подход, конфигурирование и заполнение баз данных придется выполнить вручную.

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

Установите права учетной записи Windows для пользователя рабочего процесса. Пользователь, от имени которого запускается рабочий процесс (w3wp.exe), нуждается в доступе для чтения к каталогам приложения. Если приложение обращается к другим ресурсам, например, к системному реестру или к журналу событий, для учетной записи рабочего процесса понадобится сконфигурировать разрешение на доступ к этим ресурсам.

Если требуется обрабатывать любые URL-адреса с расширениями имен файлов, которые отличаются от расширений, зарегистрированных при установке ASP.NET по умолчанию, добавьте отображения файлов IIS.

Сконфигурируйте ASP.NET (и настройки IIS 8.0, специфичные для приложения) в файле web.config для производственных сред. Другими словами, добавьте (или модифицируйте) любые нужные строки соединения и параметры настройки приложения, а также параметры безопасности и авторизации, параметры настройки состояния сеанса и параметры настройки глобализации.

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

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

Развертывание посредством копирования файлов

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

Подготовка IIS

Прежде чем развертывать веб-сайт, нужно подготовить IIS. Главное решение, которое нужно принять, касается места размещения содержимого и его влияния на конечный URL-адрес. Начнем с очевидного подхода — предположим, что необходимо, чтобы URL-адрес для содержимого данного примера был следующим:

IIS нужно подготовить так, чтобы было куда скопировать наш файл. В IIS Manager выберите элемент Default Web Site. Как следует из его имени, это сайт по умолчанию на сервере. Щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Explore (Проводник), чтобы отрыть окно проводника Windows для заданного по умолчанию каталога IIS, которым является inetpub\wwwroot на системном томе (как правило, C:\).

Создайте каталог WebsiteDeployment, а в нем — каталог FileCopy (чтобы обеспечить существование пути inetpub\wwwroot\WebsiteDeployment\FileCopy). Закройте окно проводника, чтобы вернуться в IIS Manager. Щелкните правой кнопкой на записи Default Web Site и в контекстном меню выберите пункт Refresh (Обновить), чтобы увидеть новый каталог.

Веб-сайт

Для демонстрации этой методики развертывания мы создали очень простой веб-сайт. Исходный код содержит единственную форму ASP.NET с одной меткой:

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

Развертывание веб-сайта

При использовании этой методики развертывания нужно просто скопировать файлы в созданный каталог. Переместите файлы веб-сайта на сервер любым подходящим способом — посредством общего сетевого диска, съемного диска USB и т.п. — и скопируйте файлы Default.aspx и Default.aspx.cs в каталог FileCopy, созданный на сервере.

Когда файлы будут скопированы, вернитесь в окно IIS Manager на сервере, щелкните правой кнопкой на папке FileCopy в древовидном представлении и в контекстном меню выберите пункт Refresh. В нижней части экрана щелкните на кнопке Content View (Просмотр содержимого). В центральной части окна должны отобразиться два файла веб-сайта, как показано на рисунке ниже:

В этом состоит наиболее важная часть этой технологии развертывания — вначале должна быть создана структура каталогов, которая представляет необходимый URL-адрес, а затем в готовые каталоги копируются файлы веб-сайта. Посмотрим, как это выглядит на практике. Для этого выберите FileCopy в IIS Manager и щелкните на ссылке Browse (Обзор) в правой части окна. Откроется веб-браузер с загруженным URL-адресом созданной папки. Окно браузера должно выглядеть подобно показанному на рисунке ниже:

Взглянув на URL-адрес адрес, можно удостовериться в том, что был получен желаемый результат. Браузер загрузил веб-сайт из следующего адреса:

Вспомните, что localhost — это специальное имя, обозначающее текущий компьютер, а URL-адрес, в котором не указан порт, будет использовать порт 80. (В моем случае я переместил сайт на порт 8080 по причинам, указанным в предыдущей статье). Можете проверить это, направив браузер по следующему URL-адресу:

Результат будет полностью аналогичен предыдущему (professorweb в данном случае имя сервера).

Конфигурирование развертывания

Возможно, вы обратили внимание, что версией .NET Framework, о которой сообщается на рисунке выше является 4. Чтобы изменить целевую версию .NET Framework понадобится изменить параметры настойки используемого по умолчанию пула приложений. Пока не задумывайтесь о том, что собой представляют пулы приложений — они будут подробно рассматриваться позже.

В окне IIS Manager разверните элемент сервера и щелкните на элементе Application Pools (Пулы приложений). Щелкните на ссылке Set Application Pool Defaults (Определить значения по умолчанию для пула приложений) в правой части окна. В открывшемся диалоговом окне Application Pool Defaults (Значения по умолчанию для пула приложений) измените значение настройки .NET Framework Version (Версия среды .NET Framework) на необходимую:

Вернитесь в браузер и перезагрузите страницу.

IIS понадобится также указать, что развернутый сайт является приложением. Это не обязательно, но при развертывании приложений ASP.NET почти всегда будет желательным — активизируется состояние сеанса и другие функциональные средства ASP.NET. Щелкните правой кнопкой мыши на папке FileCopy в области Connections (Подключения) и в контекстном меню выберите пункт Convert to Application (Преобразовать в приложение), как показано на рисунке ниже:

Откроется диалоговое окно Add Application (Добавление приложения). Используемый пул приложений можно изменить, щелкнув на кнопке Select (Выбрать). Настроить учетную запись пользователя, которую IIS будет применять для доступа к содержимому сайта, можно с помощью кнопок Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ). Пока что просто щелкните на кнопке ОК. Возможно, придется выбрать пункт Refresh (Обновить) в меню View (Вид) (или, как это часто имеет место, закрыть и снова открыть IIS Manager), но теперь значок записи FileCopy в древовидном представлении должен измениться.

Развертывание с помощью Visual Studio

Visual Studio предлагает встроенные возможности для упрощения развертывания веб-приложений, что облегчает задачу проектирования сложных веб-сайтов. Visual Studio включает в себя функции, которые интегрируются с IIS и позволяют создавать виртуальные каталоги, не выходя из комфортной среды разработки. Visual Studio предлагает несколько возможностей для интеграции с IIS:

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

Вы можете использовать функцию Copy Web Site (Копировать веб-сайт) для передачи существующего веб-сайта в виртуальный каталог.

Вы можете использовать функцию Publish Web Site чтобы скомпилировать свой ​​сайт и передать его по новому адресу.

Создание виртуального каталога для нового веб-сайта

При создании веб-сайта в Visual Studio, вы можете одновременно создать виртуальный каталог для этого веб-сайта. Если вы сделаете это, Visual Studio не будет использовать встроенный тестовый сервер IIS Express. Вместо этого, все ваши запросы будут обрабатываться полной версией IIS.

Для создания виртуального каталога IIS сначала необходимо запустить Visual Studio с правами администратора. Затем выберите пункт меню File New Web Site и в открывшемся диалоговом окне «New Web Site» выберите HTTP для расположения сайта (вместо файловой системы). Вы можете вставить строку URL. Например, если вы укажете http://localhost/MyWebSite, Visual Studio создаст каталог MyWebSite в виртуальном каталоге C:\Inetpub\Wwwroot используемым по умолчанию:

Такой подход не является лучшим т.к. вы не сможете настроить некоторые параметры, такие как страницы по умолчанию, пользовательские ошибки и т.п. Вместо создания нового виртуального каталога с помощью Visual Studio лучше будет выбрать существующий каталог IIS, который в свою очередь можно сконфигурировать с помощью IIS Manager. Для этого щелкните по кнопке Browse (Обзор) и выберите нужный виртуальный каталог:

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

Копирование веб-сайта

Visual Studio также включает в себя быстрый и простой способ для передачи файлов веб-приложения. Вам просто нужно выбрать в меню WebSite Copy Web Site. Откроется новое диалоговое окно Visual Studio, которое покажется знакомым любому, кто имел дело с различными IDE-программами для работы с сайтами, такими как Dreamweaver или Expression Web:

Это окно состоит из двух списков файлов. Слева находятся файлы в текущем проекте (на локальном жестком диске). Справа находятся файлы на целевом месте (удаленный веб-сервер). При первом открытии этого окна вы ничего не увидите справа, потому что вы не указали цель. Вы должны нажать кнопку Connect вверху, чтобы предоставить эту информацию. При этом Visual Studio откроет знакомое диалоговое окно, которое выглядит почти так же, как то, что вы видели при создании виртуального каталога для нового проекта. В этом окне вы можете выбрать одно из мест, куда нужно копировать веб-сайт:

File System

Это самый простой выбор — вы копируете файлы сайта внутри текущей файловой системы.

Local IIS

Позволяет выбирать виртуальные каталоги локального сервера IIS. Это удобно если сайт нужно будет разместить в другом каталоге.

FTP Site

Обеспечивает доступ к удаленному сайту через FTP. Многие хостинг-провайдеры предлагают доступ к сайтам через FTP, так что благодаря этой настройке вы можете сразу разворачивать свой сайт на удаленном веб-сервере, не прибегая к услугам различных FTP-программ наподобие TotalCommander:

Эта опция предлагает подключение к сайту по URL-адресу с использованием расширения FrontPage Extensions.

Как только вы выберите соответствующий пункт назначения, нажмите кнопку Open. Visual Studio попытается подключиться к удаленному сайт и получить список файлов.

Iis публикация файлов и управление ими

В нашем примере будет использоваться 1C с локальной файловой базой

Установка IIS на Windows 7

Пуск — Панель управления — Программы и компоненты — Включение или отключение компонентов Windows

Выбираем необходимые компоненты: Службы IIS, ASP.NET, Консоль управления IIS и нажимаем ОК

Установка IIS на Windows Server

Установка IIS на Windows Server происходит аналогично через Добавление Ролей и компонентов

Настройка IIS под 1С

Добавление пользователя IUSR в группу IIS_IUSRS

Для настройки прав доступа необходимо добавить пользователя IUSR в группу IIS_IUSRS, иначе при попытке публикации 1С на сервер Вы будете получать ошибку

Запускаем оснастку управление компьютером Win+R -> compmgmt.msc или через меню пуск:

В оснастке выбираем: Локальные пользователи и групп -> Группы -> IIS_IUSRS открываем свойства группы двойным щелчком ЛКМ

В эту группу нам необходимо добавить пользователя IUSR, для того чтобы предоставить необходимые права доступа, для этого жмем кнопку Добавить

Набираем имя пользователя IUSR и нажимаем кнопку Проверить имена, если пользователь будет найден, то он станет подчеркнутым, нажимаем ОК. Если пользователь не находится нажмите кнопку Размещение… и смените место поиска.

Илон Маск рекомендует:  Что такое код cnsearch индексатор

Проверяем, что наш пользователь появился и жмем ОК

Настройка сайта и приложения в IIS

Запускаем Диспетчер служб IIS удобным для Вас способом, например: Win+R -> InetMgr

В левой части экрана раскрываем ветку с сайтами. Останавливаем сайт по умолчанию Default Web Site или модифицируем его, я предпочитаю делать отдельный.

Жмем ПКМ на сайты и выбираем пункт Добавить веб-сайт

Заполняем параметры сайта

Имя сайта: Любое
Физический путь: Создаем каталог где будет храниться наш сайт (файлы сайта)
Тип: Выбираем протокол HTTP или HTTPS
Порт: Задаем порт, порт может быть любой свободный. Стандартный порт для HTTP — 80, для HTTPS 443
Сертификаты SSL: Сертификаты нужны если Вы используете защищенный протокол HTTPS. Если у Вас нет сертификата для Вашего узла, можно использовать серверный самоподписанный IIS Express Development Certificate.

Проверяем, что наш сайт появился и запустился

Вместе с сайтом так же должен был создаться пул приложений с таким же названием.
Переходим выше по ветке в раздел Пулы и приложений и находим наше приложение, в данном случае 1с

Выбираем наш пул приложений 1с и нажимаем в правой части Дополнительные параметры…

В Дополнительных параметрах находим строки:
Версия среды .NET Framework — выбираем версию v.4.0+
Разрешены 32-разрядные приложения и выбираем значение True
Внимание! Если Вы будете публиковать x64 битную платформу данное значение оставляем False,иначе будете получать ошибку 0x800700c1
(Эта проблема возникает из-за неверного сопоставление сценариев. Убедитесь в том, что сопоставление сценария указывает на ISAPI DLL-файл, который может обработать запрос. Чтобы сделать это, выполните следующие действия.)
Режим управляемого конвейера — выбираем значение Classic

Настройка доступа для группы IIS_IUSRS

Настройка необходимого доступа для группы IIS_IUSRS, для корректной работы нашего сайта (1с) и корректной публикации.

Для начала необходимо дать права группе IIS_IUSRS к каталогу в котором находятся (будут находиться) файлы нашего сайта. В нашем примере файлы сайта находятся в C:\inetpub\www\1c.
Переходим в каталог C:\inetpub\www\ -> нажимаем ПКМ на каталоге 1с -> в меню выбираем пункт Свойства -> переходим на вкладку Безопасность -> жмем кнопку Изменить… -> кнопку Добавить… -> в поле вписываем название группы IIS_IUSRS (при необходимости меняем место Размещения) -> нажимаем кнопку Проверить имена.

Если группа найдена она станет подчеркнутой, жмем ОК.

Далее проставляем галочки необходимых прав:

— Чтение и выполнение
— Список содержимого папки
— Чтение

Тоже самое с правами, мы делаем для каталога куда установлена и каталога куда развернута наша файловая база. Если Вы используете базу SQL, то Вам НЕ нужно задавать права на каталог с базой.
Обращаем внимание, что для каталога с базой так же нужны права на запись!

Расположение файловой базы Вы можете посмотреть запустив 1С Предприятие

Публикация 1с

Запускаем 1с Предприятие -> Конфигуратор -> Администрирование -> Публикация на веб-сервере…

Выбираем каталог где будут файлы сайта и жмем Опубликовать

Публикация базы данных и веб-сервисов 1С Документооборот

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

Для публикации базы данных «1С:Документооборот» запустите «Конфигуратор» и выберите пункт «Администрирование \ Публикация на веб-сервере».

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

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

Если при публикации из «Конфигуратора» не было административных прав, то при публикации базы данных файл web.config может не создаться, также возможно появления сообщения о том, что база данных не опубликована либо других ошибок.

После публикации проверьте в папке C:\inetpub\wwwroot\doc наличие двух файлов default.vrd и web.config

4. Настройка приложения IIS

После публикации базы данных из «Конфигуратора» необходимо запустить средство администрирования веб-сервера «Internet Information Server Manager». Запустить его можно, например из «Server Manager» в разделе «IIS», далее на нужном веб-сервере правой кнопкой мыши и «Internet Information Server (IIS) Manager»

Откройте свойства вашего приложения (ранее мы назвали его «doc»). Найдите раздел «MIME Types» и добавьте туда две записи (для базы данных и для веб-сервисов):
.1crs — text/xml
.1cws – text/xml

Пример показан на рисунке ниже (обратите внимание на то, что у приложения doc должен присутствовать и раздел ASP.NET

Теперь необходимо разрешить работу веб-сервера с 32-битными приложениями и библиотеками. Для этого идем в раздел «Application Pools» и для «DefaultAppPool» в «Advanced settings» включаем «Enable 32-Bit Applications»

Для работы веб-сервера IIS с «1С:Предприятие 8» необходимо, что бы был указан корректный путь к библиотеке wsisapi.dll нужной версии платформы «1С».

В разделе Handler Mappinigs проверяем наличие корректного пути к C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll

Важно. Путь должен быть указан до корректной версии «1С:Предприятие 8». При обновлении платформы необходимо также проверять и корректировать значение пути к библиотеке wsisapi.dll

Для обработки запросов к базе данных и веб-сервисам необходимо в нашем приложении «doc» создать записи в разделе «Handler Mappinigs». Для этого выбираем пункт «Handler Mappinigs» в нашем приложении и нажимаем кнопку «Add Script Map»

Создадим две записи. Первая запись будет для приложения
Request path: *.1crs
Executable: C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем нашу запись «1C Enterprice crs» (название может быть другим, но уникальным) и дадим ей права на выполнение. Для этого нажмем «Request Restriction», далее на закладке «Access» отметим флажок «Execute»

Создадим вторую запись для веб-сервисов базы данных:
Request path:*.1cws
Executable:C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем её «1C Enterprice cws»

Теперь для каждого созданного скрипта нужно проверить и при необходимости установить разрешение на его запуск. Нажимаем правой клавишей мышки на каждом созданном скрипте
и в разделе «Edit feature permissions» проверим флажок «Execute» (он должен быть включен).

В разделе «Authentification» приложения «doc» проверяем, что включен ли анонимный режим. Значение «Anonymous Authentification» должно быть «Enabled»

Основные настройки веб-сервера IIS на этом завершены. Вы можете попробовать открыть базу данных на сервере указав путь https://localhost/doc в вашем браузере.

По умолчанию Windows Server 2012 запрещает доступ к веб-сайтам из интернета, поэтому опубликованная база данных будет доступна только из внутренней интрасети. Для доступа из внешней сети Интернет необходимо создать в файерволе правило, позволяющее такой доступ. Для этого откройте «» и создайте правило для 80 порта протокола TCP

Если при открытии опубликованной базы данных появляются сообщения об ошибках веб-сервера, например «A potentially dangerous Request.Path value was detected from the client» или не все пиктограммы подсистем отображаются корректно, то выполните дополнительную настройку опубликованной базы данных.

Для настройки откройте файл web.config, который располагается в каталоге C:\inetpub\wwwroot\doc и добавьте следующие разделы:

a) В раздел system.webServer добавьте (например, перед закрывающим тегом следующие строки:

б) В раздел configuration (перед закрывающим тегом ) добавьте:

После выполнения таких настроек рекомендуем перезапустить веб-сервер IIS. Выполнить перезапуск можно из консоли администрирования веб-сервера нажав в ней кнопку «Refresh».

Настройка веб-публикации 1С, подключение кассового оборудования

1. Настройка веб-сервера в IIS

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

  • Общие функции 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)

2. Публикации базы в 1С

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

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

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

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

2.1 Настройка прав доступа для IIS

Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «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 полные права на каталог с расположенными файлами данной информационной базы.

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

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

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

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

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

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

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

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

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

3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

3.1 Создание SSL-сертификата

Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt

Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.

Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.

Далее утилита выведет список запущенных на IIS сайтов и предложит выбрать сайт, для которого нужно выпустить сертификат.

Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.

Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

Создаем отдельный пул в IIS для letsencrypt

Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

Указать новый сертификат в «Сертификаты SSL»:

Нюансы настройки публикации web-сервиса 1С 8.2 в Apache и IIS

Возникла необходимость взаимодействовать с 1C с мобильного клиента под Windows Phone 7/8. Самым простым способом взаимодействия показалось работа через web сервисы, поддерживаемые 1С.

С точки зрения публикации web сервиса особых сложностей нет. Шаги подробно описаны в статьях:

Проблемы возникли с доступом к опубликованному web-сервису 1С. Под IIS 7.5 из под Windows 2008R2 после полудня танцев с бубном проблему решить не удалось. Были изучены статьи и ветки форумов:

В результате решил, что стоит попробовать поднять web сервис на Apache, поскольку с ним у меня обычно все было несколько проще с настройкой. Итак, на другом порту (8080) на том-же сервере был поднят Apache 2.2.22. В 1С был создан ещё один web сервис и опубликован уже на Apache. С настройками по умолчанию он также не заработал. Разберем ошибки.

Илон Маск рекомендует:  Asp новые возможности asp

Web сервис был опубликован в 1С под именем wsApache.

Публикация web-сервиса 1С под Apache

Соответственно, в указанном при публикации каталоге появился файл default.vrd следующего содержания:

В httpd.conf 1С добавила следующие строчки:

В целом, файлы/изменения создаваемые 1С почти рабочие. Теперь о проблемах.

В некоторых статьях путь к web сервису указан как: http://имя_сервера:порт/имя_при_публикации/alias?wsdl.

  • Имя сервера: s-1s-1-hw
  • Порт: 8080
  • Имя при публикации: wsApache
  • Alias из файла default.vrd: service.1cws

Соответственно, НЕПРАВИЛЬНАЯ ссылка на web сервис 1С такая: http://s-1c-1-hw:8080/wsApache/service.1cws?wsdl

Если использовать такой линк, то 1C 8.2 выдаст сообщение вида:

Правильный вариант:

http://имя_сервера:порт/имя_при_публикации/ ws/ alias?wsdl.

Это обращение эквивалентно обращению по имени сервиса из default.vrd:

http://имя_сервера:порт/имя_при_публикации/ ws/ name?wsdl.

  • Name из файла default.vrd: Service

Соответственно, ПРАВИЛЬНЫЙ линк для доступа к web сервису 1С будет такой:

http://s-1c-1-hw:8080/wsApache/ ws/ service.1cws?wsdl

http://s-1c-1-hw:8080/wsApache/ ws/ service?wsdl

Если указать ссылку с суффиксом ?wsdl, то в веб браузере отобразиться XML файл с описанием опубликованного сервиса.

Если указать ссылку без суффикса ?wsdl, то при правильной настройке должна появится страница с гиперссылкой на опубликованный сервис:

Авторизация пользователя при обращении к web сервису 1С

Если попытаться получить доступ к web сервису опубликованному под Apache не исправляя файл default.vrd, то появиться стандартный диалог авторизации:

Диалог авторизации на web сервисе 1С

В тестовой базе был заведен тестовый пользователь IUSR с полными правами с пустым паролем. Если ввести в диалог в качестве логина этого пользователя, то авторизация пройдет успешно и отобразиться либо XML файл, либо ссылка на него (см. выше).

Можно исключить запрос авторизационной информации вбив логин и пароль прямо в файл default.vrd, что, конечно, не рекомендуется с точки зрения безопасности, но иногда необходимо.

Это все. В моем случае каких-то дополнительных правок конфиг файлов не потребовалось.

В некоторых статьях указывалось, что нужно убрать из httpd.conf опцию «Options None«. У меня работает в обоих вариантах, т.е. когда строка присутствует и когда она удалена.

Публикация web сервиса 1С на IIS 7.5

Как уже упоминал выше, с публикацией web сервиса на IIS 7.5 с первого раза у меня не задалось, хотя тонкий клиент запускается без проблем. Поскольку пароль в конфигурационном файле по соображениям безопасности меня не устраивал, вернулся к вопросу настройки IIS. Был опубликован web сервис с именем wsIIS и именем сервиса ServiceIIS и alias-ом serviceIIS.1cws. Галка в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере» для простоты эксперимента была снята.

Публикация web сервиса 1С в IIS 7.5.

Корректная ссылка в моем случае: http://s-1c-1-hw/wsIIS/ws/ServiceIIS?wsdl. При попытке зайти из Chrome/IE получаем ошибку возвращенную IIS:

Ошибка HTTP 401.2 — Unauthorized

дабы избавиться от ошибки правим web.config сформированный 1С следующим образом:

Эта правка эквивалента изменению через консоль управления IIS для нашего опубликованного приложения с именем wsIIS правил авторизации пользователя.

Настройки IIS 7.5 для доступа к web сервисам 1C

Добавление тегов security в web.config или правка правил авторизации в консоли IIS приводит к тому, что при обращении к сервису по указанной выше ссылке появляется запрос на авторизацию. Вводим нашего тестового пользователя IUSR без пароля и получаем нужный XML файл в ответе сервера.

Прописав в default.vrd логин и пароль пользователя, как было указано выше для Apache, уберем окно авторизации и сервис будет всегда авторизовываться под указанным пользователем. Как проходит авторизация можно посмотреть в логах 1C. Но вариант с прописыванием пользователя в конфигурационный файл — не наш путь, ибо не секьюрно.

Изменим настройки авторизации пользователя (в IIS проверка подлинности), чтобы использовалась Windows авторизация. Сменить можно в консоли управления IIS, либо в конфигурационном файле. Мне больше нравиться конфигурационный файл. так как проще переносить настройки при миграции на другой сервер.

Iis публикация файлов и управление ими

Добрый день уважаемые читатели и гости блога. Для меня было большим удивлением, что в Америке и в Европе, очень много хостинов используемых людьми, построены на Windows Internet Information Services, и ее доля там больше чем Linux Apache или nginx. В сегодняшнем посте я бы хотел рассказать, начинающим системным администраторам, как создавать сайты iis в Windows Server 2012 R2, точнее административную часть, так как там уже вы сами будите выбирать, будет ли это ресурс на движке Werdpress или же статический сайт, вариантов очень много.

Подготовка IIS для развертывания сайта в IIS

И так для нашей задачи, вы уже должны иметь развернутую службу IIS, как это сделать, я рассказывал в отдельной статье. Теперь перейдем к практике и подготовим его для последующих вещей. Открываем диспетчер IIS. Найти этот пункт можно в диспетчера сервера.

Я хочу создать отдельный сайт, пускай это будет iis.pyatilistnik.org, для этого переходим в пункт сайты и через правый клик ,выбираем пункт «Добавить веб-сайт»

Само создание сайта iis состоит из вот таких не хитрых пунктов. Во первых, вы задаете:

  • Имя сайта — у меня это iis.pyatilistnik.org
  • Указываете физический путь — это та папка в которой будет лежать контент для сайта, например, картинки, документы, html странички, если сайт с базой данных, то многое будет лежать в ней.

Далее вы производите привязку сайта к нужному ip адресу, делается это после того, как вы на своем DNS сервере создали A или Cname запись для ресурса. Так же задаем тип привязки, имеет ввиду протокол, тут их всего два обычный незащищенный http и защищенный сертификатом шифрования https, о нем я подробно говорил.

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

Пробуем запустить ваш сайт. И так, сайт в диспетчере IIS на Windows Server 2012 r2 мы создали, пробуем его запустить, для этого у вас есть в пункте управление веб-сайтом, отдельный пункт «Обзор»

Если все хорошо, то вы получите доступ к ресурсу, если же нет, то увидите запрещающее сообщение:

Тут два варианта:

  • У вас пустая папка с сайтом, попробуйте поместить в нее, хотя бы картинку, для тестирования
  • У вас просто нет прав на чтение данного каталога на уровне Windows

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

Перейдите на вкладку «Безопасность > Изменить > Добавить > Проверить имя» и через поиск найти нужную группу.

Назначаем нужный уровень прав для созданного сайта IIS, у меня это чтение и выполнение.

Открываем в браузере ваш сайт и проверяем.

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

Следующим шагом, у вас встанет вопрос какого типа будет ваш сайт и нужно ли для его настройки добавлять новые компоненты или же устанавливать сторонние, по типу PHP или MySQP для WordPress. Далее я вам советую, разобраться в вопросе проверки подлинности IIS и как она настраивается.

Публикация базы данных и веб-сервисов 1С Документооборот

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

Для публикации базы данных «1С:Документооборот» запустите «Конфигуратор» и выберите пункт «Администрирование \ Публикация на веб-сервере».

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

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

Если при публикации из «Конфигуратора» не было административных прав, то при публикации базы данных файл web.config может не создаться, также возможно появления сообщения о том, что база данных не опубликована либо других ошибок.

После публикации проверьте в папке C:\inetpub\wwwroot\doc наличие двух файлов default.vrd и web.config

4. Настройка приложения IIS

После публикации базы данных из «Конфигуратора» необходимо запустить средство администрирования веб-сервера «Internet Information Server Manager». Запустить его можно, например из «Server Manager» в разделе «IIS», далее на нужном веб-сервере правой кнопкой мыши и «Internet Information Server (IIS) Manager»

Откройте свойства вашего приложения (ранее мы назвали его «doc»). Найдите раздел «MIME Types» и добавьте туда две записи (для базы данных и для веб-сервисов):
.1crs — text/xml
.1cws – text/xml

Пример показан на рисунке ниже (обратите внимание на то, что у приложения doc должен присутствовать и раздел ASP.NET

Теперь необходимо разрешить работу веб-сервера с 32-битными приложениями и библиотеками. Для этого идем в раздел «Application Pools» и для «DefaultAppPool» в «Advanced settings» включаем «Enable 32-Bit Applications»

Для работы веб-сервера IIS с «1С:Предприятие 8» необходимо, что бы был указан корректный путь к библиотеке wsisapi.dll нужной версии платформы «1С».

В разделе Handler Mappinigs проверяем наличие корректного пути к C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll

Важно. Путь должен быть указан до корректной версии «1С:Предприятие 8». При обновлении платформы необходимо также проверять и корректировать значение пути к библиотеке wsisapi.dll

Для обработки запросов к базе данных и веб-сервисам необходимо в нашем приложении «doc» создать записи в разделе «Handler Mappinigs». Для этого выбираем пункт «Handler Mappinigs» в нашем приложении и нажимаем кнопку «Add Script Map»

Создадим две записи. Первая запись будет для приложения
Request path: *.1crs
Executable: C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем нашу запись «1C Enterprice crs» (название может быть другим, но уникальным) и дадим ей права на выполнение. Для этого нажмем «Request Restriction», далее на закладке «Access» отметим флажок «Execute»

Создадим вторую запись для веб-сервисов базы данных:
Request path:*.1cws
Executable:C:\Program Files (x86)\1cv8\8.3.8.1652\bin\wsisapi.dll
Назовем её «1C Enterprice cws»

Теперь для каждого созданного скрипта нужно проверить и при необходимости установить разрешение на его запуск. Нажимаем правой клавишей мышки на каждом созданном скрипте
и в разделе «Edit feature permissions» проверим флажок «Execute» (он должен быть включен).

В разделе «Authentification» приложения «doc» проверяем, что включен ли анонимный режим. Значение «Anonymous Authentification» должно быть «Enabled»

Основные настройки веб-сервера IIS на этом завершены. Вы можете попробовать открыть базу данных на сервере указав путь https://localhost/doc в вашем браузере.

По умолчанию Windows Server 2012 запрещает доступ к веб-сайтам из интернета, поэтому опубликованная база данных будет доступна только из внутренней интрасети. Для доступа из внешней сети Интернет необходимо создать в файерволе правило, позволяющее такой доступ. Для этого откройте «» и создайте правило для 80 порта протокола TCP

Если при открытии опубликованной базы данных появляются сообщения об ошибках веб-сервера, например «A potentially dangerous Request.Path value was detected from the client» или не все пиктограммы подсистем отображаются корректно, то выполните дополнительную настройку опубликованной базы данных.

Для настройки откройте файл web.config, который располагается в каталоге C:\inetpub\wwwroot\doc и добавьте следующие разделы:

a) В раздел system.webServer добавьте (например, перед закрывающим тегом следующие строки:

б) В раздел configuration (перед закрывающим тегом ) добавьте:

После выполнения таких настроек рекомендуем перезапустить веб-сервер IIS. Выполнить перезапуск можно из консоли администрирования веб-сервера нажав в ней кнопку «Refresh».

Выполнение публикации Apache и IIS

Публикация веб-сервиса 1С средствами APACHE

1. Скачать веб-сервер APACHE

там выбрать Binaries – папка Win32 — файл httpd-2.2.25-win32-x86-no_ssl.msi – если установка происходит по Windows) и установить.

Настраивать и переписывать файлы APACHE не нужно (везде нажимать «Далее»). После установки он сам появится и запустится в системных значках. В следующем окне вверху можно вписать любую информацию, на работоспособность это не влияет.

2. После установки проверить работоспособность web-сервера. При переходе в браузере по адресу http: //localhost должно отображаться следующее окно:

3. Если при установке платформы 1С не были установлены компоненты работы с веб-сервером, их надо установить (через установку платформы):

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

Установить флаг «Публиковать Web-сервисы», в списке веб-сервисов установить флажок у нужного сервиса .

В диалоге о перезапуске веб-сервера нажать «да».

Для корректной установки у пользователя должны быть права администратора на компьютере, с которого производится установка.

После выполнения этих действий проверить доступность веб-сервиса 1С можно, введя в браузере:

ip-компьютера/ИмяБазы/ws/Алиас указанный при публикации.1cws?wsdl. При этом должно открыться XML описание свойств и методов веб-сервиса(а не страница ошибки)

В соответствии с картинкой адрес будет выглядеть следующим образом: http: //ip/IB/ws/WSName.1cws?wsdl

Пошаговая инструкция настройки web-сервисов для 1Сv8 и IIS

1. Установка IIS выполняется стандартными средствами. Необходимо установить следующие компоненты:

Web Management Tools:

IIS 6 Scripting Tools

IIS 6 WMI Compatibility

IIS Metabase and IIS configuration compatibility

IIS Management Console

IIS Management Scripts and Tools

World Wide Web Services:

Static Content Compression

Набор достаточных компонент приведен на скриншоте ниже.

2. Если при установке платформы 1С не были установлены компоненты работы с веб-сервером, их надо установить (через установку платформы):

Далее зайти в «Конфигуратор»-«Администрирование»-«Публикация на веб-сервере. «. Необходимо английскими буквами указать имя базы в поле «Имя». Выбрать пустой каталог (путь к нему не должен содержать русских символов, см. пример ниже). Установить галку «Публиковать Web-сервисы», в списке веб-сервисов установить флажок у сервиса «rg1CTCService». Нажать «Опубликовать».

В диалоге о перезапуске веб-сервера нажать «да».

Для корректной установки у пользователя должны быть права администратора на компьютере, с которого производится установка.

3. Указать права для обработчика web-сервисов 1С. Права на запуск (Execute) модулей добавляются для группы IIS_IUSRS на папку . 1cv81\BIN\

4. Если база файловая, нужно добавить права на изменение (Modify) на папку и подпапки базы для той же группы.

5. В консоли IIS. Кликаем правой кнопкой мыши на строку с созданной нами папкой. Преобразовываем её в приложение.

6. Добавить настройки для обработки файлов 1С. На вкладке Handler Mappings добавить скрипты (не скрипты со звездочкой) для расширения -«*.1cws».

Request Restrictions -> Access -> Script или Execute.

7. Для обработчиков нужно указать дополнительные параметры (Edit Feature Permission). Установить флаги запуска скриптов и приложений.

8. Проверить наличие обработчика web-сервисов 1С на вкладке ISAPI and CGI Restrictions для сервера.

Если установка идет в 64 разрядном окружении, то для обработчика нужно включить режим Alpplication Pool -> DefaultAppPool -> Enable 32-bit Application -> True.

Илон Маск рекомендует:  Что такое код dbmreplace

9.. Для проверки правильности выполнения обратиться по адресу IP-компьютера/ИмяБазы/ws/Алиас_указанный_при_публикации.1cws?wsdl.

При этом должно открыться XML описание свойств и методов веб-сервиса(а не страница ошибки)

В соответствии со скриншотом пункта 2 адрес будет выглядеть следующим образом: http: //ip/IB/ws/WSName.1cws?wsdl

v8: Публикация web-сервисов 8.2 на IIS 7.5

Просто Лёха

С правами для публикации я разобрался — нужно запускать 1с от имени администратора — все публикуется в любую папку, но как-либо обратиться не получается

7.0 — версия IIS? На какой оси запускал?

Просто Лёха

(8) Да ладно, ничего про конфиг апача?

Глава 14. Настройка веб-серверов для работы с 1С:Предприятием
Добавить в конфигурационный файл Apache регистрацию виртуальной директории доступа к
Web-сервисам, например:
Alias/ws/var/www

Allow from all
информационной базы (чтение и запись).

Просто Лёха

Вроде бы получилось опубликовать на IIS 7.5, локально подключаюсь, ввожу ws ссылку http://localhost/web/ws/rooms.1cws?wsdl, прохожу авторизацию и после этого появляется ошибка:
Ошибка при выполнении файловой операции ‘http://ab:xxxxxxx@localhost/web/ws/rooms.1cws?wsdl’
по причине:

С чем это может быть связано — неправильная структура самого web-сервиса??

Публикация баз «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-разрядного модуля расширения веб-сервера.

0. Оглавление

  1. Что понадобится
  2. Установка веб-сервера IIS
  3. Установка компонент «1С:Предприятие»
  4. Настройка операционной системы
  5. Публикация базы данных на веб-сервере
  6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
  7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
  8. Подключение к опубликованной информационной базе через веб-браузер
  9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
  10. Конфигурационные файлы виртуального каталога
    1. Файл default.vrd
    2. Файл web.config

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
    • 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 вида:
  • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

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

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

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

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

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

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

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

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

Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 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-разрядного модуля расширения веб-сервера

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

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —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)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • default.vrd
  • web.config

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

10.1. Файл default.vrd

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

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

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

Для серверной информационной базы строка подключения будет иметь вид:

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

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

10.2. Файл web.config

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

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

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

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

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL