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

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

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

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

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

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

Инструкция ориентирована на платформу 1С:Предприятие 8.3 и Apache 2.4 на Windows и Linux. Пути к файлам и команды могут незначительно отличаться в зависимости от версии платформы и дистрибутива — сверяйтесь с документацией к вашей конкретной версии.

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

Для публикации понадобится установленная платформа 1С:Предприятие той же версии, под которой работает база, веб-сервер Apache версии 2.4 (поддерживаются также 2.2 в старых релизах платформы) и дистрибутив платформы с компонентом «Модули расширения веб-сервера». Этот компонент не ставится по умолчанию — его нужно выбрать явно при установке платформы.

Учётная запись, из-под которой выполняется настройка, должна иметь права администратора на сервере. Если база клиент-серверная, дополнительно потребуются параметры подключения к серверу 1С и СУБД, а также пользователь ИБ с правами на публикацию.

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

На Windows проще всего использовать готовую сборку Apache 2.4. После установки проверьте, что служба запускается, а в браузере по адресу http://localhost открывается стандартная страница веб-сервера. На Linux (например, Debian/Ubuntu) Apache ставится пакетным менеджером.

Модули расширения веб-сервера устанавливаются из дистрибутива платформы 1С: при установке отметьте компонент «Модули расширения веб-сервера». В результате в каталоге платформы появится файл модуля: для Windows это wsap24.dll в подкаталоге bin, для Linux — mod_1cws.so или аналогичный, в зависимости от версии платформы.

bash
# Установка Apache на Debian/Ubuntu
sudo apt update
sudo apt install apache2
# Проверка статуса
sudo systemctl status apache2

После установки убедитесь, что Apache запускается без ошибок. Если служба не стартует, смотрите журнал ошибок (error.log в каталоге logs на Windows или /var/log/apache2/error.log на Linux) — там будет указана конкретная причина: занятый порт, синтаксическая ошибка в конфигурации или отсутствующий модуль.

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

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

Каталог публикации — это обычная папка, например C:\Apache24\htdocs\mybase или /var/www/html/mybase. В ней конфигуратор создаст файл default.vrd — центральный файл настроек публикации, в котором прописаны строка подключения к базе, параметры веб-сервисов и настройки безопасности.

Порядок действий
  1. 1
    Установите Apache 2.4 и модули расширения веб-сервера из дистрибутива платформы
  2. 2
    Откройте базу в конфигураторе и выберите Администрирование → Публикация на веб-сервере
  3. 3
    Укажите имя публикации, тип веб-сервера и каталог публикации
  4. 4
    Подтвердите запись настроек в конфигурацию Apache (httpd.conf) при запросе
  5. 5
    Перезапустите Apache и откройте в браузере адрес http://сервер/ИмяПубликации

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

Что записывается в конфигурацию Apache и default.vrd

Понимание того, что именно добавляется в конфигурацию, помогает диагностировать проблемы. В httpd.conf (или подключаемый файл) добавляется загрузка модуля расширения веб-сервера и секция, связывающая URL публикации с каталогом и файлом default.vrd.

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

Alias "/mybase" "C:/Apache24/htdocs/mybase"
<Directory "C:/Apache24/htdocs/mybase">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Apache24/htdocs/mybase/default.vrd"
</Directory>

Файл default.vrd содержит строку подключения к информационной базе: для файловой базы это путь к каталогу, для клиент-серверной — имя сервера 1С, имя базы и параметры СУБД. Там же включаются или отключаются веб-сервисы, HTTP-сервисы, доступ по протоколу OData и настройки пула соединений.

При изменении настроек публикации (например, добавлении HTTP-сервиса) конфигуратор обновляет default.vrd. Если вы правите файл вручную, перезапуск Apache не требуется — модуль перечитывает default.vrd автоматически, но при ошибке в XML база перестанет открываться до исправления файла.

Публикация из командной строки через webinst

Для автоматизации и массового развёртывания удобнее утилита webinst из каталога платформы. Она выполняет те же действия, что и конфигуратор, но из командной строки — это удобно для скриптов установки и обновления.

bash
"C:\Program Files\1cv8\8.3.22.1750\bin\webinst.exe" -publish -apache24 -wsdir mybase -dir "C:\Apache24\htdocs\mybase" -connStr "File=C:\Bases\Trade;" -confPath "C:\Apache24\conf\httpd.conf"

Параметр -wsdir задаёт имя публикации, -dir — каталог, -connStr — строку подключения к базе, -confPath — путь к конфигурационному файлу Apache. После выполнения команды перезапустите Apache и проверьте доступность базы.

Проверка результата и настройка доступа

Откройте в браузере адрес вида http://имя_сервера/ИмяПубликации. Признак успешной публикации — страница входа в веб-клиент 1С со списком пользователей или формой ввода логина и пароля. Если база открывается, проверьте также подключение тонким клиентом: в диалоге добавления базы выберите «На веб-сервере» и укажите тот же URL.

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

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

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

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

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

Ошибка 404 (не найден каталог или alias), 500 (ошибка default.vrd или модуля)

Запуск Apache после правки httpd.conf
Норма

Служба стартует без сообщений об ошибках

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

Служба не стартует, в error.log упоминание wsap24.dll или синтаксической ошибки

Подключение тонкого клиента по URL публикации
Норма

База добавляется и открывается

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

Ошибка соединения — проверяйте имя публикации и строку подключения в default.vrd

Для доступа извне не забудьте открыть порт 80 (или 443 для HTTPS) в брандмауэре сервера. Открытие базы в интернет без HTTPS и без продуманной аутентификации недопустимо: трафик веб-клиента по HTTP передаётся открытым текстом, включая логины и пароли. Для внешнего доступа настройте SSL-сертификат в Apache и при необходимости ограничьте доступ по IP.

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

Большинство проблем публикации сводится к нескольким повторяющимся сценариям. Ошибка 404 означает, что Apache не знает о каталоге публикации: проверьте секцию Alias и перезапуск сервера. Ошибка 500 чаще всего указывает на битый default.vrd, несовпадение разрядности модуля или неверную строку подключения к базе.

Типичные ошибки
01
Установлен 64-битный Apache, а модуль расширения 32-битный (или наоборот) — Apache не стартует, в error.log ошибка загрузки модуля
02
Имя публикации содержит кириллицу или пробелы — база недоступна или URL работает некорректно
03
После правки httpd.conf Apache не перезапущен — изменения не применяются, публикация не видна
04
В строке подключения указан локальный путь к файловой базе, недоступный учётной записи Apache — ошибка доступа к базе
05
Порт 80 занят другим приложением (IIS, Skype, другой службой) — Apache не запускается вообще

Если Apache не стартует, первым делом читайте error.log — в нём практически всегда есть точная причина. Удобная проверка конфигурации без перезапуска — команда httpd -t (на Windows из каталога bin Apache), которая сообщит о синтаксических ошибках.

Для файловых баз публикация на Apache работает, но при нескольких одновременных пользователях файловый режим быстро становится узким местом. Если планируется больше нескольких активных пользователей через веб, рассмотрите перевод базы в клиент-серверный вариант до настройки публикации, а не после появления жалоб на скорость.
ПЗ
Практическое замечание

Ограничения и альтернативы

Публикация на Apache — не единственный вариант. На Windows-серверах часто используют IIS: настройка аналогична, а интеграция с доменной аутентификацией у IIS проще. Для небольших внедрений возможна работа через встроенный веб-сервер платформы, но он предназначен для отладки и не рассчитан на промышленную нагрузку.

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

Apache 2.4

Кроссплатформенный, бесплатный, хорошо документирован для 1С. Требует ручной настройки HTTPS и контроля разрядности модулей.

IIS (Windows)

Удобен в доменной среде, простая интеграция с Windows-аутентификацией. Работает только на Windows, публикация настраивается отдельно.

Встроенный веб-сервер платформы

Подходит только для разработки и тестирования HTTP-сервисов. Не использовать для реальных пользователей.

Учитывайте и лицензионный аспект: для работы пользователей через веб-сервер требуются клиентские лицензии 1С в том же объёме, что и для обычных клиентов. Сама публикация дополнительных лицензий не требует, но каждый подключившийся пользователь занимает лицензию.

Итог

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

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

Частые вопросы

Можно ли опубликовать на одном Apache несколько баз 1С?

Да. Каждая база публикуется под своим именем в отдельном каталоге со своим default.vrd, а в конфигурацию Apache добавляются отдельные секции Alias и Directory. Доступ к базам будет по разным URL: http://сервер/base1, http://сервер/base2 и так далее.

Нужно ли перезапускать Apache после изменения default.vrd?

Нет, модуль расширения веб-сервера перечитывает default.vrd автоматически при обращении. Перезапуск требуется только после изменений в httpd.conf — например, при добавлении новой публикации или смене пути к модулю.

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

Чаще всего причина в неверно указанном URL в настройках тонкого клиента (лишний слэш, другое имя публикации, http вместо https) либо в блокировке порта брандмауэром. Проверьте, что URL из тонкого клиента полностью совпадает с тем, что открывается в браузере.

Как опубликовать базу на Apache под Linux, если платформа 1С на Windows?

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

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

После обновления платформы нужно обновить и модули расширения веб-сервера, а затем перепубликовать базу — в httpd.conf останется ссылка на модуль старой версии, которая могла быть удалена. Проверьте путь к wsap24.dll или mod_1cws.so в конфигурации Apache и при необходимости выполните публикацию заново.

Можно ли ограничить доступ к опубликованной базе по IP-адресам?

Да, средствами Apache: в секции Directory для каталога публикации вместо Require all granted укажите разрешённые адреса или подсети через Require ip. Это полезно, если база должна быть доступна только из офисной сети.