При переходе на работу через веб-сервер (в файловом или клиент-серверном варианте) у системных администраторов и специалистов 1С часто возникают вопросы, связанные с лицензированием. Как правильно распределить программные лицензии? Где их активировать — на сервере или на рабочих станциях пользователей? Каким образом происходит подсчет лицензий в разных сценариях? В этой статье мы подробно и по шагам разберем все технические нюансы работы программных лицензий «1С:Предприятие 8».
Прежде чем переходить к схемам развертывания, необходимо усвоить базовое правило лицензирования 1С: программные лицензии приобретаются для платформы «1С:Предприятие», а не для конкретных конфигураций (таких как «Управление торговлей», «Бухгалтерия предприятия» и др.).
Лицензии из комплектов поставки «1С:Бухгалтерия Проф» и «1С:Управление торговлей Проф» абсолютно равнозначны. С технической точки зрения платформа не различает, из какого коробка был взят пин-код. Это означает, что:
При работе через веб-сервер с использованием тонкого клиента у вас есть два принципиально разных пути активации лицензий. Давайте проанализируем каждую ситуацию.
При таком подходе все имеющиеся у вас однопользовательские (или многопользовательские) лицензии активируются непосредственно на веб-сервере (например, IIS или Apache). Веб-сервер сам занимается их распределением.
Особенности подсчета лицензий:
На сервере лицензии всегда подсчитываются по сеансам (соединениям). Это значит, что каждая запущенная база данных требует отдельную лицензию.
Рассмотрим пример: у вас на сервере активировано 2 однопользовательские лицензии. Если один пользователь запустит одновременно и «Бухгалтерию», и «Управление торговлей», сервер выдаст ему обе лицензии. В этот момент второй пользователь уже не сможет подключиться к серверу, так как свободных лицензий не осталось.
Преимущества активации на сервере:
Недостатки:
В этом сценарии программные лицензии активируются локально на рабочих станциях пользователей, на которых установлен тонкий клиент.
Особенности подсчета лицензий:
При локальной активации лицензия привязывается к конкретному компьютеру. Локальный тонкий клиент осуществляет подсчет по компьютерам (рабочим местам).
Это означает, что на данном ПК пользователь может запустить сколько угодно сеансов и информационных баз 1С (хоть 5 баз БП и 3 базы УТ одновременно), и при этом будет расходоваться всего одна программная лицензия.
Преимущества:
Недостатки:
Многие администраторы сталкиваются с проблемой: лицензии активированы на сервере, но при попытке подключения пользователей веб-сервер выдает ошибку: Лицензия не обнаружена. Давайте разберем причины этой проблемы по шагам.
Веб-сервер (IIS или Apache) работает в операционной системе от имени специальной системной учетной записи. В Windows IIS обычно использует IUSR или DefaultAppPool, а Apache — локальную систему или выделенного пользователя. В Linux Apache/Nginx работает под пользователем www-data или apache.
Если администратор активировал лицензию через Конфигуратор, запустив его от своего имени, файл лицензии с расширением .lic запишется в его личный профиль:
C:\Users\Имя_Администратора\AppData\Local\1C\1Cv8\Conf\
Веб-сервер не имеет доступа к этой папке, поэтому он «не видит» лицензию. Чтобы исправить это, файлы лицензий необходимо перенести в общедоступный каталог, к которому у службы веб-сервера есть права на чтение.
Рекомендуемые пути размещения файлов лицензий:
C:\ProgramData\1C\licenses (или %ALLUSERSPROFILE%\1C\licenses)./var/1C/licenses.Важно: убедитесь, что в свойствах безопасности этой папки пользователю, от имени которого запущен веб-сервер, выданы полные права (или хотя бы права на чтение).
При активации программной лицензии через Конфигуратор на шаге выбора компьютера обязательно выбирайте вариант «На компьютер сервера» или, если активация идет на локальном ПК, выбирайте установку «Для всех пользователей данного компьютера». Это автоматически запишет файл лицензии в общую папку ProgramData, избегая проблем с правами доступа.
Выясним, какими инструментами может воспользоваться администратор для контроля активированных лицензий.
Вы можете перейти в каталог лицензий (например, C:\ProgramData\1C\licenses) и проанализировать файлы с расширением .lic. Каждый такой файл представляет собой текстовый зашифрованный документ. По дате изменения файла и его размеру можно косвенно понять, когда была добавлена лицензия.
Для профессионального администрирования программных лицензий фирма 1С разработала утилиту командной строки RING (входит в состав пакета «1C:Enterprise License Tools»). Для ее работы на сервере должна быть установлена Java (JRE).
Рассмотрим основные команды, которые помогут вам в работе:
Для получения списка всех установленных лицензий на сервере выполните команду:
ring license list
Эта команда вернет список уникальных имен файлов лицензий и их регистрационные номера.
Чтобы получить детальную информацию о конкретной лицензии (включая регистрационные данные организации, которые вводились при активации), используйте следующую конструкцию:
ring license info --name [Имя_Файла_Лицензии]
Обратите внимание: сохранение точных регистрационных данных (вплоть до пробелов и знаков препинания) критически важно. Если при последующей переактивации по резервному пин-коду данные организации будут отличаться хотя бы на один символ, система откажет в активации.
Для проверки корректности привязки лицензии к текущему оборудованию выполните:
ring license validate --name [Имя_Файла_Лицензии]
Если команда возвращает ошибку, значит, параметры компьютера изменились, и лицензия заблокирована.
Программная лицензия 1С привязывается к ключевым параметрам компьютера (материнская плата, процессор, объем ОЗУ, сетевые адаптеры, сетевое имя, версия ОС). Если вы разворачиваете веб-сервер на виртуальной машине (Hyper-V, VMware, VirtualBox, KVM), существует огромный риск «слета» лицензий.
При настройке виртуального сервера обязательно зафиксируйте следующие параметры в гипервизоре:
Подведем итог нашему анализу. Какую схему выбрать именно вам?