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

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

Как опубликовать базу 1С на Linux

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

Публикация базы 1С на Linux-сервере позволяет открыть доступ к информационной базе через браузер или тонкий клиент по протоколу HTTP(S), без установки платформы на каждом рабочем месте. Чаще всего для этого используется связка «веб-сервер Apache + модуль расширения веб-сервера 1С (wsap)», а сама база при этом может лежать как в файловом варианте, так и на сервере СУБД (PostgreSQL, MS SQL) или на кластере серверов 1С.

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

Инструкция ориентирована на распространённые дистрибутивы (Debian/Ubuntu, CentOS/Red Hat-подобные системы). Названия пакетов и пути могут отличаться в зависимости от дистрибутива, но общая логика одинакова.

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

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

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

Проверьте, что на сервере достаточно места под платформу и базу, а брандмауэр пропускает трафик на порт 80 (или 443 для HTTPS). Для доступа извне по HTTPS дополнительно потребуется TLS-сертификат.

Установка платформы 1С и веб-сервера Apache

Дистрибутив платформы для Linux распространяется в виде deb- или rpm-пакетов. Для Debian/Ubuntu установка выполняется командой dpkg, для rpm-систем — через rpm или yum/dnf. Если GUI не нужен, достаточно серверных компонентов и компонента «Модули расширения веб-сервера».

bash
sudo dpkg -i 1c-enterprise-<em>-server_</em>.deb 1c-enterprise-<em>-ws_</em>.deb
sudo apt install apache2
sudo a2enmod env alias

После установки убедитесь, что каталог платформы появился в /opt/1cv8 (типовой путь) и в нём есть подкаталоги с версией платформы. Модуль расширения веб-сервера обычно находится по пути вида /opt/1cv8/x86_64/<версия>/wsap24.so.

Apache должен запускаться и отвечать на запросы до подключения модуля 1С. Проверьте это командой systemctl status apache2 (или httpd в rpm-системах) и открытием стартовой страницы веб-сервера в браузере.

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

Модуль wsap24.so подключается директивой LoadModule в конфигурации Apache. В Debian-подобных системах удобно создать отдельный файл в /etc/apache2/mods-available и активировать его, в rpm-системах — добавить строку в conf.d.

bash
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.22.1750/wsap24.so"

Обратите внимание: путь содержит конкретную версию платформы. После обновления платформы путь придётся скорректировать, иначе Apache не запустится. Проверить корректность конфигурации можно командой apachectl configtest — она должна вернуть «Syntax OK» до перезапуска службы.

Дополнительно рекомендуется увеличить лимиты Apache под нагрузку 1С: размер стека потоков и ограничения на размер запросов. Платформа 1С чувствительна к недостатку памяти на поток, поэтому при массовой работе пользователей настройки по умолчанию могут оказаться недостаточными.

Создание каталога публикации и файла default.vrd

Публикация базы описывается файлом default.vrd — это XML-файл, в котором указаны имя публикации, тип подключения и параметры базы. Каталог публикации создаётся вручную, например /var/www/1c/base1, и в него помещается default.vrd.

Для файловой базы минимальное содержимое файла выглядит так: элемент point с атрибутом name (имя публикации в URL) и элемент ws, а внутри — строка подключения вида File="путь_к_каталогу_базы". Для клиент-серверной базы вместо File указываются Srvr и Ref (сервер и имя базы в кластере) либо параметры подключения к СУБД.

xml
<?xml version="1.0" encoding="UTF-8"?>
<point name="base1" xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ws pointEnableCommon="false"/>
  <debug enable="false"/>
</point>

Строку подключения удобнее задавать прямо в конфигурации Apache директивой ManagedApplicationDescriptor, указывающей на default.vrd, а параметры базы — через директиву SetEnv или внутри самого vrd-файла. Альтернатива — использовать утилиту webinst из состава платформы: она автоматически создаёт каталог, файл default.vrd и фрагмент конфигурации Apache.

Публикация через webinst
  1. 1
    Запустите webinst с ключом -publish и укажите имя публикации, каталог и строку подключения к базе
  2. 2
    Проверьте, что в каталоге появился default.vrd, а в конфигурации Apache — секция с Alias и ManagedApplicationDescriptor
  3. 3
    Перезапустите Apache командой systemctl restart apache2
  4. 4
    Откройте в браузере http://сервер/имя_публикации и убедитесь, что загружается окно входа в базу

Права доступа и безопасность

Пользователь, от имени которого работает Apache (обычно www-data или apache), должен иметь чтение и запись в каталог файловой базы и чтение каталога публикации. Недостаток прав — самая частая причина ошибок «Ошибка доступа к файлу» и пустой страницы вместо базы.

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

Также не размещайте каталог файловой базы внутри корня веб-сервера, доступного для прямой выгрузки файлов: иначе файл 1Cv8.1CD теоретически может быть скачан напрямую при ошибке конфигурации. Каталог базы должен лежать вне DocumentRoot.

Проверка результата и типичные ошибки

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

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

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

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

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

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

Ошибка 404 — неверный Alias или каталог публикации; ошибка 500 — проблема с модулем или правами

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

Нет записей о невозможности загрузить wsap24.so

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

Сообщения об ошибке загрузки модуля — несовпадение разрядности или неверный путь

Права на каталог базы
Норма

Пользователь веб-сервера может читать и писать в каталог

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

Ошибки доступа к файлу базы при входе пользователя

Типичные ошибки
01
Неверный путь к wsap24.so после обновления платформы — Apache не стартует, публикация недоступна
02
База опубликована, но пользователь веб-сервера не имеет прав на каталог файловой базы — ошибка доступа при входе
03
Отсутствует директива ManagedApplicationDescriptor или указывает на несуществующий default.vrd — ошибка 500
04
Публикация по HTTP наружу без сертификата и ограничений доступа — риск утечки данных
05
Попытка опубликовать базу версией платформы, отличной от версии базы — ошибка несовместимости при открытии

Альтернативные способы публикации

Помимо Apache, базу можно публиковать через IIS (только на Windows), а для Linux-окружений иногда применяют связку с reverse proxy на Nginx перед Apache: Nginx принимает HTTPS-соединения и проксирует их на Apache с модулем 1С. Это удобно, когда нужно терминировать TLS и балансировать нагрузку.

Маршрут решения

Как выбрать действие

Нужна простая публикация в локальной сетиИспользуйте Apache + wsap24.so и утилиту webinst — этого достаточно
Требуется доступ из интернетаДобавьте HTTPS с сертификатом и ограничьте доступ, рассмотрите Nginx как reverse proxy перед Apache
Много одновременных пользователей и файловая базаПереведите базу в клиент-серверный вариант — файловый режим через веб-сервер плохо масштабируется
Нет возможности ставить Apache на сервер с базойВынесите веб-сервер на отдельную машину и укажите в строке подключения сетевой путь к серверу 1С или СУБД

Для небольших команд в локальной сети достаточно базовой схемы Apache + модуль расширения. Чем больше пользователей и чем выше требования к доступности, тем сильнее оправдан переход на клиент-серверную архитектуру и разнесение компонентов по разным машинам.

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

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

На Linux официально поддерживается публикация через Apache с модулем расширения wsap. Nginx напрямую модуль 1С не загружает, но его можно использовать как reverse proxy перед Apache. Полностью без веб-сервера публикация по HTTP невозможна — альтернативой служит только доступ через сервер 1С по собственному протоколу.

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

Путь к модулю wsap24.so содержит номер версии платформы. После обновления старый каталог может быть удалён, и Apache не сможет загрузить модуль. Обновите директиву LoadModule на актуальный путь, проверьте конфигурацию командой apachectl configtest и перезапустите веб-сервер.

Как понять, что проблема в правах, а не в конфигурации?

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

Сколько пользователей выдержит файловая база, опубликованная через веб-сервер?

Файловый режим предназначен для небольшого числа одновременно работающих пользователей и чувствителен к блокировкам. Точный предел зависит от интенсивности работы и оборудования. При росте нагрузки и появлении ошибок блокировок рекомендуется переход на клиент-серверный вариант с СУБД.

Нужно ли публиковать базу заново после изменения конфигурации 1С?

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

Как ограничить доступ к опубликованной базе?

Используйте несколько уровней: аутентификацию пользователей в самой 1С, средства Apache (ограничение по IP, базовая аутентификация), HTTPS для шифрования трафика и сетевые ограничения (VPN, брандмауэр). Комбинация этих мер существенно снижает риск несанкционированного доступа.

Итог

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

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