Обновляем платформу 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 являлась достаточно непростой задачей, особенно для пользователей, не имеющих достаточного опыта администрирования системы. Начиная с платформы 8.3.20 фирма 1С кардинально пересмотрела свой подход, отказавшись от выпуска отдельных пакетов для разных видов дистрибутивов (DEB и RPM) и представив единый дистрибутив 1С:Предприятие для Linux. Шаг вполне ожидаемый, 1С сейчас активно развивает поддержку данной ОС в своих приложениях. Остается разобраться как все это работает, начнем с клиента.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В настоящее время на портале ИТС опубликована платформа версии 8.3.20.1549, которая предлагает для скачивания единый дистрибутив в вариантах для 32-х и 64-битных систем. Мы будем использовать 64-х битную платформу, которую попробуем установить на Ubuntu 20.04 LTS, но все сказанное ниже будет справедливо для любого поддерживаемого 1С дистрибутива Linux с поправкой на особенности работы пакетного менеджера.
Архив с единым дистрибутивом имеет наименование вида server64_8_3_20_1549.tar.gz, где 64 указывает на архитектуру пакета, а 8_3_20_1549 — является версией платформы. Распаковав его, мы обнаружим .run файл дистрибутива платформы и два файла с описанием и лицензией для Liberica JDK, входящей в состав дистрибутива.
Если запустить run-файл двойным кликом, то даже запустится установка, но дистрибутив не умеет запрашивать повышение прав, поэтому попытка завершится неудачей. Надеемся в будущих версиях это будет исправлено, так как консоль — это далеко не то место, куда следует отправлять обычного пользователя. А обновление платформы — задача весьма частая и не представляющая особых затруднений, во всяком случае на платформах Windows и macOS.
Хорошо, запускаем в папке с дистрибутивом терминал, для этого можно кликнуть правой кнопкой мыши и выбрать во всплывающем меню пункт Открыть в терминале:
Затем можно либо сразу повысить права до суперпользователя, либо выполнить установку через sudo, последнее более предпочтительно, так как с повышенными правами нам требуется выполнить разовое действие.
sudo ./setup-full-8.3.20.1549-x86_64.run
В процессе установки программа установки может отобразить список пакетов, которые требуются для корректной работы системы «1С:Предприятие». Этот список формируется в том случае, если программа установки не обнаружила эти пакеты на компьютере. Вам следует самостоятельно установить недостающие пакеты (из выданного списка) с помощью пакетного менеджера используемой операционной системы. Для этой установки потребуются права суперпользователя (root).
При этом большинство зависимостей уже включено в пакет поставки, хотя это и идет вразрез в принятыми в среде Linux соглашениями и принципами. С другой стороны, это по-всякому лучше, чем устанавливать в ОС пакеты от предыдущей версии только потому, что их безальтернативно требует 1С:Предприятие. В нашем случае никаких дополнительных пакетов не потребовалось.
В Debain 11 перед установкой нужно добавить репозиторий от предыдущего выпуска для установки библиотеки libenchant1c2a, иначе процесс завершится с ошибкой:
echo "deb http://ftp.ru.debian.org/debian buster main" > /etc/apt/sources.list.d/buster.list
Графический установщик 1С:Предприятия выполнили максимально похожим на свой Windows-аналог, поэтому сам процесс установки не должен вызвать никаких затруднений.
Видно, что разработчики проделали большую работу по приданию Linux-дистрибутиву «человеческого лица» и если еще будет корректно реализован запрос на повышение прав, то основная задача будет выполнена. Для установки платформы достаточно будет скачать дистрибутив и запустить его двойным кликом. А это значит, что Linux станет еще немного ближе к простому пользователю.
После установки будут добавлены ярлыки для программы запуска, толстого и тонкого клиента. Они относятся к подкатегории Finance категории Office. В окружении рабочего стола Gnome, который используется по умолчанию в Ubuntu и Debian, ярлыки добавляются в общую панель запуска и определить какой из них за что отвечает с первого взгляда довольно сложно, но если добавить их в Избранное (на боковую панель), то появляется всплывающая подсказка. Таким образом можно выяснить, что ярлыки идут в следующем порядке: толстый клиент, тонкий клиент, программа запуска. Запускать 1С:Предприятие следует через третий ярлык, его же советуем вывести в Избранное.
Но если мы запустим платформу, то с удивлением увидим довольно неприглядную картину, со шрифтами все окажется очень плохо:
Несмотря на заявленный контроль зависимостей инсталлятор не проверяет наличие шрифтов Microsoft Core Fonts и никак не сообщает об этом. Но, к счастью, это несложно исправить. Обратите внимание, что данные шрифты относятся к несвободному ПО и в Debian вам потребуется подключить репозитории. Это можно сделать как в графическом режиме, запустив приложение Software & Updates и выбрав в нем репозитории contrib и non-free:
так и в терминале, открыв файл /etc/apt/sources.list и добавив в каждую строку после main contrib и non-free:
Теперь следует обновить список пакетов и установить шрифты Microsoft, команду следует выполнить с правами суперпользователя или через sudo:
sudo apt update && apt install ttf-mscorefonts-installer
Снова запустим 1С:Предприятие, как видим со шрифтами все стало нормально.
Следует также отметить, что начиная с платформы 8.3.18 возможна установка сразу нескольких версий 1С:Предприятие на Linux, установка производится в /opt/1cv8/i386/8.3.xx.xxxx или /opt/1cv8/x86_64/8.3.xx.xxxx и со временем возможно накопление неиспользуемых версий платформы. Для их удаления следует воспользоваться скриптом деинсталляции, который называется uninstaller-full и расположен в директории платформы. Так для удаления только что установленной 8.3.20.1549 выполните с правами суперпользователя или через sudo:
sudo /opt/1cv8/x86_64/8.3.20.1549/uninstaller-full
После чего указанная версия платформы будет полностью удалена:
В целом работа с единым дистрибутивом нам понравилась, сделан большой шаг навстречу простым пользователям, приближая платформу Linux по удобству использования к привычным альтернативам на Windows и macOS.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: