Записки 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 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Обновление Сервера 1С под Linux
1С последнее время стала часто менять установщик сервера под Linux. Сначала с переходом на единый дистрибутив поменялся процесс обновления и установки сервера. А теперь по мере изменения версий в рамках единого установщика тоже происходят заметные изменения. То gnome на сервер автоматом ставит, а не так давно вместо скрипта запуска для init.d, появился unit для systemd.
Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.
Во время очередного обновления я немного затупил и решил записать актуальную пошаговую инструкцию по обновлению сервера 1С на Linux, чтобы просто на неё посмотреть и всё сделать, а не вспоминать, что делал в прошлый раз.
1️⃣ Останавливаем сервер 1С. В зависимости от установленной версии, команда будет выглядеть по-разному. До 8.3.21 вот так:
# systemctl stop srv1cv8-8.3.21.1484@default
2️⃣ Я рекомендую сохранить настройки кластера из домашней директории /home/usr1cv8/.1cv8/1C/1cv8. Только текстовые файлы с настройками, больше ничего. У меня разок была ситуация, когда обновлял тестовый сервер, где .1cv8 была символьной ссылкой на другой том. По какой-то причине она была заменена на новую пустую директорию. Когда запустил сервер, очень удивился, что в списке баз пусто. А их там было штук 30. Сервер хоть и тестовый, я всегда сначала на нём проверял обновления, но всё равно перспектива добавления заново всех баз не радовала. Решил детальнее разобраться, что случилось и заметил, что символьная ссылка пропала. Вернул её на место и все базы восстановились.
Тем не менее, у меня были ситуации, когда я терял настройки сервера. Хоть и некритично, но всё равно неприятно. Лишняя работа. Рекомендую параметры сохранять перед обновлением.
3️⃣ Качаем дистрибутив единого установщика и копируем на сервер. Имя файла имеет примерно такой формат: server64_8_3_22_1709.tar.gz. Распаковываем:
# tar xzvf server64_8_3_22_1709.tar.gz
Можно сразу запустить установщик ./setup-full-8.3.22.1709-x86_64.run и интерактивно выбрать все настройки, либо запустить в пакетном режиме, указав необходимые настройки. Например:
# ./setup-full-8.3.22.1709-x86_64.run --mode unattended --enable-components server,ws,client_full
Установили компоненты: Сервер 1С, модуль расширения веб сервера, толстый клиент.
4️⃣ Если раньше был скрипт запуска в /etc/init.d/srv1cv83, удаляем его. Вместо него устанавливаем юнит systemd:
# systemctl link /opt/1cv8/x86_64/8.3.22.1709/srv1cv8-8.3.22.1709@.service
Добавляем в автозагрузку и запускаем:
# systemctl enable srv1cv8-8.3.22.1709@.service # systemctl start srv1cv8-8.3.22.1709@.default
Обращаю внимание, что команда на запуск изменилась. Нужно добавлять имя экземпляра сервера. По умолчанию — default. Так сделано для того, чтобы было удобно запускать несколько разных экземпляров сервера с разными настройками на одном хосте, повесив их на разные порты.
5️⃣ Напомню, что управлять кластером 1С можно с помощью бесплатной панели управления ПУСК. Если у вас оснастки администрирования установлены на Windows машине, не забудьте там обновить платформу и зарегистрировать утилиту администрирования новой версии, иначе не получится подключиться к обновлённому серверу. Я частенько забываю это сделать.
На этом с обновлением сервера 1С всё. Ничего сложного. 1С неплохо потрудились с переработкой установщика. С одной стороны выглядит как-то громоздко — один установщик под всем дистрибутивы, вместо пакетов. Но с другой стороны — процесс стал проще и одинаков под все системы.
Автор Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале — https://t.me/srv_admin/425 или на сайте в контактах.
6 комментариев
Час добрый!
Надо перепрыгнуть с платформы 8.3.19.1726 на 8.3.23.1739. Единого установщика нет. По крайней мере на серверах 1с он не фигурирует нигде. Есть ли пошаговая документация перехода от одной версии к другой?
Кто-то говорит, что надо сносить старую платформу, кто-то нет, кто-то говорит даже о важности последовательности удаления старых пакетов, равно как и о важности последовательности установки новых. Где правда? 🙂
Ничего особо делать не надо. Старое можно не удалять. Останавливайте старую версию. Ставьте новую. После установки новой версии убедитесь, что в юните systemd именно она стоит. И запускайте. Всё.
—
т.е. пакетный менеджер должен понять, что будет обновлена текущая версия? Стало быть и порядок инсталляции не нужен, я так полагаю.
Стремность в том, что подвесить бухгалтерию на неопределенный срок — это жесть. Потому и выспрашиваю у знатоков как поступать.
Но единого установщика нет, как я уже писал. В архиве новой платформы несколько отдельных пакетов. Их просто ставим через пакетный менеджер.
Если вы вообще не разбираетесь в этом, я бы посоветовал где-то потренироваться, прежде чем обновлять рабочий сервер.
Потренироваться — это круто, конечно. Я просто по наследству получил сервак на CentOS. Сейчас встала необходимость обновить платформу 1C. Сам процесс обновления меня мало пугает, потому как обновится просто ради обновления — не вопрос. Вопрос про «подводные камни». Первый, как я понял, это замена inet.d на systemd. Что еще? 🙂
Спасибо. Без воды — всё по теме. Бало бы хорошо с дополнениями по «портовым» настройкам для разных версий платформы.