Относительно недавно фирма 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, данный список постоянно изменяется, поэтому ниже его скриншот.
Выбор, как видим, не особо велик и не содержит последних версий многих дистрибутивов. Однако мы советуем придерживаться данного списка, потому что в противном случае стабильная работа платформы не гарантируется. Да, большинство проблем можно исправить, но для этого нужен соответствующий опыт и знания. Как мы уже говорили все дальнейшие действия будут производиться в среде Ubuntu 22.04 LTS.
Где получить платформу для разработчиков?
Для получения набора для разработчика вам нужно зарегистрироваться на портале 1С для разработчиков, после чего вам будет доступна комьюнити-лицензия и дистрибутивы для установки платформы 1С:Предприятие и СУБД PostgreSQL. Если быть честными, то вы можете взять любую платформу версии 8.3.23 и старше, а также любую совместимую с 1С версию СУБД, но мы исходим из того, что у пользователя пока ничего этого нет и поэтому будем ориентироваться на легальные пути получения дистрибутивов.
После регистрации переходим в раздел скачивания и скачиваем:
- Технологическая платформа 1С:Предприятия 8 (64-bit) для Linux
Технологическая платформа представлена в трех версиях, где представлены последние выпуски трех актуальных платформ. Если вы не знаете какая именно вам нужна - берите последнюю.
При этом мы ничего не сказали про PostgreSQL и не скажем, потому что сборка PostgreSQL для Linux от 1С - это яркий образец низкой культуры разработки под эту ОС и приверженность порочным практикам работы, кстати это касается и платформы, но там хотя бы не проявляется явно. Проще говоря, нельзя физически собрать пакет который будет одинаково хорошо работать в Debian 10, 11 и 12, поэтому не будем трепать себе нервы и воспользуемся альтернативным источником получения этого продукта.
Установка платформы 1C:Предприятие
Скачиваем и распаковываем архив с платформой и запускаем находящийся там бинарный файл InstallAsRoot, который запустит установку с правами суперпользователя root (самый главный администратор в Linux). Перед этим потребуется подтвердить повышение прав.
После чего запустится инсталлятор, визуально похожий на свой Windows-аналог, в нем следует выбрать следующие компоненты:
- 1С:Предприятие (выбрано по умолчанию)
- Зависимости
- Установить ярлыки
- Сервер 1С:Предприятия 8
- Модули расширения веб-сервера
- Администрирование сервера 1С:Предприятие
Немного поясним по новым пунктам. Зависимости - этим словом в Linux называются пакеты которые нужны для работы программы и которые могут быть получены из репозиториев (хранилище пакетов) дистрибутива. Для 1С это шрифты и некоторые системные библиотеки. Они могут быть установлены в системе, а могут и не быть. При выборе данного пункта программа установки проверит их наличие и самостоятельно попытается скачать и установить. Что касается пункта Установить ярлыки - то здесь проще, как мы уже говорили, графическая оболочка в Linux не является обязательной и если мы устанавливаем, скажем, только сервер, то и ярлыки нам ни к чему.
На завершающем этапе установки программа может надолго задуматься, это нормально, обязательно дождитесь завершения и ни в коем случае не завершайте работу программы установки принудительно. Кстати, именно в этот момент качаются и устанавливаются зависимости.
На этом первый этап установки платформы закончен, переходим ко второму, на котором нам потребуется терминал. Запускаем одноименную программу и сразу повышаем себе права до суперпользователя, в 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):
На этом установка платформы для разработчиков закончена.
Установка сервера СУБД 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):
Следующим шагом установим пароль для суперпользователя СУБД - postgres. Просто выполните в указанной последовательности указанные ниже команды, заменив MyPa$$word на свой пароль:
su postgres
psql
ALTER USER postgres WITH PASSWORD 'MyPa$$word';
\q
exit
В сборке от Postgres Professional разрешены все виды внешних и внутренних подключений по паролю и необходимости их редактировать нет. На этом установка сервера СУБД закончена.
Получение комьюнити-лицензии и создание информационной базы
Оснастки MMC в Linux нет (и странно, если бы была), поэтому для создания информационной базы воспользуемся штатными средствами платформы. Добавим новую пустую базу для разработки. Для этого указываем имя кластера серверов, имя базы в кластере, тип сервера СУБД и его адрес, имя базы данных СУБД, имя и пароль суперпользователя СУБД, а также ставим флаг для создания БД в случае ее отсутствия.
Важно! В качестве имени следует использовать только имя ПК, плоское (ubnt-1c-dev) или полное (ubnt-1c-dev.example.com). Использование IP-адресов не допускается!
Теперь можно запустить базу и попробовать получить лицензию. Но не все так просто, система прав в Linux реализована по другому и поэтому получить лицензию мы сможем только для себя, сервер 1С:Предприятие, который работает под собственным пользователем такую лицензию не увидит. Поэтому отказываемся от ее получения.
Для получения лицензии нужно запустить платформу от имени суперпользователя, но там тоже не все так просто. Список баз будет пустой и может так получиться, что подключение клиент-серверной базы будет недоступно. Поэтому мы пойдем другим путем и просто скопируем суперпользователю список баз текущего пользователя. Возвращаемся в терминал, который работает у нас с правами суперпользователя и выполняем:
cp -r /home/andrey/.1C /root
Где home/andrey - путь к вашей домашней директории, также обязательно соблюдаем регистр, в Linux это важно. Если вы не знаете путь к своей домашней папке, то запустите еще один экземпляр терминала и никуда не переходя введите команду:
pwd
Теперь запустим из терминала с правами суперпользователя (root) платформу и спокойно получим лицензию:
/opt/1cv8/x86_64/8.3.25.1336/1cv8
И снова обратим ваше внимание - путь содержит номер платформы, измените при необходимости.
Теперь изменим права на файл лицензии, чтобы пользоваться им мог не только суперпользователь, но и другие пользователи данного компьютера.
chmod -R g+w,o+w /var/1C/licenses
Теперь можно запускать платформу и заниматься любимым делом - разработкой и тестированием.
В заключение отметим, что несмотря на то, что мы использовали в примере Ubuntu, данная статья подойдет для пользователей любых совместимых дистрибутивов, единственное отличие будет в командах установки PostgreSQL, но вы их получите в письме с инструкциями с сайта PostgreSQL + 1c. В остальном все остается без изменений. Надеемся, что наш материал поможет сделать вам первые шаги в работе с 1С:Предприятие на платформе Linux.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии