Как настроить раздачу лицензий сервером 1С на Ubuntu для успешной работы веб-клиентов

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

При развертывании связки из операционной системы Ubuntu, сервера 1С:Предприятия и СУБД PostgreSQL администраторы часто сталкиваются со специфическим поведением системы лицензирования. Типичная ситуация: тонкий клиент успешно запускается и подключается к базе данных, в то время как при попытке войти через веб-клиент в браузере возникает критическая ошибка отсутствия лицензии. Давайте подробно проанализируем, почему так происходит, как функционирует механизм раздачи лицензий и какие шаги необходимо предпринять, чтобы веб-клиенты могли беспрепятственно работать с базой с любого устройства.

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

Для начала разберем принципиальное различие в механизмах поиска лицензий тонким и веб-клиентами. Когда мы запускаем тонкий клиент на локальной рабочей станции, он выполняет поиск лицензий по многоступенчатому алгоритму. В первую очередь он ищет локальный ключ защиты (программную лицензию в виде файлов .lic или аппаратный USB-ключ HASP), установленный непосредственно на данном компьютере. Если локальная лицензия найдена, тонкий клиент успешно запускается, используя ее ресурс, даже если сервер 1С настроен без раздачи лицензий.

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

Для успешного запуска веб-клиента лицензию ему должен предоставить именно сервер 1С:Предприятия (в клиент-серверном варианте) или модуль расширения веб-сервера (в файловом варианте). Если на сервере 1С установлена только лицензия на сам сервер (например, Сервер МИНИ), но отсутствуют клиентские лицензии, либо в настройках информационной базы запрещена их раздача, веб-клиент выдаст ошибку отсутствия свободной лицензии.

Разбираем по шагам решение проблемы в клиент-серверном варианте

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

Шаг 1. Перенос клиентских лицензий на сервер

Если ранее клиентские лицензии (пин-коды) были активированы на рабочих станциях пользователей, их необходимо деактивировать там и активировать непосредственно на сервере 1С. Поскольку на серверах под Linux зачастую отсутствует графический интерфейс, мы можем использовать два альтернативных пути: активацию через Конфигуратор с удаленной машины или консольную утилиту ring.

Вариант А. Активация через Конфигуратор с клиентского компьютера

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

  1. Откроем Конфигуратор любой локальной или серверной базы.
  2. В главном меню перейдем в раздел Сервис — Получение лицензии.
  3. В открывшемся диалоговом окне введем регистрационный номер комплекта и пин-код клиентской лицензии.
  4. На этапе выбора компьютера для привязки лицензии нажмем кнопку Дополнительно.
  5. В появившихся полях укажем сетевое имя или IP-адрес нашего сервера 1С на Ubuntu, а также порт управляющего процесса (по умолчанию 1540).
  6. Завершим процедуру активации. Файл лицензии с расширением .lic будет автоматически сгенерирован и сохранен непосредственно в сетевую папку лицензий на сервере Linux.

Вариант Б. Активация на сервере Linux без GUI через утилиту ring

Если мы предпочитаем работать исключительно через консоль Linux, воспользуемся утилитой ring, которая входит в состав современной платформы 1С. Обратите внимание, что для ее работы на сервере должна быть установлена среда выполнения Java (JRE). Процесс активации выглядит следующим образом:

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


ring license prepare-request --pin-code <ПИН-КОД> --reg-number <РЕГ_НОМЕР> --out /tmp/request.xml

После генерации файла запроса мы отправляем его в Центр лицензирования 1С и получаем файл ответа. Помещаем полученный файл лицензии в системное хранилище с помощью команды:

ring license put --file /tmp/license.lic

Проверить список успешно установленных и зарегистрированных лицензий на сервере можно командой:

ring license list

Шаг 2. Включение раздачи лицензий в настройках базы данных

После того как файлы лицензий физически оказались на сервере, нам необходимо разрешить рабочим процессам сервера 1С (процессу rphost) выдавать эти лицензии клиентам. Сделать это можно через утилиту администрирования кластера серверов 1С или с помощью консольной утилиты rac.

При использовании утилиты администрирования серверов на Windows-машине:

  1. Подключимся к нашему серверу Ubuntu.
  2. Откроем ветку Информационные базы и найдем нужную базу.
  3. Откроем свойства этой базы.
  4. Убедимся, что параметр Разрешить выдачу лицензий сервером 1С:Предприятия установлен в значение Да. Если там указано "Нет", изменим это значение и сохраним настройки.

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


rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --infobase-user="Администратор" --infobase-pwd="пароль" --license-distribution=allow

Критически важные нюансы настройки Linux-сервера

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

Настройка прав доступа к файлам лицензий

В Linux права доступа играют ключевую роль. Если файлы лицензий *.lic были созданы под учетной записью администратора (root) или перенесены некорректно, рабочий процесс сервера 1С, запущенный от имени системного пользователя usr1cv8, просто не сможет их прочитать.

Проверим права на директорию, в которой хранятся лицензии. Обычно в Linux это пути:

/var/1C/licenses или /home/usr1cv8/.1cv8/1C/1cv8/licenses/

Для исправления прав доступа выполним в терминале Ubuntu следующие команды под учетной записью суперпользователя:


sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod -R 755 /var/1C/licenses

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

Особенности веб-публикации файловых баз

Стоит упомянуть ситуацию, когда база опубликована на веб-сервере Apache, но является файловой (без использования сервера 1С:Предприятия). В этом случае раздачей лицензий занимается не кластер 1С, а сам модуль веб-сервера. Для успешной работы веб-клиентов файлы лицензий должны быть скопированы в общую директорию /var/1C/licenses, а права на чтение этой директории должны быть предоставлены пользователю, от имени которого работает Apache (обычно это www-data в Ubuntu).

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

Специфика расхода лицензий сервером

Переводя систему на раздачу лицензий сервером, важно учитывать экономический аспект лицензирования. Проанализируем, как изменяется логика списания лицензий:

Учитывайте эту особенность при планировании количества приобретаемых клиентских лицензий, особенно если у вас много сотрудников работают через веб-интерфейс.

Влияние IPv6 на лицензирование в Linux

Иногда сервер 1С на Ubuntu не может корректно связаться с менеджером лицензий или веб-сервером из-за некорректной обработки сетевых адресов протокола IPv6. Это может приводить к ложным ошибкам отсутствия свободных лицензий. Для повышения стабильности работы рекомендуется принудительно отключить IPv6 в операционной системе Ubuntu. Для этого добавим следующие строки в конфигурационный файл /etc/sysctl.conf:


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

После редактирования файла применим изменения командой:

sudo sysctl -p

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

← На главную