Что делать, если веб-серверы не обнаружены при публикации базы 1С после обновления платформы?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При администрировании систем на базе 1С:Предприятие одной из наиболее частых задач является публикация информационных баз на веб-сервере для обеспечения удаленного доступа пользователей через тонкий клиент или веб-браузер. Однако после проведения планового обновления платформы (например, при переходе на релиз 8.3.17.1851 или любой другой актуальный релиз ветки 8.3) администраторы часто сталкиваются с неприятной системной ошибкой. При попытке зайти в Конфигуратор и выбрать пункт меню «Администрирование -> Публикация на веб-сервере» система выдает критическое предупреждение: «Веб-серверы не обнаружены», при этом кнопка публикации становится неактивной.

В этой статье мы подробно и пошагово разберем, почему возникает данная неполадка, проанализируем внутренние механизмы взаимодействия Конфигуратора 1С и веб-сервера Apache, а также рассмотрим комплекс практических методов решения этой проблемы.

Выясняем первопричину: почему Конфигуратор «теряет» веб-сервер?

Для начала давайте разберем физику процесса публикации. Когда мы открываем диалоговое окно публикации в Конфигураторе, 1С не просто проверяет запущенные службы в операционной системе Windows. Она выполняет сканирование системного реестра и стандартных путей файловой системы в поисках установленного программного обеспечения веб-серверов (IIS или Apache). Если пути изменены, файлы конфигурации недоступны для чтения/записи или разрядность компонентов не совпадает, 1С принимает решение, что подходящих веб-серверов в системе нет.

Проанализируем основные факторы, которые приводят к этой ошибке после обновления платформы:

  1. Несоответствие путей к модулям расширения в конфигурации Apache. Самая распространенная причина. В конфигурационном файле веб-сервера httpd.conf жестко прописывается путь к библиотеке сопряжения 1С (например, wsap22.dll или wsap24.dll), которая лежит внутри бинарного каталога конкретной версии платформы. При установке новой версии старый каталог становится неактуальным, а веб-сервер продолжает ссылаться на него или вовсе перестает запускаться.
  2. Отсутствие установленного компонента веб-сервера в дистрибутиве новой платформы. При запуске обновления системные администраторы часто устанавливают платформу «по умолчанию», забывая отметить галочками специфические модули.
  3. Несовпадение разрядности (Bitness) веб-сервера и платформы 1С. Смешивание 32-битных и 64-битных версий компонентов часто приводит к тому, что они перестают видеть друг друга.
  4. Ограничения прав доступа (UAC) операционной системы. Без явного повышения прав Конфигуратор не может получить доступ к веткам реестра веб-сервера и его файлам конфигурации.

Ниже мы подробно рассмотрим каждый шаг по устранению этих неисправностей.

Решение 1. Проверка установки модулей расширения веб-сервера 1С

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

Выполним следующие действия для проверки и исправления:

  1. Перейдем в Панель управления сервера, откроем раздел «Программы и компоненты».
  2. Найдем в списке установленную платформу 1С:Предприятие нужной версии (например, 8.3.17.1851) и нажмем кнопку «Изменить».
  3. В открывшемся окне установщика выберем пункт «Изменение операции» и перейдем к дереву компонентов.
  4. Убедимся, что для компонента «Модули расширения веб-сервера» (в некоторых версиях он называется «Компоненты доступа к веб-серверу») выбран режим «Данный компонент будет установлен на локальный жесткий диск».
  5. Завершим установку, нажав кнопку «Далее» и дождавшись окончания процесса копирования файлов.

После этого в каталоге установленной платформы (обычно это C:\Program Files\1cv8\8.3.17.1851\bin\ или C:\Program Files (x86)\1cv8\8.3.17.1851\bin\) должны появиться файлы модулей веб-сервера — wsap22.dll (для Apache 2.2) или wsap24.dll (для Apache 2.4).

Решение 2. Корректировка конфигурационного файла Apache (httpd.conf)

Перейдем к самой частой проблеме, с которой столкнулся автор темы на форуме. При установке новой платформы старый путь к библиотеке 1С в файле настроек Apache становится недействительным. Веб-сервер либо запускается с ошибками, либо Конфигуратор новой платформы не может сопоставить запущенную службу со своими внутренними путями.

Давайте пошагово отредактируем конфигурационный файл Apache:

  1. Остановим службу веб-сервера Apache через диспетчер служб Windows (services.msc) или через утилиту управления Apache.
  2. Перейдем в каталог установки Apache. По умолчанию для версии 2.2 это путь C:\Program Files\Apache Software Foundation\Apache2.2\conf\. Для версии 2.4 — C:\Program Files\Apache Software Foundation\Apache2.4\conf\ или ваш кастомный путь (например, C:\Apache24\conf\).
  3. Откроем файл httpd.conf с помощью любого текстового редактора (например, Notepad++), обязательно запустив его от имени Администратора.
  4. Найдем в самом конце файла блок подключения модуля 1С. В зависимости от версии Apache и предыдущей версии платформы он выглядит примерно так:

# Пример старой конфигурации для платформы 8.3.15.1830 и Apache 2.2
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.15.1830/bin/wsap22.dll"

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

Нам необходимо вручную отредактировать эту строку, указав путь к новой платформе. Изменим ее следующим образом:


# Новая конфигурация для платформы 8.3.17.1851 и Apache 2.2
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.17.1851/bin/wsap22.dll"

Важное примечание: Обратите внимание на направление слэшей в пути к файлу. В конфигурационном файле Apache используются прямые слэши (/), в то время как в Windows стандартными являются обратные слэши (\). Не допускайте ошибок при копировании путей из проводника Windows.

Если вы используете веб-сервер Apache версии 2.4, строка подключения модуля должна использовать соответствующую библиотеку сопряжения:


# Конфигурация для платформы 8.3.17.1851 и Apache 2.4
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.17.1851/bin/wsap24.dll"

После внесения изменений сохраним файл httpd.conf и запустим службу Apache заново. Убедимся, что служба перешла в статус «Работает» и не завершается аварийно.

Решение 3. Борьба с нестандартными путями установки Apache

Если вы проделали описанные выше шаги, но Конфигуратор 1С все еще упорно твердит, что «Веб-серверы не обнаружены», давайте проанализируем структуру каталогов самого веб-сервера. Конфигуратор осуществляет автоматический поиск веб-сервера Apache по строго заданным веткам реестра Windows и стандартным путям файловой системы. Чтобы избежать проблем со структурой каталогов на этапе развертывания, можно использовать скрипт автоматической установки Apache на Windows.

Если ваш веб-сервер установлен, к примеру, в корень диска C:\Apache22\ или собран из альтернативных пакетов (XAMPP, WampServer), 1С просто не сможет его локализовать.

Для обхода этого ограничения мы можем применить проверенную хитрость: имитировать стандартную структуру каталогов. Разберем этот алгоритм:

  1. Создадим вручную структуру папок, которую ожидает увидеть 1С: C:\Program Files\Apache Software Foundation\Apache2.2\conf\ (или Apache2.4\conf\ в зависимости от используемой версии).
  2. Скопируем ваш рабочий файл httpd.conf из реального каталога установки Apache в только что созданную папку conf по стандартному пути.
  3. Запустим Конфигуратор 1С от имени администратора. Теперь система обнаружит конфигурационный файл по стандартному пути и позволит выполнить публикацию.
  4. После успешного завершения публикации скопируем измененный файл httpd.conf из "фейковой" папки обратно в реальный рабочий каталог вашего Apache и перезапустим службу веб-сервера.

Решение 4. Обязательный запуск Конфигуратора с правами Администратора (UAC)

Давайте рассмотрим влияние механизма контроля учетных записей пользователей (UAC) в ОС Windows Server. Даже если ваша учетная запись входит в группу локальных администраторов сервера, обычный запуск Конфигуратора выполняется с урезанными правами. В этом режиме программа не имеет прав на запись в системные папки (такие как C:\Program Files\) и лишена возможности изменять файлы конфигурации веб-сервера.

В результате этого ограничения Конфигуратор блокирует возможность публикации баз. Решение здесь максимально простое, но критически важное:

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

Решение 5. Анализ разрядности (Bitness) платформы 1С и Apache

Еще один неочевидный нюанс, который часто упускают при обновлении программного обеспечения — несовпадение архитектуры приложений (32-бит и 64-бит). Давайте проанализируем правила совместимости веб-серверов и компонентов 1С:

Перед началом публикации обязательно сверяйте архитектуру установленного веб-сервера со свойствами запускаемого клиента 1С в диспетчере задач Windows.

Решение 6. Публикация базы в обход Конфигуратора с помощью утилиты webinst

Что делать, если все настройки проверены, пути верны, но графический интерфейс Конфигуратора по-прежнему выдает ошибку поиска веб-серверов? Для таких сложных ситуаций разработчики 1С предусмотрели альтернативный и более надежный низкоуровневый инструмент — консольную утилиту webinst. При необходимости также можно использовать внешнюю обработку для публикации информационных баз в обход Конфигуратора.

Эта утилита поставляется вместе с платформой 1С и находится в каталоге bin установленной версии. Преимущество использования утилиты командной строки заключается в том, что мы можем принудительно передать ей точные пути к файлу конфигурации Apache, полностью минуя автоматические алгоритмы поиска Конфигуратора.

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

  1. Откроем командную строку Windows (cmd) обязательно с правами Администратора.
  2. Перейдем в каталог bin установленной версии платформы 1С с помощью команды:

cd "C:\Program Files\1cv8\8.3.17.1851\bin"

  1. Выполним команду публикации. Предположим, что наша база данных называется Trade_DB, работает в клиент-серверном режиме на сервере 1C-SRV, а конфигурационный файл Apache 2.2 расположен по кастомному пути C:\Apache22\conf\httpd.conf. Команда будет выглядеть следующим образом:

webinst -apache22 -wsdir Trade_DB -dir "C:\inetpub\wwwroot\Trade_DB" -connstr "Srvr=1C-SRV;Ref=Trade_DB;" -confpath "C:\Apache22\conf\httpd.conf"

Давайте подробно разберем ключи, которые мы использовали в этой команде, чтобы вы могли легко адаптировать ее под свои параметры:

После выполнения этой команды утилита самостоятельно пропишет нужные строки подключения модуля 1С в указанный файл httpd.conf, создаст каталог публикации и сгенерирует файл описания default.vrd. Вам останется лишь перезапустить службу Apache.

Резюме и чеклист для администратора

Мы подробно проанализировали проблему несовместимости версий и путей при публикации баз 1С на веб-сервере после обновления платформы. В заключение давайте составим краткий чеклист, который поможет быстро локализовать и устранить проблему в будущем:

  1. Проверьте, установлены ли «Модули расширения веб-сервера» в компонентах новой платформы 1С через изменение установщика Windows.
  2. Убедитесь, что служба веб-сервера Apache запущена и находится в рабочем состоянии.
  3. Запускайте Конфигуратор 1С исключительно с правами администратора («Запуск от имени администратора»).
  4. Проверьте конфигурационный файл httpd.conf: путь к библиотеке wsap22.dll / wsap24.dll должен указывать на каталог новой версии платформы 1С. Используйте прямые слэши в путях.
  5. Если веб-сервер установлен по нетиповому пути, скопируйте файл httpd.conf во временную папку, имитирующую стандартный путь установки, либо воспользуйтесь консольной утилитой публикации webinst.

Используя данные методы системного администрирования, вы гарантированно решите проблему доступности веб-серверов и обеспечите бесперебойную работу пользователей с базами 1С через веб-интерфейс.

← На главную