Установка платформы 1C:Предприятие для разработчиков на платформе Linux

  • Автор:

1cv83-developer-kit-linux-install-000.pngОтносительно недавно фирма 1С выпустила новый тип лицензии - бесплатную комьюнити-лицензию, которая предназначена специально для разработки и тестирования. Это стало огромным шагом вперед, так как позволило многим разработчикам, энтузиастам и просто интересующимся легально попробовать платформу 1C:Предприятие в клиент-серверном варианте. Операционные системы семейства Linux также вызывают все больший интерес и могут стать неплохой альтернативой в качестве рабочего места разработчика 1С. Данное руководство пошагово расскажет как установить и настроить платформу для разработчиков в Linux.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Коротко про Linux для 1С-ников

Итак, вы решили попробовать что-то новое и этим стал Linux. Поэтому прежде чем продолжить разберем несколько моментов. Что такое Linux? Мы сейчас не будем вдаваться в дебри и просто скажем, что это семейство операционных систем на базе одноименного ядра. Ядро Linux - программное обеспечение с открытым кодом, разрабатывается сообществом и распространяется бесплатно.

Законченная сборка операционной системы на базе ядра Linux называется дистрибутивом, дистрибутивов существует великое множество, но среди них можно выделить дистрибутивы первого эшелона (основные) и производные от них. К основным относятся прежде всего Debian и Red Hat Enterprise Linux (RHEL) и, в прошлом, его бесплатный клон CentOS. Производные дистрибутивы берут за основу один из основных, наиболее известный и популярный дистрибутив Ubuntu является производным от Debian, также существуют многочисленные производные от RHEL/CentOS.

Все производные дистрибутивы имеют общие с родительским механизмы работы и управления, поэтому если вы владеете одним из них, то вам не составит труда работать с любым другим дистрибутивом этого семейства. Несмотря на то, что сегодня Linux достаточно сильно стандартизирован все равно существуют значительные отличия между семействами, в частности они касаются формата пакетов программного обеспечения и системы управления ими. Наиболее распространены и приняты за коммерческий стандарт форматы DEB - для базирующихся на Debian систем и RPM - для RHEL совместимых дистрибутивов и не только.

Поэтому мы советуем для начала остановиться на каком-либо одном семействе и добиться его уверенного освоения, это проще и эффективнее, чем пытаться изучать сразу несколько систем одновременно. В нашем случае будут рассматриваться DEB-системы, в частности мы будем производить установку на Ubuntu 22.04 LTS.

Также, начав изучать Linux следует твердо запомнить - основным инструментом управления и администрирования системы является консоль. Графические инструменты могут быть, а могут и не быть, как может не быть и самой графической оболочки вообще. Это не хорошо и не плохо, это особенность данного семейства операционных систем к которой следует привыкнуть.

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

1cv83-developer-kit-linux-install-001.pngВыбор, как видим, не особо велик и не содержит последних версий многих дистрибутивов. Однако мы советуем придерживаться данного списка, потому что в противном случае стабильная работа платформы не гарантируется. Да, большинство проблем можно исправить, но для этого нужен соответствующий опыт и знания. Как мы уже говорили все дальнейшие действия будут производиться в среде Ubuntu 22.04 LTS.

Где получить платформу для разработчиков?

Для получения набора для разработчика вам нужно зарегистрироваться на портале 1С для разработчиков, после чего вам будет доступна комьюнити-лицензия и дистрибутивы для установки платформы 1С:Предприятие и СУБД PostgreSQL. Если быть честными, то вы можете взять любую платформу версии 8.3.23 и старше, а также любую совместимую с 1С версию СУБД, но мы исходим из того, что у пользователя пока ничего этого нет и поэтому будем ориентироваться на легальные пути получения дистрибутивов.

После регистрации переходим в раздел скачивания и скачиваем:

  • Технологическая платформа 1С:Предприятия 8 (64-bit) для Linux

1cv83-developer-kit-linux-install-002.png

Технологическая платформа представлена в трех версиях, где представлены последние выпуски трех актуальных платформ. Если вы не знаете какая именно вам нужна - берите последнюю.

При этом мы ничего не сказали про PostgreSQL и не скажем, потому что сборка PostgreSQL для Linux от 1С - это яркий образец низкой культуры разработки под эту ОС и приверженность порочным практикам работы, кстати это касается и платформы, но там хотя бы не проявляется явно. Проще говоря, нельзя физически собрать пакет который будет одинаково хорошо работать в Debian 10, 11 и 12, поэтому не будем трепать себе нервы и воспользуемся альтернативным источником получения этого продукта.

Установка платформы 1C:Предприятие

Скачиваем и распаковываем архив с платформой и запускаем находящийся там бинарный файл InstallAsRoot, который запустит установку с правами суперпользователя root (самый главный администратор в Linux). Перед этим потребуется подтвердить повышение прав.

1cv83-developer-kit-linux-install-003.pngПосле чего запустится инсталлятор, визуально похожий на свой Windows-аналог, в нем следует выбрать следующие компоненты:

  • 1С:Предприятие (выбрано по умолчанию)
  • Зависимости
  • Установить ярлыки
  • Сервер 1С:Предприятия 8
  • Модули расширения веб-сервера
  • Администрирование сервера 1С:Предприятие

1cv83-developer-kit-linux-install-004.pngНемного поясним по новым пунктам. Зависимости - этим словом в Linux называются пакеты которые нужны для работы программы и которые могут быть получены из репозиториев (хранилище пакетов) дистрибутива. Для 1С это шрифты и некоторые системные библиотеки. Они могут быть установлены в системе, а могут и не быть. При выборе данного пункта программа установки проверит их наличие и самостоятельно попытается скачать и установить. Что касается пункта Установить ярлыки - то здесь проще, как мы уже говорили, графическая оболочка в Linux не является обязательной и если мы устанавливаем, скажем, только сервер, то и ярлыки нам ни к чему.

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

1cv83-developer-kit-linux-install-005.png

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

sudo -s

В Debian sudo по умолчанию не используется и вам потребуется выполнить:

su -

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

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

systemctl link /opt/1cv8/x86_64/8.3.25.1336/srv1cv8-8.3.25.1336\@.service
systemctl enable srv1cv8-8.3.25.1336@

Теперь запустим сервер:

systemctl start srv1cv8-8.3.25.1336@default 

И проверим его состояние:

systemctl status srv1cv8-8.3.25.1336@default

Если все сделано правильно, то состояние будет active (running):

1cv83-developer-kit-linux-install-006.pngНа этом установка платформы для разработчиков закончена.

Установка сервера СУБД PostgreSQL

Для работы с платформой 1С:Предприятие требуется версия PostgreSQL со специальными патчами. Однако устанавливать официальную сборку от 1С мы не будем, все равно нормально ее установить не получится. В качестве альтернативы мы будем использовать бесплатную сборку от Postgres Professional, для этого посетите сайт PostgreSQL + 1c и ответьте на несколько простых вопросов, выбрав версии СУБД и операционной системы, после чего инструкции будут отправлены вам на почту.

Для тех, кому лень все это делать могут следовать нашим дальнейшим указаниям, в данном случае будет установлена PostgreSQL 15. Прежде всего скачаем и запустим официальный скрипт, который добавит в систему источники пакетов для установки:

wget https://repo.postgrespro.ru/1c/1c-15/keys/pgpro-repo-add.sh
sh pgpro-repo-add.sh

После чего установим сам сервер СУБД:

apt install postgrespro-1c-15

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

systemctl status postgrespro-1c-15

Если все хорошо, то вы увидите active (running):

1cv83-developer-kit-linux-install-007.pngСледующим шагом установим пароль для суперпользователя СУБД - postgres. Просто выполните в указанной последовательности указанные ниже команды, заменив MyPa$$word на свой пароль:

su postgres

psql
ALTER USER postgres WITH PASSWORD 'MyPa$$word';
\q

exit

В сборке от Postgres Professional разрешены все виды внешних и внутренних подключений по паролю и необходимости их редактировать нет. На этом установка сервера СУБД закончена.

Получение комьюнити-лицензии и создание информационной базы

Оснастки MMC в Linux нет (и странно, если бы была), поэтому для создания информационной базы воспользуемся штатными средствами платформы. Добавим новую пустую базу для разработки. Для этого указываем имя кластера серверов, имя базы в кластере, тип сервера СУБД и его адрес, имя базы данных СУБД, имя и пароль суперпользователя СУБД, а также ставим флаг для создания БД в случае ее отсутствия.

1cv83-developer-kit-linux-install-008.png

Важно! В качестве имени следует использовать только имя ПК, плоское (ubnt-1c-dev) или полное (ubnt-1c-dev.example.com). Использование IP-адресов не допускается!

Теперь можно запустить базу и попробовать получить лицензию. Но не все так просто, система прав в Linux реализована по другому и поэтому получить лицензию мы сможем только для себя, сервер 1С:Предприятие, который работает под собственным пользователем такую лицензию не увидит. Поэтому отказываемся от ее получения.

1cv83-developer-kit-linux-install-009.pngДля получения лицензии нужно запустить платформу от имени суперпользователя, но там тоже не все так просто. Список баз будет пустой и может так получиться, что подключение клиент-серверной базы будет недоступно. Поэтому мы пойдем другим путем и просто скопируем суперпользователю список баз текущего пользователя. Возвращаемся в терминал, который работает у нас с правами суперпользователя и выполняем:

cp -r /home/andrey/.1C /root

Где home/andrey - путь к вашей домашней директории, также обязательно соблюдаем регистр, в Linux это важно. Если вы не знаете путь к своей домашней папке, то запустите еще один экземпляр терминала и никуда не переходя введите команду:

pwd

1cv83-developer-kit-linux-install-010.pngТеперь запустим из терминала с правами суперпользователя (root) платформу и спокойно получим лицензию:

/opt/1cv8/x86_64/8.3.25.1336/1cv8

И снова обратим ваше внимание - путь содержит номер платформы, измените при необходимости.

1cv83-developer-kit-linux-install-011.pngТеперь изменим права на файл лицензии, чтобы пользоваться им мог не только суперпользователь, но и другие пользователи данного компьютера.

chmod -R g+w,o+w /var/1C/licenses

Теперь можно запускать платформу и заниматься любимым делом - разработкой и тестированием.

1cv83-developer-kit-linux-install-012.pngВ заключение отметим, что несмотря на то, что мы использовали в примере Ubuntu, данная статья подойдет для пользователей любых совместимых дистрибутивов, единственное отличие будет в командах установки PostgreSQL, но вы их получите в письме с инструкциями с сайта PostgreSQL + 1c. В остальном все остается без изменений. Надеемся, что наш материал поможет сделать вам первые шаги в работе с 1С:Предприятие на платформе Linux.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments