Администрирование · 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С для проверки входа через браузер.
Сравните версии: httpd -V и разрядность wsap24.dll / mod_1cws.so
Проверьте наличие каталога с модулем в папке платформы
Учётная запись службы должна читать файлы публикации и лицензии
Установка и проверка Apache
На Windows удобнее всего использовать готовую сборку Apache 2.4. После распаковки зарегистрируйте службу командой httpd.exe -k install и запустите её через httpd.exe -k start или оснастку служб. Проверьте, что сервер отвечает: откройте в браузере http://localhost — должна отобразиться стартовая страница Apache.
На Linux установите пакет через менеджер пакетов (например, apt install apache2 для Debian/Ubuntu). Убедитесь, что служба запущена и автоматически стартует при загрузке системы.
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Откройте базу в конфигураторе под администратором
- 2Выберите Администрирование → Публикация на веб-сервере
- 3Задайте имя публикации латиницей и каталог для default.vrd
- 4Отметьте нужные сервисы: веб-клиент, веб-сервисы, OData
- 5Нажмите «Опубликовать» и согласитесь на перезапуск Apache
- 6Проверьте доступ по адресу http://сервер/имя_публикации
После нажатия кнопки «Опубликовать» конфигуратор запишет файл default.vrd и внесёт изменения в httpd.conf: подключит модуль веб-расширения и добавит описание виртуального каталога. Веб-сервер будет перезапущен автоматически либо потребуется перезапуск вручную.
Публикация через утилиту webinst
Если конфигуратор недоступен или нужно автоматизировать развёртывание, используйте утилиту командной строки webinst из каталога платформы. Она принимает параметры: тип веб-сервера, имя публикации, путь к каталогу, строку подключения к базе.
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-описание сервиса.
Как проверить результат
Страница входа веб-клиента 1С
Ошибка 404, 500 или «Не удаётся загрузить модуль»
Открывается рабочий стол приложения
Ошибка доступа к информационной базе
Нет записей о сбое загрузки модуля
Сообщения о невозможности загрузить wsap24 или mod_1cws
Типичные ошибки и их устранение
Ошибка «Не удаётся загрузить модуль» при старте Apache почти всегда означает несовпадение разрядности Apache и модуля веб-расширения либо отсутствие нужных системных библиотек. Проверьте разрядность обоих компонентов и при необходимости переустановите один из них.
Ошибка 404 при обращении к публикации указывает, что виртуальный каталог не описан в httpd.conf или Apache не был перезапущен после публикации. Откройте конфигурационный файл и убедитесь, что в конце присутствует блок, добавленный конфигуратором.
Ошибка 500 или «Ошибка при выполнении запроса» часто связана с недоступностью сервера 1С или СУБД из-под учётной записи Apache, неправильной строкой подключения в default.vrd или отсутствием лицензии. Проверьте строку подключения и журнал сервера 1С.
Ограничения и альтернативные варианты
Apache — не единственный вариант. На Windows нередко используют IIS: публикация настраивается аналогично через тот же диалог конфигуратора, а модуль веб-расширения ставится как ISAPI-расширение. IIS удобнее интегрируется с доменной аутентификацией Windows, Apache проще переносится между платформами.
Учтите ограничения веб-клиента: не все возможности толстого клиента доступны в браузере, некоторые расширения (например, работа со сканерами и торговым оборудованием) требуют установки локальных компонентов. Для интенсивной работы с большими документами тонкий клиент через веб-сервер обычно отзывчивее веб-клиента.
Сравнение вариантов публикации
Кроссплатформенный, гибкая настройка; требует ручного контроля разрядности и прав
Простая интеграция с доменной аутентификацией; работает только на Windows
Быстрее веб-клиента на слабых каналах; требует установки платформы на компьютер пользователя
Часто задаваемые вопросы
Можно ли опубликовать несколько баз 1С на одном Apache?
Да. Каждая база публикуется под своим именем, и в httpd.conf добавляется отдельный блок для каждой публикации. Все базы будут доступны по адресам вида http://сервер/имя1, http://сервер/имя2 и так далее. Ограничением служат только ресурсы сервера.
Нужна ли отдельная лицензия 1С для веб-сервера?
Отдельной лицензии на веб-сервер не требуется: расходуются обычные клиентские лицензии при подключении пользователей. Важно, чтобы служба Apache имела доступ к файлам программных лицензий или был доступен сервер лицензирования.
Почему через браузер база тормозит сильнее, чем через тонкий клиент?
Веб-клиент выполняет часть логики в браузере и чаще обращается к серверу за отрисовкой интерфейса. На медленных каналах и слабых клиентских машинах тонкий клиент через веб-сервер обычно работает заметно быстрее, так как передаёт меньше служебных данных.
Как опубликовать только веб-сервисы, без веб-клиента?
В диалоге публикации снимите флажок публикации тонкого клиента и веб-клиента, оставив только публикацию веб-сервисов. Сервисы будут доступны по своим URL, а страница входа в приложение открываться не будет.
Что делать, если после обновления платформы публикация перестала работать?
Модуль веб-расширения обновляется вместе с платформой, поэтому после обновления нужно выполнить публикацию заново из конфигуратора новой версии — тогда в httpd.conf будет прописан путь к актуальному модулю. После этого перезапустите Apache.
Что важно запомнить
Публикация 1С на Apache требует совпадения разрядности веб-сервера и модуля веб-расширения, выполняется через конфигуратор или утилиту webinst и завершается перезапуском Apache. Проверяйте доступ по URL, следите за правами службы веб-сервера и не открывайте базу в интернет без HTTPS.