При организации учебного класса или небольшого офиса часто возникает техническая дилемма: как легально и эффективно использовать пакет из 20 программных лицензий 1С, если база данных является файловой и расположена на сервере под управлением Linux, а клиентские машины работают на Windows. Чтобы выстроить защищенную IT-инфраструктуру малого предприятия, необходимо учитывать, что программные лицензии, в отличие от старых аппаратных ключей HASP, не имеют сетевого менеджера лицензий (License Manager), который мог бы просто «транслировать» лицензии в сеть для файловых баз.
В рамках данной статьи мы проанализируем ситуацию, разберем причины ограничений и рассмотрим по шагам несколько рабочих сценариев решения задачи, от простых до наиболее технологичных.
Для начала выясним причину, по которой стандартная активация многопользовательской лицензии на сервере не всегда работает для файловых баз. Проанализируем два важных правила платформы 1С:Предприятие 8.3:
1cv8.exe будет искать лицензию на локальном компьютере пользователя, а не на сервере./home/1c/base не даст результата.Рассмотрим доступные варианты решения этой проблемы.
Это самый прямолинейный способ. Если у вас в комплекте поставки есть набор из 20 (или более) отдельных пин-кодов, мы можем активировать по одной лицензии на каждом учебном компьютере. В этом случае клиентское приложение будет находить локальную лицензию и без проблем подключаться к файловой базе на Linux-сервере через сетевую шару (Samba).
Важные нюансы этого метода:
Проанализируем наиболее изящный способ, который позволяет централизованно хранить лицензии на сервере, даже если база файловая. Мы можем опубликовать базу через веб-сервер.
Разберем алгоритм настройки:
Apache.default.vrd необходимо убедиться, что включен параметр раздачи лицензий сервером.В этом случае веб-сервер выступает в роли посредника. Когда студент запускает «Тонкий клиент» и подключается к базе по адресу http://server-name/base, веб-сервер сам обращается к локальному хранилищу лицензий на Linux, «откусывает» одну лицензию из пула и отдает её клиенту. Это позволяет избежать необходимости активировать лицензии на каждом ПК индивидуально.
Пример части файла default.vrd, отвечающей за это:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/base"
ib="File="/home/1c/data";">
<standardOdata enable="false"/>
<httpServices publishByDefault="true"/>
<pool size="10" enable="true" />
<!-- Параметр ниже позволяет серверу выдавать лицензии -->
<extInfo enable="true" />
</point>
Если в вашей инфраструктуре есть Windows Server с настроенными службами терминалов, мы можем рассмотреть вариант работы через RDP. В этом случае мы устанавливаем 1С на терминальный сервер и там же активируем многопользовательскую лицензию на 20 мест.
Студенты подключаются к терминальному серверу, запускают там 1С, и программа успешно получает лицензии, так как она видит их «локально» на этом сервере. Однако, как указано в исходной задаче, Windows-сервер не должен использоваться в учебном процессе, поэтому данный вариант может быть отклонен по организационным причинам.
Рассмотрим ситуацию, если вы все же решите использовать имеющуюся серверную лицензию. Если установить PostgreSQL на Linux-сервер и перевести базу из файлового режима в клиент-серверный, проблема с лицензиями решится автоматически. Чтобы упростить этот процесс, можно использовать сценарий Python для автоматизации установки PostgreSQL и сервера 1С в Astra Linux.
Посмотрим на схему работы:
1С:Предприятия на Linux.Теперь любой тонкий клиент при подключении будет запрашивать лицензию у сервера 1С, и сервер будет выделять её из общего пула. Это самый надежный способ, но он требует обслуживания баз данных 1C на Postgresql под Linux и определенных навыков администрирования СУБД.
Часто возникает вопрос: а как именно была активирована лицензия ранее? Проанализировать текущую ситуацию поможет Жёлтый ринг — расшифровщик файлов программных лицензий. В стандартном комплекте на 20 рабочих мест идет два типа пин-кодов:
Выясним способ проверки: если вы не знаете историю активаций, необходимо направить запрос в Центр лицензирования lic@1c.ru. В письме укажите регистрационный номер программного продукта и данные организации. Помните, что одновременное использование обоих типов активации (и как многопользовательской, и как однопользовательской) запрещено правилами лицензирования.
Проанализируем технические риски при размещении файловой базы на Linux через Samba (сетевую папку). Файловая база 1С (файл .1CD) крайне чувствительна к качеству сетевого соединения. При работе 20 пользователей одновременно высок риск повреждения индексов, поэтому важно вовремя устанавливать и снимать блокировки у БД на сервере для проведения профилактических работ.
Рекомендации для стабильной работы:
Таким образом, мы выяснили, что наиболее оптимальным и бюджетным решением задачи для учебного класса будет публикация файловой базы на веб-сервере Apache, установленном на вашем Linux-сервере. Это позволит централизованно использовать многопользовательскую лицензию на 20 мест без покупки дополнительных серверных лицензий 1С.