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

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

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

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

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

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

Инструкция ориентирована на Apache 2.4 под Windows и Linux с платформой 1С:Предприятие 8.3. Точные пути к файлам зависят от версии платформы и разрядности, поэтому сверяйте их со своей установкой.

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

Перед публикацией убедитесь, что у вас есть все компоненты. Несовпадение разрядности Apache и модуля 1С — самая частая причина, по которой сервер не стартует вообще.

  • Установленная платформа 1С:Предприятие 8.3 с компонентой «Модули расширения веб-сервера» (при установке платформы этот компонент нужно выбрать явно).
  • Apache HTTP Server версии 2.4 той же разрядности, что и модуль расширения 1С (обычно 64-бит).
  • Права администратора на сервере.
  • Имя информационной базы и строка подключения к ней (файловый или клиент-серверный вариант).

Установка Apache и проверка разрядности

Скачайте Apache 2.4 для Windows (например, сборку Apache Lounge) или установите пакет apache2 через пакетный менеджер в Linux. В Windows распакуйте дистрибутив, например в C:\Apache24, и зарегистрируйте службу командой от имени администратора:

bash
C:\Apache24\bin\httpd.exe -k install

После установки запустите службу и откройте в браузере http://localhost. Если видна стартовая страница Apache — сервер работает, можно подключать модуль 1С. Если служба не стартует, смотрите лог error.log в каталоге logs: чаще всего это занятый порт 80 (например, IIS или Skype) или отсутствующие библиотеки Visual C++ Redistributable.

Подключение модуля расширения веб-сервера 1С

Модуль расширения находится в каталоге установленной платформы, например C:\Program Files\1cv8\8.3.22.1750\bin\wsap24.dll (для Linux — libwsap24.so). Имя файла для Apache 2.4 — именно wsap24; модуль для Apache 2.2 несовместим с 2.4.

Подключать модуль вручную в httpd.conf обычно не нужно: публикация через конфигуратор сама создаёт фрагмент конфигурации. Но важно понимать, что должно получиться в итоге:

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

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

Основной способ публикации — из конфигуратора 1С. Откройте конфигуратор под пользователем с правами администратора базы и выполните пункт меню «Администрирование → Публикация на веб-сервере».

Порядок публикации
  1. 1
    Откройте конфигуратор и перейдите в «Администрирование → Публикация на веб-сервере»
  2. 2
    Укажите имя публикации латиницей без пробелов — оно станет частью URL
  3. 3
    Выберите веб-сервер Apache 2.4 и каталог публикации (например, C:\Apache24\htdocs\mybase)
  4. 4
    Отметьте нужные флажки: публиковать тонкий и веб-клиент, при необходимости — HTTP-сервисы и Web-сервисы
  5. 5
    Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера
  6. 6
    Проверьте доступ по адресу http://сервер/имя_публикации

В результате в указанном каталоге создаётся файл default.vrd — описание публикации, а в конфигурацию Apache добавляется фрагмент с директивой ManagedApplicationDescriptor, указывающей на этот файл.

Публикация через утилиту webinst

Если конфигуратор недоступен (например, на сервере без графической оболочки), используйте утилиту webinst из каталога bin платформы:

bash
webinst -publish -apache24 -wsdir mybase -dir "C:\Apache24\htdocs\mybase" -connstr "File=\"D:\Bases\Trade\";" -confPath "C:\Apache24\conf\httpd.conf"

Параметр -connstr задаёт строку подключения к базе: для файловой — путь к каталогу, для клиент-серверной — сервер и имя базы (Srvr="server";Ref="trade";).

Настройка прав доступа

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

В Linux убедитесь, что пользователь apache (или www-data) имеет доступ к каталогу публикации, а SELinux, если он включён, не блокирует работу модуля. В Windows проще всего запускать службу Apache от имени учётной записи, у которой уже есть доступ к каталогу базы.

Типичные ошибки
01
Несовпадение разрядности Apache и wsap24.dll — служба не стартует, в error.log ошибка загрузки модуля
02
Отсутствие прав на каталог файловой базы — ошибка доступа при входе или записи
03
Кириллица или пробелы в имени публикации и путях — непредсказуемые ошибки URL
04
Публикация в каталог вне DocumentRoot без настройки прав в httpd.conf — ошибка 403 Forbidden
05
Закрытый порт 80/443 в брандмауэре — с других компьютеров страница не открывается

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

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

Для тонкого клиента строка подключения выглядит как ws=http://сервер/имя_публикации — её можно добавить в список баз на клиентских машинах. Проверяйте работу не только входа, но и записи документа: ошибки прав доступа часто проявляются именно при записи.

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

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

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

Форма входа веб-клиента 1С

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

Ошибка 404, 403 или страница Apache по умолчанию

Файл default.vrd в каталоге публикации
Норма

Файл существует, внутри корректная строка подключения

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

Файл отсутствует или путь к базе неверный

Служба Apache после публикации
Норма

Служба перезапущена и работает

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

Служба остановлена, ошибка в error.log

Запись документа через веб-клиент
Норма

Документ сохраняется без ошибок

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

Ошибка доступа к базе при записи

Защита публикации и доступ из интернета

Если публикация нужна только внутри локальной сети, достаточно встроенной аутентификации 1С. Для доступа из интернета обязательно настройте HTTPS: получите сертификат (например, через Let's Encrypt) и включите SSL в Apache, иначе пароли пользователей передаются открытым текстом.

Дополнительные меры: ограничение доступа по IP в конфигурации Apache, отдельные пользователи 1С с минимально необходимыми правами, отключение публикации отладки и HTTP-сервисов, которые не используются. Не публикуйте базу наружу «на время теста» без защиты — такие публикации регулярно находят сканеры.

Итог

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

Публикация 1С на Apache сводится к установке Apache 2.4 нужной разрядности, публикации базы через конфигуратор с созданием default.vrd и выдаче прав службе веб-сервера. Проверяйте работу по error.log и форме входа, а для доступа из интернета обязательно настраивайте HTTPS.

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

Какая версия Apache нужна для 1С?

Платформа 8.3 поддерживает Apache 2.2 и 2.4, но актуальные конфигурации рассчитаны на Apache 2.4 — модуль wsap24.dll. Разрядность Apache должна совпадать с разрядностью модуля расширения веб-сервера из вашей установки платформы.

Служба Apache не запускается после публикации — что делать?

Откройте файл error.log в каталоге logs Apache. Чаще всего там ошибка загрузки wsap24.dll из-за несовпадения разрядности или неверного пути к модулю. Проверьте путь в строке LoadModule и разрядность обоих компонентов.

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

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

Чем публикация на Apache отличается от публикации на IIS?

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

Ошибка 403 Forbidden при открытии публикации — в чём причина?

У службы Apache нет прав на каталог публикации или в конфигурации Apache не разрешён доступ к этому каталогу (директива Require all granted в секции Directory). Проверьте права файловой системы и фрагмент конфигурации, созданный при публикации.

Нужен ли отдельный сервер для веб-публикации 1С?

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