Как использовать программную лицензию 1С в файловом режиме при работе через веб-сервер?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При публикации файловой базы данных «1С:Предприятие» на веб-сервере (например, под управлением Apache2 на ОС Ubuntu) администраторы часто сталкиваются с неприятной проблемой. При попытке пользователей подключиться к базе через веб-браузер система выдает ошибку: «Лицензия не обнаружена». При этом на компьютерах пользователей могут быть установлены и успешно активированы рабочие локальные однопользовательские лицензии.

В этой статье мы подробно разберем по шагам, почему возникает эта ошибка, как устроена архитектура лицензирования 1С при веб-доступе и какие существуют практические варианты решения этой проблемы.

Выясняем причину: почему браузер не видит локальную лицензию?

Для начала давайте проанализируем, как именно платформа 1С ищет файлы лицензий в зависимости от способа подключения к информационной базе:

  1. При использовании Тонкого клиента: Исполняемый код платформы запускается непосредственно на локальном компьютере пользователя. Тонкий клиент самостоятельно обращается к локальным ресурсам компьютера — ищет файлы программных лицензий .lic в системных папках или опрашивает локальные USB-ключи защиты.
  2. При использовании Веб-клиента (через браузер): На компьютере пользователя нет запущенных исполняемых файлов «1С:Предприятия». Вся логика системы и исполняемый код конфигурации выполняются внутри рабочего процесса веб-сервера (в случае Linux и Apache это библиотека расширения веб-сервера wsap24.so). Запрос на поиск и получение лицензии исходит непосредственно от веб-сервера. Браузер из соображений безопасности физически не имеет доступа к локальной файловой системе пользователя и его оборудованию, а значит, передать локальную лицензию на веб-сервер он не может.

Таким образом, мы приходим к важному выводу: при работе через веб-браузер лицензия обязательно должна быть доступна самому веб-серверу.

Давайте рассмотрим два основных архитектурных решения, которые позволяют обойти это ограничение.

---

Решение №1: Переход на использование Тонкого клиента

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

Тонкий клиент умеет подключаться к информационной базе, опубликованной на веб-сервере, по протоколу HTTP/HTTPS, но при этом он осуществляет поиск лицензии на локальном компьютере пользователя.

Преимущества данного подхода:

Для реализации этого сценария достаточно раздать пользователям дистрибутив Тонкого клиента 1С и при добавлении базы в список указать тип подключения «На веб-сервере», прописав адрес публикации (например, http://имя_сервера/имя_базы).

---

Решение №2: Активация лицензий на веб-сервере

Если вам критически важно обеспечить доступ к базе именно через интернет-браузеры (например, для мобильных устройств, сторонних контрагентов или сотрудников на удаленке без возможности установки ПО), вам придется активировать программные лицензии на стороне веб-сервера.

При таком сценарии веб-сервер будет самостоятельно забирать лицензии из своего локального пула и отдавать их веб-клиентам в браузер.

Важная особенность подсчета лицензий веб-сервером:

В отличие от Тонкого клиента, веб-сервер выдает лицензии по сеансовому принципу. Это значит, что если один и тот же сотрудник откроет базу 1С в двух разных вкладках браузера (или в разных браузерах), веб-сервер заберет из пула две лицензии.

Где должны лежать файлы лицензий на Linux Ubuntu?

Платформа 1С, запущенная модулем веб-сервера Apache под ОС Linux, производит поиск файлов лицензий .lic в строго определенных каталогах. Рекомендуется размещать их в общем каталоге для всех пользователей:

/var/1C/licenses/

Критически важная настройка прав доступа в Ubuntu

Очень часто администраторы активируют лицензии под учетной записью администратора (root), из-за чего файлы лицензий создаются с ограниченными правами. При этом веб-сервер Apache в Ubuntu по умолчанию работает под учетной записью www-data.

Если процесс Apache не сможет прочитать файл лицензии из-за отсутствия прав, веб-клиент выдаст ошибку отсутствия лицензии. Чтобы исправить это, выполните в терминале сервера следующие команды для назначения владельца и прав доступа:


sudo chown -R www-data:www-data /var/1C/licenses
sudo chmod -R 755 /var/1C/licenses

После этого перезапустите службу веб-сервера Apache для применения изменений:

sudo systemctl restart apache2 ---

Как активировать лицензию на сервере Ubuntu без графического интерфейса (Headless)?

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

Рассмотрим пример команды для запуска процесса получения лицензии в терминале:


/opt/1cv8/x86_64/current/1cv8 BINARY -GetLicense -RegNum=XXXXXXXXXX -PinCode=XXXX-XXXX-XXXX-XXXX -Name="Имя Организации" -Path=/var/1C/licenses

В данном примере укажите ваш регистрационный номер (-RegNum), пин-код активации (-PinCode), точное наименование организации владельца лицензии и путь для сохранения файла лицензии.

---

Что делать, если у вас многопользовательская лицензия, активированная на сервере «пачкой»?

В процессе обсуждения часто возникает вопрос разделения лицензий. Если у вас приобретена многопользовательская лицензия (например, на 10 или 20 рабочих мест), у вас есть выбор при ее первой активации:

  1. Активировать ее как единую многопользовательскую лицензию на сервере (тогда раздавать лицензии будет сам сервер).
  2. Активировать ее как набор отдельных однопользовательских лицензий на конкретных клиентских компьютерах (используя отдельные пин-коды из комплекта).

Если вы ошиблись при первоначальной активации и теперь вам требуется изменить структуру распределения лицензий, вам не обязательно покупать новый комплект. Вы можете официально обратиться в Центр лицензирования 1С по электронной почте lic@1c.ru.

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

← На главную