Переезд сервера 1С:Предприятие с операционной системы Windows на Linux (в частности, на CentOS) — это ответственный процесс, который часто сопровождается трудностями при активации лицензий. Простая копия файла .lic со старого сервера не сработает. В этой статье мы подробно разберем, почему это происходит, как правильно выполнить активацию на CentOS и на какие системные настройки стоит обратить внимание, чтобы пользователи не «вылетали» из базы.
Проанализируем механизм работы программной защиты 1С. Программная лицензия — это файл, который генерируется на основе уникальных характеристик компьютера. К этим характеристикам относятся не только параметры «железа» (процессор, объем оперативной памяти, сетевая карта), но и параметры операционной системы.
Рассмотрим ключевые причины, по которым старый файл .lic бесполезен:
Ethernet в Windows на eth0 или ens33 в CentOS) меняются, что аннулирует привязку.Следовательно, для работы сервера 1С на CentOS нам необходимо получить лицензию заново, используя новый пин-код из комплекта поставки или резервный пин-код.
Разберем ситуацию, описанную в обсуждении: почему сервер работает некоторое время, а затем выбрасывает пользователей? Выясним причину этого поведения. Технически, сервер 1С:Предприятие позволяет устанавливать до 10 клиентских соединений плюс 2 административных в режиме отсутствия серверной лицензии (в определенных версиях или демонстрационных целях).
Как только 13-й пользователь пытается войти в систему или текущие сессии начинают активно взаимодействовать с сервером, система безопасности блокирует работу. Если вы видите, что при 15 пользователях начинаются произвольные вылеты — это верный признак того, что серверная лицензия не видна платформе, и она работает в ограниченном режиме.
Посмотрим на техническую сторону вопроса. В CentOS часто отсутствует графическая оболочка (GUI), что делает невозможным запуск «Конфигуратора» для стандартной активации. Проанализируем два основных способа решения этой задачи:
В современных версиях платформы для управления лицензиями используется утилита ring. Это мощный инструмент командной строки, который позволяет активировать программные ключи без визуального интерфейса. Для работы потребуется установленный модуль 1c-enterprise-license-manager.
Мы можем временно установить минимальные пакеты x11 на сервер и использовать SSH-клиент (например, PuTTY с включенным X11 или MobaXterm), чтобы запустить тонкий клиент 1С прямо с сервера, но отобразить его окно на своем рабочем компьютере. В этом случае мы сможем пройти через стандартный помощник активации: Сервис -> Получение лицензии.
Выясним, где должны храниться лицензии в Linux. В отличие от Windows, в CentOS права доступа играют критическую роль. Если файл лицензии будет создан под учетной записью root, сервер 1С, запущенный от имени usr1cv8, не сможет его прочитать.
Разберем правильный алгоритм действий:
/var/1C/licenses или в домашней директории пользователя сервера 1С.
chown -R usr1cv8:grp1cv8 /var/1C/licenses
chmod -R 600 /var/1C/licenses/*.lic
Без выполнения этих команд сервер может продолжать считать, что лицензия отсутствует, даже если файл физически лежит на диске.
Проанализируем факторы, которые могут привести к тому, что лицензия «слетит» после перезагрузки. В Linux-системах важно зафиксировать состояние сетевых интерфейсов.
Рекомендуется выполнить следующие действия:
eth0) статичны и не изменятся после обновления ядра..lic.Рассмотрим ситуацию, когда лицензия активирована, но сервер её «не видит». В CentOS по умолчанию включена система безопасности SELinux. Она может блокировать доступ процесса rphost к файлам в директории лицензий.
Для диагностики проблемы попробуем временно перевести SELinux в режим аудита:
setenforce 0
Если после этой команды лицензия подхватилась, значит, необходимо настроить политики безопасности или изменить контекст безопасности для папки с лицензиями. Также не забудем про порты: для корректного взаимодействия с менеджером лицензий должны быть открыты порты 1540, 1541, а также диапазон 1560-1591.
Для успешной работы подсистемы лицензирования в CentOS должны быть установлены специфические зависимости. Проверим наличие следующих пакетов в системе:
fontconfig — для корректной отрисовки шрифтов, которые могут потребоваться при генерации запроса.freetype — библиотека для работы со шрифтами.libgsf — требуется для работы с файлами лицензий и внутренними структурами данных.glib2 — базовая системная библиотека.Если эти библиотеки отсутствуют, процесс активации может завершиться с неинформативной ошибкой или вообще не начаться.
Как показал опыт участников обсуждения, иногда проблема кроется в банальном конфликте имен или дублировании серверов в сети. Если вы мигрируете с Windows на CentOS, обязательно выключите старый экземпляр сервера 1С после активации лицензии на новом месте. В некоторых случаях работа двух серверов с похожими параметрами в одной локальной сети может приводить к конфликтам при проверке лицензий менеджером защиты.
Соблюдение этих шагов позволит вам успешно перенести сервер 1С на CentOS и обеспечить стабильную работу всех пользователей без внезапных разрывов соединений.