К статье
Практический материал

Администрирование · 13 мин

Как опубликовать базу 1С через Apache

Пошаговая инструкция по публикации базы 1С через веб-сервер Apache: установка модулей, настройка default.vrd, типичные ошибки и проверка результата.

Публикация базы 1С через веб-сервер Apache позволяет сотрудникам работать с информационной базой через браузер или тонкий клиент по протоколу HTTP, без установки полного клиента на каждый компьютер. Это стандартный способ организации удалённого доступа, который поддерживается платформой 1С:Предприятие наравне с публикацией через IIS. Apache чаще выбирают на серверах под Linux, но он отлично работает и на Windows.

Для публикации используется специальный модуль расширения веб-сервера, который входит в состав дистрибутива платформы 1С, а также утилита webinst, выполняющая автоматическую настройку. Ручная настройка тоже возможна, но требует аккуратного редактирования конфигурационных файлов Apache и файла описания публикации default.vrd.

Ниже разобран полный цикл: от подготовки сервера и установки модулей до проверки работоспособности и устранения типичных ошибок. Инструкция подходит для платформы 8.3, примеры команд приведены для Windows и Linux, поскольку различия между ними существенны.

Что потребуется перед началом работы

Перед публикацией убедитесь, что выполнены базовые условия. Во-первых, сама информационная база должна быть развёрнута и доступна: либо в клиент-серверном варианте (1С:Сервер + СУБД), либо в файловом — в последнем случае Apache должен иметь сетевой доступ к каталогу с базой. Во-вторых, разрядность Apache, модулей расширения веб-сервера и платформы 1С должна совпадать: 32-битный Apache не загрузит 64-битный модуль wsap24.dll, и наоборот.

Из дистрибутива платформы понадобится компонент «Модули расширения веб-сервера» — при установке платформы на Windows он выбирается отдельным пунктом. На Linux модули ставятся из пакетов дистрибутива 1С. Также потребуется сам Apache: версии 2.2 или 2.4. Для Windows удобно использовать готовые сборки Apache 2.4, для Linux — пакет из репозитория дистрибутива (apache2 в Debian/Ubuntu, httpd в CentOS/RHEL).

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

Установка и подготовка Apache

На Windows скачайте сборку Apache 2.4 и распакуйте её, например, в C:\Apache24. Установите службу командой от имени администратора: httpd.exe -k install. После установки проверьте запуск: httpd.exe -k start и откройте в браузере http://localhost — должна отобразиться тестовая страница.

На Linux установка проще: apt install apache2 (Debian/Ubuntu) или yum install httpd (CentOS). Убедитесь, что служба запущена: systemctl status apache2. Если на сервере уже работает другой веб-сервер на порту 80, измените порт Apache в конфигурации или остановите конфликтующую службу.

Дополнительно проверьте, что брандмауэр пропускает входящие подключения на порт 80 (или 443, если планируется HTTPS). Без этого публикация будет работать локально, но недоступна с других машин сети.

bash
# Windows (от имени администратора)
C:\Apache24\bin\httpd.exe -k install
C:\Apache24\bin\httpd.exe -k start

# Linux (Debian/Ubuntu)
apt install apache2
systemctl enable --now apache2

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

Модуль расширения веб-сервера — это библиотека, которая связывает Apache с платформой 1С. Для Apache 2.4 на Windows это файл wsap24.dll, на Linux — wsap24.so. Он находится в каталоге установки платформы, но активируется только если при установке был выбран компонент «Модули расширения веб-сервера».

Если компонент не был установлен, запустите установщик платформы повторно в режиме изменения и отметьте нужный пункт. На Linux пакет модулей ставится отдельно из состава дистрибутива 1С для соответствующей архитектуры.

Проверить наличие модуля можно просто: найдите файл wsap24.dll (или wsap24.so) в каталоге bin установленной платформы, например C:\Program Files\1cv8\<номер версии>\bin\. Если файла нет — компонент не установлен, и публикация завершится ошибкой.

Публикация базы: утилита webinst и конфигуратор

Самый быстрый способ опубликовать базу — утилита webinst из каталога bin платформы. Она автоматически правит конфигурацию Apache (httpd.conf), создаёт файл default.vrd и каталог публикации. Запускать её нужно от имени администратора (на Windows) или с правами root (на Linux).

bash
webinst -publish -apache24 -wsdir MyBase -dir "C:\inetpub\MyBase" -connstr "Srvr=server1c;Ref=MyBase;" -confpath "C:\Apache24\conf\httpd.conf"

Разберём ключи команды. -apache24 указывает версию веб-сервера. -wsdir — имя виртуального каталога, оно же станет частью URL (http://сервер/MyBase). -dir — физический каталог публикации, куда будет записан default.vrd; он создаётся автоматически и должен быть пустым или несуществующим. -connstr — строка соединения с базой: для клиент-серверного варианта указываются сервер 1С и имя базы, для файлового — путь к каталогу (File="D:\bases\MyBase";).

Альтернатива — публикация через конфигуратор: меню «Администрирование → Публикация на веб-сервере». В диалоге укажите имя публикации, тип веб-сервера (Apache 2.4), каталог и при необходимости включите публикацию веб-сервисов и HTTP-сервисов. Этот способ удобнее, когда нужно точечно выбрать публикуемые сервисы.

Порядок действий
  1. 1
    Установите Apache 2.4 той же разрядности, что и платформа 1С, и проверьте его запуск
  2. 2
    Доустановите компонент «Модули расширения веб-сервера» из дистрибутива платформы
  3. 3
    Выполните публикацию через webinst -publish или конфигуратор, указав строку соединения с базой
  4. 4
    Перезапустите Apache, чтобы он подхватил изменения в httpd.conf
  5. 5
    Откройте в браузере http://сервер/имя_публикации и авторизуйтесь пользователем базы

Что содержит файл default.vrd и когда его править вручную

Файл default.vrd — это XML-описание публикации: точка входа, строка соединения с базой, список публикуемых веб-сервисов и HTTP-сервисов, параметры пула соединений. Утилита webinst и конфигуратор создают его автоматически, и в большинстве случаев ручная правка не нужна.

Вручную файл редактируют, когда требуется нестандартная настройка: добавить публикацию отдельного веб-сервиса, изменить параметры отладки (элемент debug), настроить пул сеансов или задать несколько точек входа на одну базу с разными настройками. Любые правки делайте аккуратно: ошибка в XML приведёт к тому, что публикация перестанет открываться с ошибкой 500.

Также webinst добавляет в httpd.conf блок LoadModule с подключением wsap24 и директиву, связывающую виртуальный каталог с default.vrd. Если вы переносите публикацию на другой сервер, переносить нужно и этот блок конфигурации, и сам default.vrd.

Проверка работоспособности публикации

После перезапуска Apache откройте в браузере адрес вида http://имя_сервера/MyBase. Признак успешной публикации — страница с выбором режима входа или сразу форма авторизации веб-клиента 1С. Введите логин и пароль пользователя информационной базы: должен загрузиться интерфейс прикладного решения.

Дополнительно проверьте подключение тонким клиентом: в списке баз добавьте базу с вариантом размещения «На веб-сервере» и укажите тот же URL. Тонкий клиент обычно производительнее веб-клиента на слабых каналах связи, поэтому его часто рекомендуют для удалённых пользователей.

Если база клиент-серверная, убедитесь, что с машины Apache доступен сервер 1С (порт агента кластера, по умолчанию 1540–1541). Публикация может быть настроена идеально, но без сетевой связности с кластером пользователь получит ошибку соединения с базой.

Контрольные точки

Как проверить результат

Открытие http://сервер/имя_базы в браузере
Норма

Отображается форма входа веб-клиента 1С

Тревожный признак

Ошибка 404 (публикация не создана) или 500 (проблема с модулем/default.vrd)

Запуск Apache после правки конфигурации
Норма

Служба стартует без ошибок

Тревожный признак

Apache не стартует — синтаксическая ошибка в httpd.conf или несовпадение разрядности модуля

Авторизация пользователя
Норма

Интерфейс прикладного решения загружается полностью

Тревожный признак

Ошибка соединения с информационной базой — проблема в строке connstr или доступности кластера

Типичные ошибки и способы их устранения

Ошибка 500 при открытии публикации чаще всего означает, что Apache не смог загрузить модуль wsap24: несовпадение разрядности, отсутствие файла модуля или нет прав на его чтение. Проверьте журнал ошибок Apache (error.log) — там будет конкретная причина.

Ошибка 404 говорит о том, что виртуальный каталог не зарегистрирован: либо webinst не смог записать изменения в httpd.conf (запуск не от администратора), либо Apache не был перезапущен. Проверьте, что в httpd.conf появился блок с вашей публикацией, и перезапустите службу.

Сообщение «Ошибка соединения с информационной базой» при работающем веб-сервере указывает на неверную строку соединения в default.vrd или недоступность сервера 1С/каталога файловой базы с машины Apache. Для файловых баз по сети используйте UNC-пути и убедитесь, что служба Apache имеет к ним доступ — служба, работающая под LocalSystem, не имеет сетевых прав.

Типичные ошибки
01
Смешение разрядности: 64-битный модуль 1С с 32-битным Apache — Apache не стартует или публикация отдаёт ошибку 500
02
Запуск webinst без прав администратора — изменения не записываются в httpd.conf, результат — ошибка 404
03
Служба Apache под учётной записью без доступа к каталогу файловой базы — ошибка соединения с базой при корректной публикации
04
Забытый перезапуск Apache после публикации — веб-сервер продолжает работать со старой конфигурацией
05
Публикация по HTTP без шифрования при доступе через интернет — логины и данные передаются открытым текстом

Безопасность: HTTPS и ограничение доступа

Публикация 1С по открытому HTTP приемлема только внутри изолированной локальной сети. Если база доступна из интернета или через незащищённые каналы, настройте HTTPS: получите сертификат (например, бесплатный через Let's Encrypt), подключите mod_ssl в Apache и настройте виртуальный хост на порту 443 с редиректом с HTTP на HTTPS.

Дополнительные меры: ограничьте доступ к публикации по IP-адресам средствами Apache (директивы Require ip), если круг пользователей известен; не публикуйте лишние веб-сервисы — каждый опубликованный сервис расширяет поверхность атаки; используйте сложные пароли и отключите встроенных пользователей с пустыми паролями.

Apache или IIS: что выбрать

Сравнение вариантов

Apache

Кроссплатформенный, работает на Windows и Linux, бесплатный, гибкая конфигурация. Требует ручной установки и внимательности к разрядности модулей.

IIS

Встроен в Windows Server, удобная интеграция с Windows-аутентификацией. Не работает на Linux, на клиентских версиях Windows есть ограничения на число подключений.

Веб-сервер на отдельной машине

Не тип сервера, а схема развёртывания: Apache или IIS на отдельном хосте снижают нагрузку на сервер 1С, но добавляют сетевой узел и требуют контроля связности с кластером.

На Linux-серверах выбор фактически один — Apache (либо nginx в роли обратного прокси перед Apache, так как модуля 1С для nginx не существует). На Windows оба варианта равнозначны по функциональности; IIS удобнее при необходимости сквозной Windows-аутентификации, Apache — при уже сложившейся инфраструктуре на нём.

Часто задаваемые вопросы

Можно ли опубликовать файловую базу 1С через Apache?

Да. В строке соединения укажите путь к каталогу базы: File="D:\bases\MyBase";. Если база лежит на другом компьютере, используйте UNC-путь и настройте службу Apache на запуск под учётной записью с доступом к этой сетевой папке — учётная запись LocalSystem сетевого доступа не имеет.

Apache не запускается после выполнения webinst. Что делать?

Откройте журнал ошибок Apache (error.log в каталоге logs) — там указана конкретная строка конфигурации, вызвавшая сбой. Чаще всего причина в несовпадении разрядности модуля wsap24 и Apache либо в неверном пути к модулю в директиве LoadModule. Проверить конфигурацию без запуска можно командой httpd -t.

Поддерживается ли Apache 2.4 на 64-битной платформе 1С?

Да, платформа 8.3 поставляет 64-битные модули расширения веб-сервера. Главное условие — совпадение разрядности всех трёх компонентов: Apache, модуля wsap24 и платформы, обслуживающей публикацию.

Как опубликовать несколько баз на одном Apache?

Выполните публикацию для каждой базы отдельно с уникальным именем виртуального каталога (ключ -wsdir): например, Trade и Accounting. Каждая публикация получит свой каталог с default.vrd и свой URL. Ограничений по количеству публикаций на одном веб-сервере нет, учитывайте только нагрузку на сервер.

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

Да, рекомендуется. После обновления платформы модуль wsap24 новой версии заменяет старый, и публикацию следует выполнить заново той же командой webinst, чтобы конфигурация Apache ссылалась на актуальный модуль. Иначе возможны ошибки загрузки модуля старой версии.

Почему веб-клиент открывается, но работает очень медленно?

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

Итог

Что важно запомнить

Публикация базы 1С через Apache сводится к трём шагам: установка Apache той же разрядности, что и платформа, установка модулей расширения веб-сервера и выполнение публикации через webinst или конфигуратор. После каждого изменения перезапускайте Apache, а результат проверяйте открытием URL публикации в браузере. Для доступа извне локальной сети обязательно настраивайте HTTPS.