Знакомая история: лицензию продлили, боевой портал работает, а через неделю разработчик пишет, что тестовый контур встал и просит код активации. Вводить туда нечего — код уже потрачен на прод. Разбираемся, как устроена эта механика и что делать.
Что происходит при просрочке
С 14 марта 2022 года лицензия коробочного Битрикс24 действует 12 месяцев, продление стоит 30% от стоимости ключа. Дальше по срокам:
- предупреждения на портале появляются за 60, 30 и 15 дней до окончания;
- после даты окончания даётся льготный период 15 дней — он не продлевает лицензию, а даёт время на оплату;
- если код активации не введён, портал блокируется полностью: при попытке войти в публичную или административную часть идёт переадресация на страницу активации.
Важная деталь про даты: новый срок отсчитывается не от момента активации, а от даты начала, указанной в коде. Обычно это дата окончания предыдущего периода, так что оплаченные дни не сгорают.
Страница активации
Код активации вводится по адресу /bitrix/coupon_activation.php на самом портале. Он приходит вместе с лицензионным ключом; если письма нет, его выдают в sales@1c-bitrix.ru. Через ту же страницу применяется код расширения лимита пользователей.
Механика внутри простая и важная для понимания: код активации самодостаточен. Система разбирает его локально и применяет из него дату окончания и лимиты — обращение к серверу обновлений для этого не требуется. Поэтому активация работает и в закрытом контуре, куда интернет не проброшен.
Второй путь — обновление через страницу /bitrix/admin/update_system.php. Там портал сам спрашивает сервер обновлений и забирает актуальные даты лицензии. Этот путь требует доступа в интернет, зато не нужен код: достаточно, чтобы продление уже было оформлено на стороне вендора.
Почему копии для разработки встают отдельно
Каждая установка хранит дату окончания лицензии у себя. Боевой портал узнаёт о продлении, когда кто-то заходит на страницу обновлений или когда портал сам обращается к серверу. На копию для разработки заходят раз в неделю, обновления там не ставят — и о продлении она не узнаёт.
В итоге прод работает, а копия через пятнадцать дней показывает требование активации. Попытка ввести в форму старый код обычно заканчивается сообщением «Необходимо авторизоваться на сайте» — потому что авторизация на заблокированном портале невозможна.
Ручное решение простое: после каждого продления зайти на /bitrix/admin/update_system.php на каждой копии. Проблема в том, что про это забывают, и вспоминают уже когда копия встала.
Если копия уже заблокирована и в админку не попасть, помогает служебный скрипт, который поднимает ядро в обход переадресации и сам запрашивает у сервера обновлений актуальные данные лицензии. Готовый вариант с разбором выложил Максим Лавриненко из Maximaster: актуализация лицензии на хостах разработки. Логика там такая: подменяются REQUEST_URI и соседние переменные на адрес страницы активации (для неё переадресация не срабатывает), подключается пролог, затем вызывается обновление лицензии через систему активации ядра и чистится кеш настроек.
Проверьте адрес сервера обновлений
Отдельная причина, по которой активация не проходит на старых установках, — устаревший адрес сервера обновлений. Раньше продукты ходили за обновлениями и лицензиями на bitrixsoft.com, сейчас актуальный адрес — www.1c-bitrix.ru. В ядре он прописан как значение по умолчанию, но на порталах, которые ставились давно и с тех пор переносились с сервера на сервер, в настройках может остаться старое значение. Тогда и обновления, и активация будут падать с ошибкой связи, хотя интернет на сервере есть.
Проверяется в настройках главного модуля, вкладка «Обновления», поле «Сервер обновлений». Должно быть www.1c-bitrix.ru. Там же рядом живут настройки прокси, если портал выходит наружу через него — в закрытых контурах чаще всего дело именно в них.
То же самое проверяется и из консоли:
// значение текущей настройки
COption::GetOptionString("main", "update_site");
// вернуть актуальный адрес
COption::SetOptionString("main", "update_site", "www.1c-bitrix.ru");
Галка «Установка для разработки»
В настройках главного модуля, на вкладке «Обновления», есть флажок «Установка для разработки» (опция update_devsrv). Тот же вопрос задаёт мастер установки с пояснением: «Установка предназначена для разработки и не будет использоваться в качестве реального (боевого) сайта».
Что он включает на самом деле — видно по коду ядра:
- каждый ответ сервера получает заголовок
X-DevSrv-CMS: Bitrix; - в административной части снизу появляется плашка «Установка для разработки не предназначена для использования в качестве рабочего сайта»;
- такое же сообщение выводится на странице обновлений;
- при обращении к серверу обновлений в запрос добавляется параметр
KDSс этим значением, а в запросы к сервисам Битрикса —BX_DEVSRV.
То есть галка — это отметка для вендора и для вас самих, а не технический рычаг. Чего она не делает: не отключает проверку лицензии, не снимает блокировку при просрочке и не даёт дополнительных прав. Ставить её на копии всё равно стоит: установка честно помечена, а вы не перепутаете боевой портал с тестовым, когда откроете две одинаковые вкладки.
Сколько копий можно держать на одном ключе
Формулировка вендора прямая: с одним и тем же лицензионным ключом продукт можно установить не более двух раз, причём публичный доступ к одной из копий должен быть ограничен, и она используется только для разработки и тестирования. Отдельно оговорено, что копия для разработки ставится временно и удаляется после окончания работ, а внешнего доступа к ней быть не должно — ни из интернета, ни извне локальной сети.
При активации ключа указывается список адресов, включая тестовые, по которым будет работать эта копия продукта. Туда и стоит сразу вписать адрес дев-контура: это тот случай, когда пять минут при активации экономят переписку с поддержкой потом.
Если появляется ошибка о превышении допустимого количества установок — это к технической поддержке «1С-Битрикс», сами вы её не снимете.
Как не наступать на это каждый год
- Ведите список контуров. Боевой, тестовый, стенд разработчика, демо для клиента — все, где развёрнута коробка с этим ключом.
- Сразу после продления пройдите по списку и откройте на каждом
/bitrix/admin/update_system.php. Это минута на контур. - Поставьте галку «Установка для разработки» на всех копиях, кроме боевой.
- Сохраните код активации там же, где лежит лицензионный ключ. Он понадобится для закрытых контуров без интернета.
- Заведите напоминание за 30 дней до окончания лицензии. Предупреждения портала видит администратор, а оплачивает другой человек, и между ними обычно теряется месяц.
- Проверьте адрес сервера обновлений на старых установках — он должен быть актуальным.
Если портал уже заблокирован
Порядок действий от простого к сложному:
- Убедиться, что продление оформлено на стороне вендора, и открыть страницу обновлений — чаще всего этого достаточно.
- Если есть код активации — ввести его на
/bitrix/coupon_activation.php. - Если переадресация не даёт дойти до формы и авторизоваться не получается — воспользоваться служебным скриптом, который обращается к серверу обновлений в обход интерфейса.
- Если контур закрытый — получить код активации у поставщика лицензии и применить его на странице активации: интернет для этого не нужен.
И отдельно: пока портал заблокирован, данные никуда не деваются. Блокируется вход, а не база, поэтому паниковать и восстанавливать портал из копии не нужно.
Статья была полезна?
Частые вопросы
Через сколько дней после окончания лицензии блокируется коробочный Битрикс24?
Предупреждения появляются за 60, 30 и 15 дней до окончания. После даты окончания действует льготный период 15 дней — портал работает, но лицензия уже истекла. Если код активации не введён, по истечении этих 15 дней вход блокируется: при попытке авторизоваться открывается страница активации.
Почему копия для разработки просит код активации, хотя лицензию продлили?
Каждая установка хранит дату окончания у себя и узнаёт о продлении, только когда обращается к серверу обновлений. Боевой портал это делает регулярно, копия — нет. Лечится заходом на /bitrix/admin/update_system.php на самой копии; если она уже заблокирована и в админку не попасть, используют служебный скрипт, который обращается к серверу обновлений напрямую.
Что даёт галка «Установка для разработки» в настройках главного модуля?
Она помечает установку как неподходящую для боевой работы: добавляет заголовок X-DevSrv-CMS в ответы сервера, показывает плашку в административной части и передаёт признак на сервер обновлений. Проверку лицензии она не отключает и от блокировки при просрочке не спасает.
Сколько установок разрешено на одном лицензионном ключе?
Не более двух. Вторая копия ставится временно для разработки, тестирования или наполнения, публичный доступ к ней должен быть ограничен, и после окончания работ её положено удалить. Адреса, включая тестовые, указываются при активации ключа. При ошибке о превышении количества установок нужно обращаться в техподдержку «1С-Битрикс».
Какой сейчас адрес сервера обновлений Битрикса?
www.1c-bitrix.ru — он же прописан в ядре как значение по умолчанию. Старый адрес bitrixsoft.com больше не используется, но на давно установленных порталах иногда остаётся в настройках главного модуля. С ним не работают ни обновления, ни активация лицензии: ошибка выглядит как проблема со связью, хотя интернет на сервере есть.