Как опубликовать базу 1С на веб-сервере без использования Конфигуратора

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

Многие специалисты сталкиваются с ситуацией, когда стандартный метод публикации через меню «Администрирование — Публикация на веб-сервере» в Конфигураторе недоступен или неудобен. Это может быть связано с необходимостью автоматизации развертывания (CI/CD), работой в операционных системах семейства Linux без графического интерфейса или специфическими требованиями к безопасности. В данной статье мы подробно разберем, как осуществить публикацию полностью вручную или с помощью инструментов командной строки, а также выясним, почему могут возникать ошибки типа 404 Not Found.

Развенчиваем мифы о «внутренних настройках»

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

Способ 1: Использование утилиты webinst

Рассмотрим наиболее надежный способ автоматизации — использование штатной утилиты webinst. Она входит в состав дистрибутива платформы 1С и находится в каталоге bin установленной версии. Эта утилита позволяет прописать все необходимые параметры в конфигурацию веб-сервера одной командой.

Разберем пример команды для веб-сервера Apache 2.4:


webinst -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -connstr "Srvr=ServerName;Ref=BaseName;" -confPath "C:\Program Files\Apache24\conf\httpd.conf"

Проанализируем используемые параметры:

Способ 2: Ручная настройка конфигурации Apache

Если мы решим настраивать сервер полностью «руками», нам необходимо выполнить два основных действия: отредактировать httpd.conf и создать файл default.vrd. Выясним, какие именно записи должны появиться в конфиге Apache.

В файл httpd.conf необходимо добавить загрузку модуля расширения 1С и описание виртуального каталога. Пример типичной записи:


LoadModule _1cws_module "C:/Program Files/1cv8/8.3.23.1865/bin/wsap24.dll"

Alias "/MyBase" "C:/inetpub/wwwroot/MyBase/"

<Directory "C:/inetpub/wwwroot/MyBase/">
    AllowOverride None
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/inetpub/wwwroot/MyBase/default.vrd"
</Directory>

Важный момент: обратите внимание на пути. Одной из самых коварных ошибок является использование разных раскладок для визуально похожих символов. Например, латинская c и кириллическая с в путях или именах директорий гарантированно приведут к ошибке 404, которую крайне сложно заметить при беглом осмотре текста.

Структура и настройка файла default.vrd

Файл default.vrd представляет собой XML-документ, описывающий параметры подключения к базе и доступные сервисы. Рассмотрим пример его содержания для клиент-серверной базы:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/MyBase"
       ib="Srvr=ServerName;Ref=BaseName;">
    <standardOdata enable="true"
                   publishRootReadOnly="false"
                   setFullMetadataComposition="true"/>
    <debug enable="false" url="tcp://localhost"/>
</point>

В этом файле мы можем тонко настраивать работу системы:

  1. Атрибут ib содержит строку соединения. Убедитесь, что она в точности совпадает с той, что используется в тонком клиенте.
  2. Секция standardOdata управляет доступом к автоматическому REST-интерфейсу 1С.
  3. Секция debug позволяет включить возможность отладки кода прямо на веб-сервере.
  4. Параметры пула соединений (например, poolSize и poolTimeout) помогают оптимизировать работу под высокой нагрузкой.

Особенности публикации на Linux

При работе с Linux-серверами ручная настройка часто становится основным методом. Проанализируем специфические нюансы этой ОС:

Проверка разрядности (Bitness)

Выясним еще одну скрытую причину неудач при публикации. Разрядность веб-сервера и установленной платформы 1С должна совпадать. Если вы используете 64-битную версию платформы 1С, вам необходимо установить 64-битную версию Apache или IIS. Если в httpd.conf указать путь к 64-битной библиотеке wsap24.dll внутри 32-битного Apache, сервер либо не запустится, либо будет выдавать ошибки при попытке обращения к модулю расширения.

Рекомендации по поиску ошибок

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

  1. Проверьте Error Log веб-сервера (в Apache это обычно файл error.log). Там будут зафиксированы ошибки инициализации модуля 1С, если они возникли.
  2. Убедитесь, что в системе установлены необходимые зависимости. Для работы веб-расширения 1С могут потребоваться библиотеки libxml2 или специфические версии системных библиотек в Linux.
  3. Попробуйте временно упростить файл default.vrd до минимума, оставив только базовое описание точки подключения.

Таким образом, мы видим, что ручная публикация — это прозрачный и контролируемый процесс. Главное — проявлять внимательность к деталям конфигурации, следить за корректностью путей и соблюдать требования к разрядности ПО.

← На главную