При настройке публикации базы данных 1С:Предприятие на веб-сервере (будь то Apache или IIS) администраторы часто сталкиваются с парадоксальной ситуацией. В процессе публикации через «Конфигуратор» система выдает ошибку: «Необходимо установить модули расширения веб-сервера 1С:Предприятие». При этом пользователь точно знает, что при установке или изменении состава компонентов платформы галочка на соответствующем пункте была поставлена. Рассмотрим подробнее, почему возникает этот «затык», и разберем по шагам, как привести систему в рабочее состояние.
Проанализируем ситуацию, с которой столкнулся автор темы. Оказывается, для корректной регистрации и работы модулей расширения в некоторых сборках платформы (особенно это заметно в версиях 8.3.15 и выше) недостаточно выбрать только «Модули расширения веб-сервера». Выясним причину: модули расширения (такие как wsap24.dll для Apache) являются динамическими библиотеками, которые обращаются к общим программным интерфейсам платформы.
Если в системе не установлены компоненты «Тонкий клиент» или «Толстый клиент», в системных путях могут отсутствовать необходимые вспомогательные библиотеки (DLL), либо не прописываются нужные ветки в реестре Windows, по которым «Конфигуратор» определяет наличие установленного расширения. Поэтому первым делом выполним следующие действия:
Это одна из самых критических точек настройки. Разберем важный нюанс: разрядность веб-сервера Apache или IIS должна строго совпадать с разрядностью установленных модулей расширения 1С. Посмотрим на типичную ошибку: если вы скачали и установили 64-битную платформу 1С (x86-64), но при этом используете 32-битный Apache, публикатор не сможет корректно подключить библиотеку, так как 32-битный процесс веб-сервера не может загрузить 64-битную DLL.
Проанализируем рекомендации специалистов:
8.3.15.1830 (х86-64), веб-сервер Apache также должен быть версии x64.httpd.exe) или в заголовках ответов сервера.Важно помнить, что тонкие клиенты пользователей при этом могут иметь любую разрядность — они общаются с сервером по протоколу HTTP, и им «все равно», какая архитектура на стороне сервера. Однако для самой публикации внутри сервера связка «1С-Веб-сервер» должна быть однородной.
Выясним еще одну причину, почему «Конфигуратор» может не видеть модули. Процесс публикации — это не только копирование файлов, но и изменение конфигурационных файлов веб-сервера (например, httpd.conf). Если «Конфигуратор» запущен обычным пользователем, механизмы UAC (User Account Control) могут блокировать доступ к папке C:\Program Files\.
Разберем правильный алгоритм действий:
Рассмотрим технические требования современных версий платформы. Начиная с определенных релизов ветки 8.3.15, модули расширения компилируются специально под API Apache 2.4. Если в вашей организации до сих пор используется старый Apache 2.2, публикатор может выдавать ошибку отсутствия модулей, так как он не находит подходящих библиотек под старую версию сервера.
Проверим наличие нужных файлов вручную. Заглянем в каталог установки 1С (обычно это C:\Program Files\1cv8\8.3.15.1830\bin\). Там должны присутствовать файлы:
wsap24.dll — модуль для Apache 2.4.wsisapi.dll — модуль для IIS.Если этих файлов нет в папке bin, значит, модули расширения действительно не были установлены корректно на уровне файловой системы.
Библиотеки модулей расширения 1С написаны на языке C++ и требуют наличия в системе соответствующих рантайм-пакетов Microsoft Visual C++ Redistributable. Для платформы 8.3.15 это обычно пакеты 2015-2019 годов. Посмотрим на проблему глубже: если библиотек нет в Windows, операционная система не может инициализировать wsap24.dll. 1С интерпретирует это как «модуль не установлен», хотя файл лежит на диске.
Рекомендуем установить обе версии (x86 и x64) последних поддерживаемых пакетов Visual C++ с официального сайта Microsoft для обеспечения стабильной работы серверных компонентов.
Если автоматический публикатор продолжает капризничать, мы можем проверить настройки вручную. Рассмотрим пример фрагмента кода, который 1С должен добавить в файл httpd.conf вашего Apache:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.15.1830/bin/wsap24.dll"
Alias "/MyBase" "C:/inetpub/wwwroot/MyBase/"
<Directory "C:/inetpub/wwwroot/MyBase/">
AllowOverride None
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/wwwroot/MyBase/default.vrd"
</Directory>
Где default.vrd — это файл описания вашей информационной базы. Проанализировав этот код, мы видим, что путь к wsap24.dll прописывается жестко. Если вы вручную добавите эти строки и Apache успешно перезапустится, значит, модули установлены и работают, а проблема была исключительно в интерфейсе «Конфигуратора».
Подводя итог, скажем: в 90% случаев проблема «отсутствующих» модулей при их фактическом наличии решается доустановкой компонента «Тонкий клиент» и проверкой соответствия разрядности платформы и веб-сервера. Следуйте этим шагам, и публикация базы станет простой задачей.