Настройка веб-серверов для работы с «1С:Предприятием. Настройка веб-серверов для работы с «1С:Предприятием Как опубликовать web сервис 1с 8.3
После выхода новых платформ 1С (например, уже в 8.3.11.2867) на 64-х разрядных системах Windows апач версии 2.0, 2.2 работать перестает. Есть выход перейти на 2.4. Его установка несколько сложнее, чем обычная — установочных файлов нет, поэтому все нужно запускать и настраивать вручную. С учетом того, что мне интересно было использовать IIS, решил заодно и статью написать.
- Для Windows х64 потребуется дистрибутив 1С х64 (это касается как сервера, так и клиентских приложений)
- Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server. При установке обязательно выбираем компоненты:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP.NET 3.5
- Расширяемость.NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
4. Потом даем права для пользователей IIS_IUSRS и IUSR на папки:
- папки с установленной платформой;
- папки с публикациями баз;
- папки самих баз (в случае файлового варианта).
6. Настройка IIS для использования 32х разрядного модуля расширения веб-сервера
Средства » (Tools) - «Диспетчер служб IIS
Default Web Site - появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений » (Application Pools).
В списке пулов приложений найдем пул с именем DefaultAppPool . Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры » (Advanced Settings).
В открывшемся окне параметров пула приложения, в группе «Общие » (General) найдем пункт «Разрешены 32-разрядные приложения » (Enable 32-Bit Applications) и установим значение параметра равным True . Затем сохраним изменения нажав «ОК ».
7. Настройка IIS для использования 64х разрядного модуля расширения веб-сервера
Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin , каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства » (Tools) - «Диспетчер служб IIS » (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию - Default Web Site - появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков » (Handler Mappings) на начальной странице приложения.
В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.
Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:\Program Files (x86)\1cv8\8.3.?.??\bin\wsisapi.dll » на «C:\Program Files\1cv8\8.3.?.???\bin\wsisapi.dll » воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК » для сохранения изменений.
Хоть 1С и не рекомендует использовать веб сервер в файловом режиме (а только в серверном) - тем не меннее для маленьких предприятий с 2-3 бухгалтерами использование веб сервера на новых конфигурациях с "управляемыми формами" (Бухгалтерия 3.0, Зарплата 3.0 и прочее) - позволяет организовать довольно быстрый доступ к базе сетевых компьютеров, даже если они компьютеры эти по сути уже старый хлам. Важно лишь, что бы основной компьютер с базами и веб сервером был приличный (например Core I3, 8 Гбайт оперативки и SSD диск).
Пошаговое руководство по настройке вебсервера 1С на Apache (включая файловый вариант баз данных)
1. Скачиваем установщик Apache
По каким-то причинам все новые версии (например 2.4.25) Apache перестал выкладывать в виде самораспаковывающегося дистрибутива. Для нас вполне приемлемо использовать не самый последний дистрибутив 2.2.25 - позволяющий получить удобный установщик и избежать дополнительных манипуляций.
Обращаю внимание - нам удобно использовать именно *.msi установщик
По рекомендации пользователя (спасибо, Владимир) выкладываю ссылку на Apache версии 2.4 (www.apachelounge.com) . Также с его слов - если качаете х64, то будьте готовы поставить аналогичную х64 1с платформу и в httpd.conf отредактировать строку LoadModule _1cws_module "C:/Program Files/1cv8/8.3.9.2016/bin/wsap24.dll.
Но сам не рекомендую использовать 64-битную 1С, потому как, с высокой степенью вероятности, возникнут гигантские сложности при подключении торгового оборудования, или каких-то других сторонних библиотек.
Выбираем “no ssl” дистрибутив, если базы будут открыты только внутри нашей локальной сети или “ssl” дистрибутив, если база будет открываться в интернете. Дополнительно про настройку ssl можно почитать в статье инфостарт
В нашем примере будем настраивать сервер без ssl для использования только внутри локальной сети.
2. Запускаем скачанный установщик
Заполняем Network Domain: Localhost, Server name: Localhost
Нажимает NEXT, Setup type: Typical NEXT, NEXT, INSTALL
3. Проверяем запустился ли веб сервер
Для этого открываем любой броузер и указываем адрес страницы http://localhost
Мы должны увидеть страничку с надписью It Works !
Выясним IP адрес нашего компьютера в локальной сети. Для этого в нижнем правом углу (рядом с часами) находим иконку локальной сети, кликаем на ней правой кнопкой и открываем "Центр управления сетями и общим доступом"
Выбираем нашу сеть
И нажимаем кнопку "Сведения"
В моем случае адрес компьютера в локальной сети 192.168.0.189
Теперь возвращаемся в броузер и проверяем доступность страницы It Works по IP адресу http://192.168.0.189 (в вашем случае цифры будут отличаться)
Если снова увидели знакомую страницу It Works - все хорошо,
4. Проверяем доступность страницы с других компьютеров и настраиваем брандмауэр
Снова пробуем открыть знакомую нам страницу http://192.168.0.189 (у вас цифры другие) но уже с любого другого компьютера в локальной сети.
Если вместо знакомой страницы вы увидели "Не удается получить доступ к сайту" или аналогичное сообщение - выполним настроку брандмауэра. Для этого возвращаемся на тот компьютер, где установлен Apache, заходим в "Панель управления" - "Система и безопасность" - "Брандмауэр Windows" и в левой части экрана щелкаем на "Дополнительные параметры
Кликаем на раздел "Правила для входящих подключений", затем в правой части окна "Создать правило"
Ставим все три галочки
Указываем произвольное имя, например "Веб сервер 80 порт для 1С". Готово .
Снова идем на другие компьютеры и убеждаемся, что теперь по IP адресу http://192.168.0.189 броузер показывает знакомую нам страницу It Works
5. Публикуем нашу базу на веб сервере.
Открываем конфигуратор нашей базы (Запуск 1С обязательно от имени администратора)
Стоит задача, поднять встроенный в windows вебсервер IIS и опубликовать на нем базу 1с на платформе 8.3. Ничего сложного в этом нет.
В наличии крутящийся на виртуалке 2008 r2 enterprise server. Права локального администратора к нему. Платформа 1С 8.3.6.2041. Информационную базу создадим пустую. И так приступим. Присоединяйтесь к нашей группе в ВК! Времонте! Умная мастерская!
Установка роли вебсервера(IIS)
Для начало необходимо установить роль вебсервера. Открываем Диспетчер сервера , выбираем слева ветку Роли , справа жмем Добавить роль.
Доходим до шага выбора Роли сервера и ставим галочку напротив Веб-сервер(IIS). Жмем далее. Теперь необходимо верно выбрать службы устанавливаемой роли. Ставим галочки ровно как на скриншоте ниже.
Доводим установку до конца. Мастер добавления ролей должен через определенное время сообщить нам, что роль и все службы роли успешно установились:
Теперь необходимо проверить, все ли хорошо у нас получилось. Открываем любой браузер и переходим в нем по адресу http://localhost . У нас должна отобразиться вот такая вот радостная картинка:
установка платформы и компонентов 1с
Это значит, что вебсервер поднялся у нас корректно и все отлично работает. Поэтому перейдем теперь к 1с. Необходимо поставить платформу. Единственный нюанс при установке платформы выбрать:
- 1С:Предприятие
- Модули расширения веб-сервера
настройка прав доступов
Первым делом необходимо настроить права папке, где у нас расположен корневой каталог вебсервера. Если ничего не меняли то по умолчанию он находится C:\inetpub\wwwroot . Переходим в папку C:\inetpub\ выбираем папку wwwroot, щелкаем по ней правой кнопкой мыши и заходим в свойства. Переходим к вкладке Безопасность . Нажатием на кнопку изменить, переходим непосредственно к настройке разрешений. Находим в списке Группы и пользователи , группу Пользователи , и кликнув на нее ставим в графе ниже Разрешения для группы , недостающие галочки в колонке Разрешить .
Теперь необходимо дать права папкам с установленной 1с. Переходим к ним, по умолчанию для 32-битной версии 1с лежит в папке C:\Program Files (x86)\1cv8 для 64-битной в папке C:\Program Files\1cv8 . Также выбираем папку 1cv8 заходим в ее свойства, переходим во вкладку Безопасность -> Изменить. Но вместо выбора группы из списка, нам необходимо ее туда сначала добавить. Для этого жмем кнопку Добавить , в появившемся окне , нажимаем кнопку Дополнительно .
Далее нажимаем по кнопке Поиск и в списке результата ищем IIS_IUSRS , добавляя его двойным кликом, нас возвращает в окно Выбор «Пользователи» или «Группы» но с уже проставленной группой в списке. Жмем Ок, и вернувшись уже к окну Разрешения для группы проставляем все галочки в поле разрешить для вновь добавленной группы.
Проставив разрешения для папок с файлами 1с, нам остается последнее. Дать права группе IIS_IUSRS напапку, где у нас лежит сама база 1с.
Необходимые приготовления сделаны. Теперь переходим непосредственно к публикации.
Публикация 1с на веб сервере
Необходимо запустить 1с в режиме конфигуратора, выбрав нужную для публикации базу. В моем случае это пустая база и она одна.
В режиме конфигуратора 1с, переходим к меню Администрирование -> Публикация на веб-сервере .
Посмотрев на параметры и убедившись, что посути, нас все устраивает, нажимаем Опубликовать . Если публикация у вас прошла без ошибок, перейдем к последнему шагу.
настройка IIS для работы с 32-битным модулем расширения веб-сервера 1С
Напомню вам, что мы использовали 32-битную платформу и модуль расширения веб-сервера от 1с соответственно. Поэтому нам в таком случае еще необходимо разрешить выполнять пулу приложений по умолчанию — DefaultAppPool выполнять 32-битные приложения. Это сделать не сложно. Идем Диспетчер сервера -> Роли -> Веб-сервер(IIS) -> Диспетчер служб(IIS) -> Пулы приложений -> DefaultAppPool. Правой кнопкой мышки по DefaultAppPool вызываем контекстное меню и выбираем в нем Дополнительные параметры.
Ищем строчку Разрешены 32-разрядные приложения и напротив ставим TRUE
НАСТРОЙКА IIS ДЛЯ РАБОТЫ С 64-БИТНЫМ МОДУЛЕМ РАСШИРЕНИЯ ВЕБ-СЕРВЕРА 1С
Если мы использовали 64-разрядную платформу и модуль веб расширения соответственно, то необходимо проделать манипуляции такого рода:
Идем Диспетчер сервера -> Роли -> Веб-сервер(IIS) -> Диспетчер служб(IIS) -> И выбираем приложение преобразованное из виртуального каталога с именем, что мы задавали при публикации базы. В правом поле переходим в раздел Сопоставление обработчиков (Handler Mappings). Публикация 1с 8.3 на веб сервере iis Публикация 1с 8.3 на веб сервере iis
Присоединяйтесь к нашей группе в ВК!
Сегодня оставлю небольшой пост-заметку о настройке 1C 8.3 в части организации доступа через WEB сервер 1С и службы IIS 8.
Раньше я по старинке давал доступ пользователям к 1С средствами сервера терминалов. Тогда у меня на работе стоял Windows 2003 сервер c 1C версии 7, была лицензия сервера терминалов, где был развернут терминальный сервер. Статью по настройке этого добра я тоже когда-то писал, . Все было норм, но вот теперь у нас появилось новое железо (на базе Intel Xeon CPU E3-1220 v3, 8gb ОЗУ), новая 1С (v 8.3), новая операционная система (WIndows Server 2012 r2).
С начала наша бухгалтерия (8 пк) работали по сетевому диску, но в этом случае программа работает по принципу закачки файлов по сети и это ооочень медленно. Решено было найти способ ускорить работу.
Подумал о сервере терминалов, но у меня нет лицензии на сервер терминалов (в интернете не нашел, а покупать сказали дорого). Выход подсказали случайно, оказывается есть в 1C поддержка WEB сервера. Так как опыт с тем же Apache у меня есть и принцип работы я знаю, то решил освоить и WEB сервер 1C.
Установка и проверка всех компонентов
Начнем настройку с установки компонентов 1С Web сервера. Проверим, что у нас установлен модуль-расширение веб-сервера 1С. Если не установлен ставим.
Публикуем базу на веб сервер
Заходим в базу 1С в режиме конфигуратора. Далее идем в меню «Администрирование» - «Публикация на веб-сервере»
Публикуем!
Выставляем права на папки 1C
Следующий шаг, выставить права на следующие папки:
Папка bin в 1С.
Права ставим как на скрине ниже в меню безопасность.
Подключаемся к веб-серверу с компьютеров клиентов
Для этого создаем подключение к БД 1С - Пишем название подключения -> выбираем На веб-сервере -> далее как на картинке ниже:
После этого Вам будет доступно подключение к 1С уже через веб-сервер.
Ошибки с которыми встретился:
1C8.3 IIS «Обнаружено потенциально опасное значение Request.Path», полученное от клиента
После настройки Web сервера 1С столкнулся с проблемой: могу зайти по IP в 1С, логинюсь, но все меню не работали, не мог открыть ни одного окна кроме рабочего стола 1С. Долго парился, пока не нашел решение в инете.
Что нужно сделать:
1. Открываем IIS. Пуск - Выполнить - находим «Диспетчер служб IIS»
2. Открываем наш «сайт»
3. Идем в меню «Сопоставления обработчиков»
4. Ищем ISAPI-dll
, и выбираем изменить.
5. Меняем путь запроса с «*.dll» на «*», Исполняемый файл (у Вас может быть другая версия 1С просьба быть внимательней) - «C:\Program Files (x86)\1cv8\8.3.6.2390
\bin\wsisapi.dll».
6. Сохраняем.
7. Проверяем.
На этом пока все. Если есть вопросы, постараюсь помочь.
Крупные корпорации, использующие программные продукты 1С в своих отдаленных филиалах, часто сталкиваются с проблемой отсутствия возможности установки 1С на отдельно взятых рабочих местах сотрудников. Иногда причиной этому могут стать устаревшие компьютеры, иногда отдаленность, иногда отсутствие IT-персонала. Разработчики 1С решили эту проблему в версии платформы 8.2, интегрировав в нее специальный веб-клиент. Организация работы в таком виде клиента позволит существенно сэкономить на модернизации компьютеров и содержании штата администраторов 1С.
Внешне веб-клиент ничем не отличается от тонкого клиента, за исключением того, что интерфейс 1С открывается в браузере. Для запуска веб клиентов 1С необходима публикация веб-сервера и наличие Интернета на рабочих местах. За связь базы данных и пользовательского интерфейса веб-клиента отвечает веб-сервер и технологии DHTML и HTTPRequest. В момент работы данные передаются через HTTP на веб-сервер, компилируются, а непосредственно исполнение происходит на стороне клиента, в среде интернет-браузера.
Достаточная популярность режима веб клиента 1С объясняется перечнем преимуществ:
- Отсутствие необходимости устанавливать клиентскую часть 1С на рабочих местах;
- Обеспечение доступа к базе из любой точки мира с доступом в Интернет;
- Поддержка любых браузеров и, соответственно, любых операционных систем и всех гаджетов с доступом во всемирную сеть;
- Техническая простота, так как от пользователя требуется просто запустить браузер и правильно набрать адрес;
- Специальный режим обмена данными с веб-сервером при низкой скорости Интернета.
Кроме плюсов, режим веб-клиента имеет и определенные недостатки:
- Уязвимость веб-сервера, который становиться доступным в любой точке мира;
- Определенные ограничения по обмену данными и эксплуатации файловой системы;
- Доступность только для конфигураций, использующих управляемый тип приложения и тонкий клиент;
- Недоступность локальных лицензий.
Если вы твердо решили, что Web клиент 1С отлично подходит для пользователей, то вам придется настроить и опубликовать веб-сервер. В качестве примера рассмотрим настройку стандартного IIS, встроенного в Windows.
Если на ваш компьютер установлена операционная система семейства Windows, то вы можете обойтись без сторонних программ. В этом вам поможет встроенный IIS сервер, для настройки которого достаточно начальных знаний системы. Следует отметить, что установка сервера на слабом компьютере затруднит запуск веб клиентов 1С и производительность всей системы окажется под угрозой. Поэтому рекомендуется настраивать IIS только на тех конфигурациях, где операционная система функционирует без задержек и есть большой запас ресурсов.
Чтобы начать настройку сервера зайдите в «Панель управления» -> «Программы и компоненты» -> «Включение или отключение компонентов». Найдите в дереве ветвь «Службы IIS/Службы интернета» и проставьте следующие галки:
- В разделе «Общие функции HTTP»:
- «Просмотр каталога»;
- «Документ по умолчанию»;
- «Статическое содержимое»;
- «Ошибки HTTP».
- «Проверка работоспособности и диагностика»:
- «Ведение журнала HTTP»;
- «Монитор запросов».
- «Компоненты разработки приложений»:
- «ASP»;
- «ASP.NET»;
- «Расширение ISAPI»;
- «Расширяемость.NET»;
- Фильтры ISAPI».
- «Средства управления»:
- «Консоль управления IIS».
Для публикации настроенного сервера необходимо установить модули расширения веб-сервера 1С. Для этого в процессе установки 1С необходимо отметить соответствующий пункт в окне изменения способа установки и установить компоненты. Затем запускайте 1С в режиме конфигуратора с административными правами и нажимайте в меню «Администрирование» -> «Публикация на веб сервере…». Платформа 1С самостоятельно обнаружит настроенный веб-сервер, и вам останется только задать имя базы и ее место расположения.
После того как вы нажмете кнопку «Опубликовать», сервер должен перезапуститься. Теперь можно проверить выполнение работы, произведя запуск веб клиента 1С, прописав в браузере строку: «http:ИмяСервера/ИмяБазы». Необходимо предусмотреть, чтобы все пользователи имели доступ к месту расположения БД на чтение и запись. В ином случае настройка веб-клиента 1С на рабочих местах не даст результата.
Веб клиент 1С является удобным инструментом для пользователей, производительность рабочих мест которых оставляет желать лучшего. Благодаря простой настройке, минимальным отличиям в интерфейсе приложения и перечню разнообразных преимуществ, веб клиент завоевал определенную популярность в компаниях различного калибра.