Обновляем платформу 1С на сервере под управлением Linux
Здравствуйте, меня зовут Шилин Никита и в прошлом я довольно много работал разработчиком 1С, а так же выполнял сопутствующие задачи. В настоящий момент я всё больше занимаюсь управлением командой и исполняю функции CTO на производственном предприятии. Команда у нас небольшая, отдельного девопса нет, а системный администратор не должен заниматься настройкой сервера 1С используется для других целей. Одной из задач на текущий момент для меня является администрирование сервера 1С на базе Ubuntu и его окружения.
Данная статья является, по сути, моей методичкой, которую я написал, собрав опыт настройки сервера под Linux с различных статей, официальной документации и просто покопавшись руками «вот в этом вот всем». Так как я ни разу не системный администратор и уж тем более под Linux, мне это далось с трудом, пришлось дополнительно много с чем разобраться. А мне ещё и делегировать это.
Действуя по этой методичке вы сможете обновить свою платформу в конце 2022 года, включить отладку на сервере и обновить свой веб-сервер. В отличие от большинства гайдов, работать будем с подсистемой systemd, вместо описанных везде init.d.
Проблематика
В последних дистрибутивах платформы 1С поменяла философию работы как с установочными файлами, так и с самими настройками сервера, поэтому первое с чем вы столкнетесь — это огромный ворох статей пятилетней давности, неактуальной документацией на its и множеством вопросов в духе «Почему не работает, я же все сделал по инструкции?». Плюс информация довольно сильно размазана и некоторые шаги я делал интуитивно, складывая, по аналогии, информацию из нескольких статей и пытаясь «изменить-сохранить-перезапустить» без малейшего понимания что я делаю, зачем, и надежды на то что оно вообще заработает. Спойлер: заработало.
Надеюсь, эта статья здорово сократит вам путь и снимет с вас головную боль от мысли что надо обновить платформу до последней версии, отладка отвалится, интеграции прилягут, а утром пользователи начнут звонить к вам в кровать.
Окружение
Мы используем Ubuntu 20.04.2 LTS (x64) для сервера 1С.
Вторую такую же машину для веб-сервера + Apache 2.4 для самописной интеграции с Битрикс24 (веб-хуки) и публикаций / внутренних сервисов компании.
Так же терминальный сервер для пользователей под Windows Server 2019 Standard.
Все настройки будут происходить по SSH/WinSCP. Все команды, выполняемые в консоли выполняются от имени пользователя с полными правами (root).
Больше никакой воды, переходим к инструкции.
Инструкция по обновлению
- Сделаем архивы всех боевых баз. Надеюсь, вы еще и проверяете что они работают. Мы проверяем.
- Скачаем нужный дистрибутив с сайта users.v8.1c. Когда перейдёте на страницу для выбора варианта своего дистрибутива вас неприветливо встретят 34 ссылки с вариантами клиентов и прочей информацией. Я прочитал и разобрался в них за вас: Выбираем «Технологическая платформа 1С:Предприятия (64-bit) для Linux».
- Создадим на сервере папку через WinSCP, загрузим в неё дистрибутив и распакуем через WinSCP.
- Идём в SSH-клиент, подключаемся к серверу 1С, переходим в папку с распакованным дистрибутивом, запускаем единый установочный файл:
./setup-full-8.3.22.1709-x86_64.run
Останавливаем службу:
systemctl stop srv1cv8-8.3.22.1709@default.service
Идём туда, где лежит файл конфигурации:
сd /opt/1cv8/x86_64/8.3.22.1709/
Открываем его:
nano srv1cv8-8.3.22.1709@.service
Ищем строку Environment=SRV1CV8_DEBUG= и добавляем в конец -http чтобы получилось:
Environment=SRV1CV8_DEBUG=-http
Тут стоит уточнить: вы можете использовать флаг -tcp вместо -http , но у нас стоит NAT и добиться отладки по tcp мне пока не удалось.
Сохраняем, выходим.
Перечитываем новую конфигурацию:
systemctl daemon-reload
Запускаем службу:
systemctl start srv1cv8-8.3.22.1709@default.service
Проверяем статус
systemctl status srv1cv8-8.3.22.1709@default.service
Должны увидеть следующее:
CGroup: /system.slice/system-srv1cv8\x2d8.3.22.1709.slice/srv1cv8-8.3.22.1709@default.service
├─3266 /opt/1cv8/x86_64/8.3.22.1709/ragent -d /home/usr1cv8/.1cv8/1C/1cv8 -port 1540 -regport 1541 -range 1560:1591 -seclev 0 -pingPeriod 1000 -pingTimeout 5000 -http ├─3296 /opt/1cv8/x86_64/8.3.22.1709/rmngr -port 1541 -host server1c.local -range 1560:1591 -d /home/usr1cv8/.1cv8/1C/1cv8/ -debug -http -clstid bd0a303e-c762-417f-b310-dc3aa2e80fca ├─3400 /opt/1cv8/x86_64/8.3.22.1709/dbgs —port=1550 └─3401 /opt/1cv8/x86_64/8.3.22.1709/rphost -range 1560:1591 -reghost server1c.local -regport 1541 -pid decb62bb-5dbe-42b7-a6c6-bd08c442d996 -debug -http
Вот и всё! Можно возвращаться к работе.
Заключение, благодарности.
Для подготовки я использовал материалы следующих статей:
Выражаю благодарность авторам, за то что они собрали информацию по работе с подсистемой systemd, так как большинство мануалов, в том числе официальных, написано для традиционной подсистемы init.
Дополнения и уточнения в комментариях приветствуются.
Записки IT специалиста
Помощник установки и обновления сервера 1С:Предприятие для Linux
Установка и обновление сервера 1С:Предприятие после перехода на единый дистрибутив стала еще проще. Но хорошо, если у вас один сервер и достаточно времени. А если сервер не один? Каждый раз вводить одни и те же команды — это не то, что обрадует настоящего администратора, тем более что Linux дает нам в руки мощный инструмент автоматизации — командную оболочку bash. Это дает возможность один раз описать все необходимые действия, а затем все необходимые действия будет выполнять скрипт. В данной статье мы поделимся подобным скриптом, на основе собственных наработок и коротко разберем работу с ним.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Данный скрипт предназначен для помощи в установке и обновлении сервера 1С:Предприятие с использованием единого дистрибутива, т.е. работает начиная с версии платформы 8.3.20 и новее.
Скрипт поддерживает следующие операционные системы:
- Debian 10, 11
- Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS
- Mint 19, 20, 21
- Astra Linux SE / CE
Это официально рекомендованные фирмой 1С платформы и работа Помощника на них проверена. Но это не означает, что он не будет работать в других DEB-дистрибутивах. Если ваш дистрибутив основан на одной из указанных версий Debian или Ubuntu, то проблем быть не должно. В иных случаях возможна некорректная работа скрипта, хотя никаких деструктивных последствий быть не должно.
В любом случае скрипт предоставляется как есть под лицензией MIT:
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное обеспечение»), безвозмездно использовать Программное обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также лицам, которым предоставляется данное Программное обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Скачать скрипт можно по ссылке ниже:
Как с ним работать? Достаточно просто. Создайте в домашней директории или любом удобном месте директорию для скрипта, скажем 1с:
Перейдите в нее, скачайте с нашего сайта скрипт и сделайте его исполняемым:
cd 1c
wget https://interface31.ru/tech_it/files/1c/1C_full_upgrade.sh
chmod +x 1C_full_upgrade.sh
Теперь поместите в данную директорию единый дистрибутив 1С:Предприятие нужной версии, он может быть в виде архива или в распакованной форме. Всё, можно запускать, для работы скрипту нужны права суперпользователя, либо используйте sudo:
Сразу определимся с режимом работы. Начнем с простой установки, для этого на запрос старой версии платформы введите setup и вы сразу перейдете к установке. Дальше проще — отвечаем на ряд простых вопросов и скрипт выполнит все согласно вашим пожеланиям. Отдельно проверятся наличие необходимых зависимостей, в частности библиотеки libenchant1c2a, в случае необходимости предлагается подключить репозиторий от Debian 10. Необязательные зависимости, такие как шрифты MS скриптом не контролируются.
Процесс установки отображается на экране, мы не подавляли вывод команд, кроме вызова apt update, ввиду ее многословности, так что если что-то пойдет не так, то сообщение об этом вы сразу же прочитаете.
Платформа 8.3.20 при первой установке по зависимостям устанавливала графическую оболочку Gnome в минимальной конфигурации, поэтому мы добавили функцию ее автоматического удаления. Но будьте аккуратны, если вы запустили скрипт в графической середе и не уверены, что данные пакеты вам не нужны — откажитесь от удаления.
Обратите внимание, что при повторных установках платформы 8.3.20 один раз удаленная оболочка больше не устанавливается, поэтому не следует удивляться сообщению о том, что удалять нечего.
Для работы Помощника в режиме обновления поместите в его директорию единый дистрибутив новой версии платформы и запустите скрипт. Сначала укажите номер старой платформы, скрипт проверит ее наличие и предложит вам удалить ее, поддерживаются платформы, установленные как из единого дистрибутива, так и из DEB-пакетов. Подтвердите удаление.
Затем укажите номер новой платформы и снова ответьте на все вопросы по установке. Если вы хотели только удалить платформу, то просто нажмите Enter и скрип завершит свою работу. Если вы при установке выбрали опцию модуля расширения веб-сервера, то по окончании установки скрипт попытается отыскать конфигурационный файл Apache и заменить в нем путь к интеграционной компоненте установленной версии.
Как видим, работать с Помощником просто, а сам скрипт работает прозрачно, используя только штатные механизмы дистрибутива и рекомендации фирмы 1С.
Надеемся данный инструмент будет вам полезен и поможет автоматизировать повседневную рутину.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: