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

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

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

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

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

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

Ниже разобран порядок действий для связки Apache 2.4 и платформы 1С:Предприятие 8.3 — самой распространённой комбинации. Инструкция применима как к файловым, так и к клиент-серверным базам.

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

Перед публикацией убедитесь, что все компоненты установлены и совместимы. Потребуется дистрибутив платформы 1С:Предприятие с компонентой «Модули расширения веб-сервера» — при установке платформы этот пункт нужно отметить явно, по умолчанию он может быть не выбран.

Веб-сервер Apache должен быть версии 2.4 (поддерживается также 2.2 в старых релизах платформы). Критично, чтобы разрядность Apache совпадала с разрядностью модуля веб-расширения 1С: 32-битный Apache работает только с 32-битным модулем, 64-битный — только с 64-битным. Несовпадение — самая частая причина ошибки загрузки модуля.

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

Разрядность Apache и модуля 1СДолжна совпадать

Сравните версии: httpd -V и разрядность wsap24.dll / mod_1cws.so

Компонента веб-расширенияДолжна быть установлена

Проверьте наличие каталога с модулем в папке платформы

Права службы ApacheЧтение каталогов платформы и базы

Учётная запись службы должна читать файлы публикации и лицензии

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

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

На Linux установите пакет через менеджер пакетов (например, apt install apache2 для Debian/Ubuntu). Убедитесь, что служба запущена и автоматически стартует при загрузке системы.

bash
httpd.exe -k install
httpd.exe -k start
httpd.exe -v

Порт 80 должен быть свободен. Если его занимает другая служба (например, IIS или Skype на старых системах), либо освободите порт, либо измените директиву Listen в файле httpd.conf на другой порт, например 8080 — тогда адрес публикации будет включать порт: http://сервер:8080/имя_базы.

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

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

В диалоге укажите имя публикации (латиницей, без пробелов — оно станет частью URL), тип веб-сервера Apache 2.4 и каталог, куда будет записан файл публикации default.vrd. Отметьте нужные флажки: публикация тонкого и веб-клиента, веб-сервисов, HTTP-сервисов, стандартного интерфейса OData — в зависимости от задач.

Порядок публикации через конфигуратор
  1. 1
    Откройте базу в конфигураторе под администратором
  2. 2
    Выберите Администрирование → Публикация на веб-сервере
  3. 3
    Задайте имя публикации латиницей и каталог для default.vrd
  4. 4
    Отметьте нужные сервисы: веб-клиент, веб-сервисы, OData
  5. 5
    Нажмите «Опубликовать» и согласитесь на перезапуск Apache
  6. 6
    Проверьте доступ по адресу http://сервер/имя_публикации

После нажатия кнопки «Опубликовать» конфигуратор запишет файл default.vrd и внесёт изменения в httpd.conf: подключит модуль веб-расширения и добавит описание виртуального каталога. Веб-сервер будет перезапущен автоматически либо потребуется перезапуск вручную.

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

Если конфигуратор недоступен или нужно автоматизировать развёртывание, используйте утилиту командной строки webinst из каталога платформы. Она принимает параметры: тип веб-сервера, имя публикации, путь к каталогу, строку подключения к базе.

bash
webinst -publish -apache24 -wsname MyBase -dir "C:\Apache24\htdocs\MyBase" -connstr "Srvr=server;Ref=MyBase;" -confpath "C:\Apache24\conf\httpd.conf"

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

Служба Apache работает под отдельной учётной записью, и она должна иметь доступ к нескольким каталогам: папке с файлом default.vrd, каталогу установки платформы (для загрузки модуля), каталогу с файловой базой (если используется файловый вариант) и файлам программных лицензий.

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

После любых изменений в httpd.conf или default.vrd перезапускайте Apache: httpd.exe -k restart на Windows или systemctl restart apache2 на Linux. Без перезапуска изменения не применяются.

Проверка результата

Откройте в браузере адрес http://имя_сервера/имя_публикации. При корректной настройке появится страница входа веб-клиента 1С с полями для имени пользователя и пароля. Войдите под тестовой учётной записью и убедитесь, что открывается начальная страница прикладного решения.

Дополнительно проверьте работу тонкого клиента: в диалоге добавления информационной базы выберите вариант «На веб-сервере» и укажите тот же URL. Если публиковались веб-сервисы, проверьте их доступность по адресу вида http://сервер/имя/ws/ИмяСервиса?wsdl — должно вернуться XML-описание сервиса.

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

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

Открытие URL в браузере
Норма

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

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

Ошибка 404, 500 или «Не удаётся загрузить модуль»

Вход под пользователем
Норма

Открывается рабочий стол приложения

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

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

Лог Apache (error.log)
Норма

Нет записей о сбое загрузки модуля

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

Сообщения о невозможности загрузить wsap24 или mod_1cws

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

Ошибка «Не удаётся загрузить модуль» при старте Apache почти всегда означает несовпадение разрядности Apache и модуля веб-расширения либо отсутствие нужных системных библиотек. Проверьте разрядность обоих компонентов и при необходимости переустановите один из них.

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

Ошибка 500 или «Ошибка при выполнении запроса» часто связана с недоступностью сервера 1С или СУБД из-под учётной записи Apache, неправильной строкой подключения в default.vrd или отсутствием лицензии. Проверьте строку подключения и журнал сервера 1С.

Типичные ошибки
01
Публикация под 64-битным Apache с 32-битным модулем 1С — веб-сервер не стартует
02
Забытый перезапуск Apache после изменения default.vrd — изменения не применяются
03
Публикация в каталог, куда у службы Apache нет прав — ошибка 500 или отказ в доступе
04
Использование кириллицы или пробелов в имени публикации — нестабильная работа URL
05
Одновременная публикация на IIS и Apache на одном порту — конфликт и недоступность обоих сервисов

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

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

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

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

Apache 2.4

Кроссплатформенный, гибкая настройка; требует ручного контроля разрядности и прав

IIS (Windows)

Простая интеграция с доменной аутентификацией; работает только на Windows

Тонкий клиент через веб-сервер

Быстрее веб-клиента на слабых каналах; требует установки платформы на компьютер пользователя

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

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

Да. Каждая база публикуется под своим именем, и в httpd.conf добавляется отдельный блок для каждой публикации. Все базы будут доступны по адресам вида http://сервер/имя1, http://сервер/имя2 и так далее. Ограничением служат только ресурсы сервера.

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

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

Почему через браузер база тормозит сильнее, чем через тонкий клиент?

Веб-клиент выполняет часть логики в браузере и чаще обращается к серверу за отрисовкой интерфейса. На медленных каналах и слабых клиентских машинах тонкий клиент через веб-сервер обычно работает заметно быстрее, так как передаёт меньше служебных данных.

Как опубликовать только веб-сервисы, без веб-клиента?

В диалоге публикации снимите флажок публикации тонкого клиента и веб-клиента, оставив только публикацию веб-сервисов. Сервисы будут доступны по своим URL, а страница входа в приложение открываться не будет.

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

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

Итог

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

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