Администрирование · 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, и зарегистрируйте службу командой от имени администратора:
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Откройте конфигуратор и перейдите в «Администрирование → Публикация на веб-сервере»
- 2Укажите имя публикации латиницей без пробелов — оно станет частью URL
- 3Выберите веб-сервер Apache 2.4 и каталог публикации (например, C:\Apache24\htdocs\mybase)
- 4Отметьте нужные флажки: публиковать тонкий и веб-клиент, при необходимости — HTTP-сервисы и Web-сервисы
- 5Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера
- 6Проверьте доступ по адресу http://сервер/имя_публикации
В результате в указанном каталоге создаётся файл default.vrd — описание публикации, а в конфигурацию Apache добавляется фрагмент с директивой ManagedApplicationDescriptor, указывающей на этот файл.
Публикация через утилиту webinst
Если конфигуратор недоступен (например, на сервере без графической оболочки), используйте утилиту webinst из каталога bin платформы:
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 от имени учётной записи, у которой уже есть доступ к каталогу базы.
Проверка работы публикации
Откройте в браузере адрес http://имя_сервера/имя_публикации с самого сервера и с другого компьютера в сети. Должна появиться страница входа веб-клиента 1С с формой авторизации. Если база пустая и пользователи не заведены, войдите под администратором.
Для тонкого клиента строка подключения выглядит как ws=http://сервер/имя_публикации — её можно добавить в список баз на клиентских машинах. Проверяйте работу не только входа, но и записи документа: ошибки прав доступа часто проявляются именно при записи.
Как проверить результат
Форма входа веб-клиента 1С
Ошибка 404, 403 или страница 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С или находится файловая база. Отдельный веб-сервер имеет смысл при большом числе пользователей веб-клиента или когда публикация выставляется в интернет — для изоляции от основной базы.