Документация LMS версия 2026.08.2

Документация/Начало/Лицензионный ключ и обновления

Лицензионный ключ и обновления

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

Что такое ключ #

Лицензионный ключ прописывается в окружении установки (LICENSE_KEY). В нём подписаны три вещи:

  • домен школы;
  • срок поддержки — до какой даты установка получает обновления;
  • набор модулей — сейчас один на всех, докупаемых модулей нет.

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

Установка сверяется с сервером лицензий при старте и раз в сутки фоновой задачей. Тем же каналом мы получаем список установок с версиями — без него невозможно выкатывать обновления на N школ.

Смена домена #

Ключ выписан на домен. При смене домена нужен новый ключ — замена в пределах срока поддержки.

Пока ключ не заменён, действует та же отсрочка, что и при недоступности сервера: установка работает, предупреждение висит в админке.

Недоступность сервера лицензий #

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

Что происходит Поведение
Проверка не прошла Установка продолжает работать, в админке появляется предупреждение
Проверки не проходят до 14 дней То же: работа не ограничивается
Проверки не проходят дольше 14 дней Админка переходит в режим чтения
В любом из случаев Ученики не затрагиваются: учатся и платят

Отсрочка — 14 дней. Ограниченный режим снимается сразу, как только проверка пройдёт.

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

Копия без ключа #

Копия установки без ключа работает. Она остаётся на той версии, на которой её скопировали: без исправлений, без новых возможностей и без изменений под законодательство — а требования к фискализации и к персональным данным меняются ежегодно.

Отдельно и честно: код на вашем сервере — это код у вас. Он читаемый, не обфусцированный, и проверку лицензии из него технически можно вырезать. Мы это знаем. Защиты от целенаправленного вмешательства здесь нет: любая такая защита разбирается тем, кто держит машину в руках, и при этом ломается у честных установок на ровном месте.

Что следует из этого практически для вас: правки в коде вы делать можете, но каждая правка — ваша забота при обновлении. Изменённый файл при обновлении либо перезапишется, либо потребует ручного слияния, и знать об этом лучше до того, как правка сделана.

Как приходят обновления #

Установка ходит за обновлениями к нам, предъявляя ключ.

Обновление — ваше событие, а не наше. Оно не приходит само и не ставится само: его надо поставить, проверить и при необходимости откатить. Порядок — на странице Установка.

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

Состояние на сегодня #

Проверка лицензии выключена целиком — ни подписи, ни домена, ни срока. Сервера лицензий пока не существует, а механизм, который ещё не запущен, не должен мешать работе.

Включается одним флагом развёртывания (LICENSE_ENFORCE), когда сервер появится. До этого момента предупреждений о лицензии в админке быть не может ни при каких данных.

Доступ к вашей установке #

Отдельной учётной записи для нас в установке нет — ни постоянной, ни сервисной.

Установка создаёт одного владельца и выдаёт временный пароль тому, кто ставил. При первом входе владелец обязан его сменить — это шаг, который нельзя пропустить. Пока пароль не сменён, в админке висит напоминание, что доступ известен третьей стороне. Смена пароля пишется в журнал: ею передача установки и считается завершённой.

Практическое следствие для порядка работ: первый вход делает тот, кто останется владельцем школы, а не подрядчик, который ставит. См. предупреждение на странице Установка.

Эта страница в Markdown