При настройке веб-доступа к базам «1С:Предприятие 8.3» системные администраторы часто отказываются от использования тяжеловесного IIS в пользу более легкого и быстрого веб-сервера Apache 2.4. Однако в процессе настройки связки под управлением операционной системы Windows Server можно столкнуться с неприятной проблемой: веб-сервер успешно запущен, тестовая страница в браузере открывается, но при попытке опубликовать базу данных через Конфигуратор 1С выдается ошибка «Не установлены модули веб-сервера».
В этой статье мы подробно разберем, почему возникает эта ошибка, как правильно сопоставить разрядность компонентов, настроить права доступа и конфигурационные файлы, а также как использовать встроенную утилиту webinst для быстрой автоматической публикации.
Основной источник проблемы кроется в несовпадении разрядности установленного веб-сервера Apache 2.4 и платформы «1С:Предприятие», из которой инициируется публикация. Проанализируем ключевые технические нюансы:
wsap24.dll. Если при установке платформы 1С на сервере не был выбран компонент «Модули расширения веб-сервера», этой библиотеки физически не будет в папке bin. Копировать файлы библиотек вручную из других версий или разрядностей крайне не рекомендуется — это гарантирует возникновение плавающих ошибок в процессе работы пользователей.wsap24.dll.Рассмотрим последовательность действий, которая поможет гарантированно решить проблему с публикацией баз.
Шаг 1. Проверяем разрядность установленного Apache
Откроем командную строку Windows и выполним команду для определения версии и разрядности веб-сервера:
httpd -v
Обратим внимание на архитектуру (например, x64 или x86). Нам необходимо убедиться, что установленная версия 1С соответствует этой разрядности.
Шаг 2. Установка правильных модулей расширения 1С
Запустим программу установки (инсталлятор) платформы «1С:Предприятие» той же разрядности, что и веб-сервер Apache. Выберем режим изменения состава установленных компонентов и обязательно отметим пункт «Модули расширения веб-сервера». После завершения установки перейдем в каталог bin платформы (например, C:\Program Files\1cv8\8.3.24.XXXX\bin) и убедимся в наличии файла wsap24.dll.
Шаг 3. Установка библиотек MSVC
Перейдем на официальный сайт Microsoft и установим последнюю версию распространяемого пакета Microsoft Visual C++ Redistributable для вашей архитектуры (vc_redist.x64.exe или vc_redist.x86.exe).
Вместо использования графического Конфигуратора, который может сбоить из-за нехватки лицензий или прав пользователя на сервере, рассмотрим профессиональный инструмент — консольную утилиту webinst, поставляемую вместе с платформой 1С.
Разберем по шагам, как выполнить публикацию через командную строку:
bin установленной версии 1С нужной разрядности. Например:
cd "C:\Program Files\1cv8\8.3.24.1350\bin"
webinst -publish -apache24 -wsdir MyBase -dir "C:\Apache24\htdocs\MyBase" -connstr "Srvr=My1CServer;Ref=MyBaseName;" -confpath "C:\Apache24\conf\httpd.conf"
webinst -publish -apache24 -wsdir MyBase -dir "C:\Apache24\htdocs\MyBase" -connstr "File=\"C:\1C_Bases\MyBase\";" -confpath "C:\Apache24\conf\httpd.conf"
После выполнения этой команды утилита самостоятельно создаст целевую папку публикации, сгенерирует в ней конфигурационный файл default.vrd и автоматически допишет необходимые директивы подключения модуля 1С в конец конфигурационного файла веб-сервера httpd.conf.
Иногда после работы автомата или при использовании нескольких версий платформ требуется ручная корректировка конфигурационного файла Apache. Откроем файл httpd.conf (обычно он находится по пути C:\Apache24\conf\httpd.conf) и проанализируем важные правила форматирования.
Формат путей в Apache: Веб-сервер Apache в операционной системе Windows требует использования прямых слэшей (/) в путях к файлам и каталогам вместо обратных слэшей (\). Если указать обратные слэши, веб-сервер откажется запускаться.
Пример корректных ручных записей в конце файла httpd.conf для подключения модуля 1С:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1350/bin/wsap24.dll"
<Directory "C:/Apache24/htdocs/MyBase">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/Apache24/htdocs/MyBase/default.vrd"
</Directory>
Обратите внимание на точный путь к библиотеке wsap24.dll. Если вы перешли на 64-разрядный веб-сервер, путь должен указывать на каталог Program Files, а не на Program Files (x86).
Выясним причину ситуации, когда публикация завершена успешно, но при попытке входа в базу в браузере отображается ошибка HTTP 500 (Internal Server Error) или HTTP 403 (Forbidden). Это напрямую связано с правами доступа операционной системы Windows.
По умолчанию служба веб-сервера Apache запускается от имени системной учетной записи (например, SYSTEM или Network Service). Для корректного функционирования веб-клиента необходимо настроить права безопасности следующим образом:
bin, где расположена библиотека wsap24.dll).default.vrd).Рассмотрим сложный сценарий, когда на одном сервере требуется одновременно опубликовать несколько информационных баз, работающих на разных релизах платформы (например, одна на старой версии 8.3.15, а другая на новой 8.3.24).
Поскольку один запущенный процесс Apache 2.4 способен загрузить в свою память только одну версию библиотеки wsap24.dll, стандартная схема публикации работать не будет. Чтобы решить эту проблему, на сервере разворачивают несколько независимых служб Apache.
Каждая служба настраивается на работу со своим сетевым портом (например, порт 80 для одного релиза и порт 81 для другого), использует собственный конфигурационный файл httpd.conf и загружает библиотеку wsap24.dll из каталога соответствующей версии платформы 1С.