Обработка, скрипт и методология, позволяющие установить и продлевать автоматически комьюнити-лицензию 1С для разработчиков на сервер 1С без графического интерфейса.
Как показал опыт предыдущих публикаций, именно на Хабре находится большинство DevOps от 1С, по крайней мере самые дельные комментарии я получил здесь.
Возможно им пригодится в работе эта статья.
— Берите ломы и копайте траншею. — Тщ командир, может мы возьмем лопаты, быстрее получится? — А мне не надо быстрее, мне надо, чтобы вы задолбались. воспоминания флотской юности ©
Вот и в 1С, когда придумывали лицензии для разработчиков, сделали максимально неудобной их установку на сервер, для того, чтобы каждый встречный-поперечный не становился разработчиком.
Внимание! Лицензия для разработчиков предназначена исключительно для разработки и отладки приложений «1С:Предприятия». Использовать ее для решения реальных управленческих и учетных задач нельзя.
Конечно же лицензия разработчика 1С, это огромная бочка меда, без всякого сарказма.
Поэтому, почему бы у нее не быть ложечке дегтя... трех как минимум
Не каждый
может смотреть в завтраразработчик имеет на своей рабочей станции сервер 1С, и прав администратора, чтобы его установить у него зачастую нет. При нынешних решениях виртуализации и облачных технологиях, админы развернут его (сервер 1С) в 5 минут, но дальше помогать не будут, значит надо ухитряться устанавливать лицензию туда самостоятельно.Полученную комьюнити‑лицензию на сервере 1С надо продлевать раз в неделю
Для всего этого нужен доступ в интернет с сервера 1С, чему не будет рада служба безопасности, да он там и не нужен, чтобы базы разработки ни в каком разе не стучались к сервисам рабочего контура.
Это ломает стройную картину DevOps, если это для вас не пустой звук. Да и разработчики, те кто привык сначала делать, а потом читать инструкцию, в обязательном порядке попробовали поискать заветный флажок «Установка на сервер» при активации комьюнити‑лицензии.


Что делать? Устанавливать GUI. Обычно это слышно от тех же людей, которые в соседнем видео говорили, что GUI на сервере, это нонсенс. Причем это официальные спикеры 1С. Кто не верит, ищем поиском по сайту. Есть ли выход из этого замкнутого круга? Кому интересно читает дальше.
Тем кто не любит много букв
Обработка, которая с помощью стандартных методов языка программирования 1С получит комьюнити-лицензию на сервер. Скрипт, который автоматизирует этот процесс.
Кто не любит читать вообще, может посмотреть видео.
RUTUBE
Остальные, добро пожаловать.
Исходные данные
Развернутый из официального образа вида «сервер минимальный» linux, какой не принципиально, главное, чтобы он поддерживался 1С. Проверено на РедОС всех релизов и Ubuntu 22.xx/24.xx
Установленная на нем полная технологическая платформа 1С, сервер и клиенты.
Доступ к серверу по ssh с рабочей станции.
Требуется
Вжух... Установить на сервер 1С лицензию разработчика.

Решение
Внимание! Версия платформы, порты, пути к файлам и каталогам у вас могут отличаться. Уровень доступа — root
-
Создаем на сервере пустую базу 1С
/opt/1cv8/x86_64/8.3.25.1560/ibcmd infobase create --db-path=»/data/1c/EmptyIB» -
Получаем к ней доступ с помощью автономного сервера 1С (входит в стандартную поставку платформы 1С, устанавливается вместе с сервером 1С)
/opt/1cv8/x86_64/8.3.25.1560/ibsrv --db-path=»/data/1c/EmptyIB» --name=EmptyIB --direct-regport=9541 --direct-range=9560:9591 --http-base=EmptyIB --http-address=any --http-port=8888
3. Открываем базу с рабочей станции, запускаем обработку, вводим логин и пароль от аккаунта разработчика, получаем лицензию. Как на рабочую станцию, так и на сервер.

Несколько слов об обработке.Если вы хотите поддержать автора, то можете ее скачать в готовом виде, гугл в помощь, если нет, любой разработчик 1С напишет максимум за час.Код открыт, вы можете его изменять под свои требования.В типовом виде она принимает логин и пароль из командной строки запуска.Если они заданы и выполнены условия для получения (есть доступ в интернет и права записи в каталог хранения лицензий), то через 3 минуты по таймеру, получает лицензию на клиентаВ любом случае завершает приложение
Для отмены есть переключатель «Не закрывать автоматически»
Для установки на сервер есть переключатель «Установка на сервер»
Поле ввода «Дата запроса лицензии» и флажок «Устанавливать дату запроса лицензии», это не то о чем вы подумали. Сервер выдачи лицензии 1С все равно выдаст вам лицензию на 7 дней от текущей даты. Дата запроса лицензии это имя файла лицензии — 20250714123112.lic Если вы хотите его экзотическое вида 39990101000000.lic устанавливаете это поле
Плюс обработка может получить лицензию с интернационального сервера лицензирования 1С — 1c-dn.com
4. Останавливаем автономный сервер 1С
pkill --signal 2 ibsrv
Все. На этом разработчики 1С могут уходить, а DevOps я попрошу остаться.
Вам же наверняка показалось, что все это можно полностью автоматизировать?
Под катом скрипт который это делает
#!/bin/bash
log_file='/var/log/get_develorer_license_log.txt'
echo "Get develorer license: $(date +%Y_%m_%d_%H_%M_%S)" > ${log_file}
if [[ ! -d /data/1c/EmptyIB ]]; then
/opt/1cv8/x86_64/8.3.25.1560/ibcmd infobase create --db-path="/data/1c/EmptyIB" &>>${log_file}
printf "\nDisableUnsafeActionProtection=.*EmptyIB.*\n" >> /opt/1cv8/conf/conf.cfg
fi
chmod -R +777 /var/1C/licenses/
Xvfb :99 -screen 0 1920x1080x24& &>>${log_file}
/opt/1cv8/x86_64/8.3.25.1560/ibsrv --db-path="/data/1c/EmptyIB" --name=EmptyIB --direct-regport=9541 --direct-range=9560:9591 --http-base=EmptyIB --http-address=any --http-port=8888& &>>${log_file}
sleep 15
need_delete=0
if [[ ! -f /opt/1cv8/conf/inetcfg.xml ]]; then
cp --force -v /data/1c/scripts/inetcfg.xml /opt/1cv8/conf/inetcfg.xml &>>${log_file}
need_delete=1
fi
#DISPLAY=:99.0 /opt/1cv8/x86_64/8.3.25.1560/1cv8c ENTERPRISE /IBConnectionString "ws=""http://localhost:8888/EmptyIB"";" /Execute "/data/1c/scripts/get_develorer_license.epf" /C "login===password" /UseHwLicenses- >>${log_file}
DISPLAY=:99.0 /opt/1cv8/x86_64/8.3.25.1560/1cv8c ENTERPRISE /S your_server_name:9541/EmptyIB /Execute "/data/1c/scripts/get_develorer_license.epf" /C "login===password" /UseHwLicenses- >>${log_file}
#DISPLAY=:99.0 /opt/1cv8/x86_64/8.3.25.1560/1cv8c ENTERPRISE /IBConnectionString "ws=Srvr=""your_server_name:9541"";Ref=""EmptyIB"";" /Execute "/data/1c/scripts/get_develorer_license.epf" /C "login===password" /UseHwLicenses- >>${log_file}
chmod -R +777 /var/1C/licenses/
pkill --signal 2 ibsrv &>>${log_file}
pkill --signal 2 Xvfb &>>${log_file}
chmod -R +777 /var/1C/licenses/
if (( need_delete==1 )); then
rm --force -v /opt/1cv8/conf/inetcfg.xml &>>${log_file}
fi
создает пустую базу 1С
отключает для нее защиту от опасных действий, чтобы обработка открылась без вопросов
если нужно задает параметры доступа 1С в интернет на сервере
запускает виртуальный X-сервер для Linux, который позволяет выполнять графические операции в памяти без какого-либо вывода на физический дисплей
запускает тонкого клиента 1С на сервере 1С с подключение к созданной файловой базе, запуском обработки и передачей в нее логина и пароля разработчика из скрипта
обработка в автоматическом режиме получает лицензию и закрывает приложение
останавливается автономный сервер 1С
останавливается виртуальный X-сервер
если нужно возвращаются параметры доступа 1С в интернет на сервере
устанавливаются права на каталог лицензий если необходимо
Предварительно надо установить пакет Xvfb
apt install xvfb -y или dnf install xorg-x11-server-Xvfb -y
скрипт запускается раз в 7 дней
для последующего продления лицензии логин и пароль передавать не надо
Использованная литература:
ИТС Приложение 7. Параметры командной строки запуска «1С:Предприятия»
ИТС 4.9. Автономный сервер (ibsrv)
Благодарности:
Хотелось бы заполнить этот раздел.Если есть хостинговая компания, имеющая возможность поддержать публикации и заодно проверить свои сервера на предмет размещения 1С Предприятие, дайте знать, мы договоримся.
Желающие знают, где меня искать, время за пределами рабочего.

Статья продолжает серию публикаций:
Бесплатный вебинар «В облаке, как дома: Как настроить рабочее место пользователя 1С на базе РЕД ОС»
Сервер 1С: Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана обратите внимание на дату публикации
Серия «Рецепты от Капитана» на всякий случай
itmind
А где ссылка на обработку?
capitannemo Автор
Поиском в гугле 2 ссылка