1c-crm-red
От экспертов «1С-Рарус»: Российские дистрибутивы Linux и установка в них сервера 1С
31.01.2023

От экспертов «1С-Рарус»: Российские дистрибутивы Linux и установка в них сервера 1С

Оглавление

  1. Введение
  2. Термины и определения
  3. Разделение операционных систем GNU/Linux
    1. По применению
    2. По семействам
  4. Варианты установки Linux — локально на физический сервер, с виртуализацией, в облаке
    1. Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер
    2. Установка клиентского дистрибутива Astra на компьютер пользователя
    3. Использование виртуализации
    4. Размещение в облаке
    5. Облако «1С-Рарус»
    6. Применение докер-контейнера
  5. Распространённые приложения для серверного и клиентского дистрибутива Linux
    1. Графический интерфейс
    2. Средства удалённого доступа в графическом режиме, RDP
    3. Антивирусы
    4. Файловые менеджеры
    5. Текстовые редакторы
    6. Доступ по SSH
    7. Браузеры
    8. Офисное программное обеспечение
    9. Мессенджер
  6. Доверенные источники программного обеспечения под Linux, репозитории
    1. Программы, распространяемые вместе с дистрибутивами Linux
    2. Официальные и неофициальные репозитории
    3. Самодостаточные пакеты и специализированные ресурсы
  7. Установка сервера 1С:Предприятия (8.3.20, 8.3.21, 8.3.22, 8.3.23) на отечественные дистрибутивы Linux
    1. Обновление ОС перед установкой сервера 1С
    2. Установка и запуск сервера 1С
  8. Установка и доступ к ключам защиты платформы 1С:Предприятие
    1. Сетевая системы защиты HASP (аппаратная защита)
    2. Программное лицензирование
  9. Установка на сервере SLK для работы с типовыми решениями «1С-Рарус»
  10. Включение отладки раздельное
  11. Удаление установленной 1С
  12. Обновление релиза 1С
  13. Установка PostgreSQL
  14. Оптимизация postgres со сравнительными цифрами
  15. Установка веб-сервера и публикация базы на веб-сервере
  16. Продолжение цикла экспертных статей об использовании Linux для 1С

Введение

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

Во второй половине статьи будет показан процесс разворачивания серверной части 1С и PostgreSQL под линукс и необходимые первоначальные настройки.

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

Если вас интересует исключительно установка 1С:Предприятия под отечественные версии Linux, то можно сразу переходить к соответствующему разделу.

Версии программного обеспечения, упомянутые в материале, актуальны на момент подготовки публикации. Для иных версий и релизов процессы установки и настройки могут отличаться.

Термины и определения

Выпишем ряд достаточно известных понятий, чтобы иметь возможность не прибегая к поиску в интернете, читать статью.

Ядро — центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера.

ОС (Операционная система) — ядро, системные утилиты и программы, которые содержат все необходимое для работы с аппаратным программным обеспечением.

Например:

  • Windows

    Семейство операционных систем от компании Windows. Имеет свое ядро, набор системных утилит и программ.

  • GNU/Linux

    Семейство операционных систем с ядром Linux и компонентами проекта GNU.

  • Android

    Семейство операционных систем от компании Google. Несмотря на ядро Linux, отличается в наборе системных утилит и программ, поэтому представляет собой отдельную операционную систему.

GNU (GNU is Not Unix) — проект и библиотеки, программы, разработанные в рамках этого проекта. Вёл проект Ричард Столлман и его задача была в том, чтобы разработать аналог ОС Unix, который не устраивал его в плане лицензии. В GNU используется своя лицензия GNU GPL, которая позволяет бесплатно использовать и распространять исходные коды и сами программы, но запрещает присваивать себе их и наработки на их базе. В рамках проекта сделали всё, кроме ядра и по итогу появилась ОС GNU/Linux, которая сочетала в себе ядро Линуса Торвальдса Linux и компоненты проекта GNU.

Дистрибутив (от distribute — распространять) — вариант, сборка ОС.

Например, для Windows таковыми будут:

  • Windows 11,
  • Windows Server 2019,
  • И так далее...

Для GNU/LInux:

  • Ubuntu 22.04,
  • Debian 11,
  • Ред ОС 7.3,
  • Альт 10.

Версию при этом часто опускают. Еще есть редакция дистрибутива как Windows 10 Home или «Альт Рабочая станция К», которые отличаются набором ПО, настройками и частью функционала. GNU/Linux дистрибутивов значительно больше благодаря гибкости и открытости лицензии.

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

Например, дистрибутив может быть создан конкретно для использования на рабочих станция или серверах, а может быть конкретно решением для виртуализации, как OpenVZ.

Менеджер пакетов (apt — debian, rpm — RedHat) — система управления пакетами с программным обеспечением. Занимается корректной установкой/удалением пакетов программ, разрешает зависимости, а также ведет базу установленного ПО в служебных файлах, чтобы можно было отслеживать текущие установленные пакеты и правильным образом проводить установку и обновление.

Пакеты (deb — пакет для дистрибутивов Debian/Ubuntu; rpm — пакет для дистрибутивов RedHat/Centos) — формат предоставления программного обеспечения в виде пакетов, содержащих помимо дистрибутива программного обеспечения, набор определённых метаданных, которые могут включать в себя полное имя пакета, номер версии, описание пакета, имя разработчика, контрольную сумму, зависимости с другими пакетами.

Самодостостаточные пакеты — пакеты Snap, Flatpak или AppImage. Не требуют специфичных для дистрибутива зависимостей, а поставляют их вместе с собой. Одно и то же приложение в различных дистрибутивах GNU/Linux обычно устанавливается по-разному, а данные решения позволяют стандартизировать процесс и сделать поведения приложений одинаковым во всех системах, что помогает увеличить стабильность.

Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные, необходимые для обновлений/установки приложений/пакетов.

Сервер — компьютер, задача которого обслуживать подключения от приложений, работающих на рабочих станциях (клиентов). Например, такими приложениями является:

  • Сервер 1С

    Позволяет обеспечить совместную работу множества пользователей с информационной базой.

  • Samba

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

  • Apache

    Позволяет разместить сайт на сервере. В контексте 1С позволяет разместить информационную базу как сайт, после чего можно будет подключаться к базе через браузер.

Обычно на серверах с использованием ОС GNU/Linux нет монитора, клавиатуры, мыши, а доступ к ним обеспечивается по сети через протокол SSH.

Рабочая станция — компьютер, задача которого обеспечить работу конечного пользователя. У такого компьютера обязательно должен быть монитор, клавиатура, мышь, поскольку иначе обеспечить полноценную работу пользователя будет затруднительно.

Разделение операционных систем GNU/Linux

По применению

Рассматриваемые в статье дистрибутивы можно использовать и на сервере, и на рабочей станции. Дистрибутивы на базе ОС GNU/Linux в целом предполагают, что различия редакции для сервера и редакции для рабочей станции будут отличаться лишь набором ПО, причём в нашем случае сервер отличается тем, что там не будет графических приложений, графического окружения, но будут серверные приложения — сервер 1С, веб-сервер Apache и другие.

На самом деле, это ещё куда более тонкая грань, поскольку ничего не мешает на рабочей станции запустить сервер какого-то приложения, как и на сервере запустить графическую оболочку и предоставлять доступ к ней удалённо через RDP или VNC (об этом ПО мы поговорим ниже в статье), чтобы использовать её даже если к серверу физически не подключен монитор, клавиатура и мышь.

В Windows логика почти такая же и редакция для сервера отличается большими возможностями, специальным приложением для администрирования и некоторыми другими деталями, но глобально грань всё так же не очень явная.

По семействам

Важно понимать, что дистрибутивов очень много и далеко даже не все семейства нам важны в контексте 1С, поэтому мы будем рассматривать два популярных и часто используемых в этом деле семейства дистрибутивов: основанные на Debian и основанные на RHEL.

Debian

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

  • Ubuntu

    Дистрибутив от британской компании Canonical. Распространяется свободно. Позиционируется для используется на серверах, рабочих станциях и не ограничивается этим. Присутствует реклама сервисов компании Canonical.

  • Astra

    Дистрибутив от российской компании Русбитех-Астра. Распространяется свободно. Имеет версию сертифицированную ФСТЭК. Используется на серверах и рабочих станциях.

RHEL (Red Hat Enterprise Linux)

Коммерческий дистрибутив от американской компании IBM. Распространяется по годовой подписке. Позиционируется для корпоративного использования на серверах, рабочих станциях. Предоставляет дополнительный набор ПО, поддержку и многое другое в отличие от Fedora.

  • Fedora

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

  • Ред ОС (Ред ОС)

    Дистрибутив от российской компании РЕД СОФТ. Распространяется свободно. Имеет версию сертифицированную ФСТЭК. Позиционируется для использования на серверах, рабочих станциях.

  • Mandrake

    Ныне несуществующий дистрибутив, на базе которого был создан ALT.

    • ALT

      Дистрибутив от сообщества ALT Linux Team, но конечные сборки выпускаются в основном российскими компаниями Базальт СПО и Альт Линукс. В отличии от RHEL использует пакетный менеджер apt, а не dnf/yum, но при этом продолжает использовать пакеты rpm. Распространяется свободно. Имеет версию сертифицированную ФСТЭК. Позиционируется для использования на серверах, рабочих станциях.

Если интересен наиболее полный список дистрибутивов Linux, то можно воспользоваться данной иллюстрацией:

Полный список дистрибутивов Linux

Отечественные дистрибутивы

В отличии от ОС Microsoft Windows, дистрибутивы на базе ОС GNU/Linux разрабатываются различными компаниями в том числе и российскими. Это позволяет не зависеть от какой-то конкретной компании и адаптировать продукт под требования.

В российских дистрибутивах Astra, ALT и Ред ОС это проявляется в том, что ПО адаптировано для русского языка, обеспечена лучшая поддержка российских приложений, например, КриптоПРО, а так же существует версия сертифицированная ФСТЭК или ФСБ, которую можно использовать при работе с информацией, требующей повышенной защиты.

Варианты установки Linux — локально на физический сервер, с виртуализацией, в облаке

Существует несколько способов использовать дистрибутивы ОС GNU/Linux, кроме непосредственной установки на локальное оборудование, можно использовать установку на виртуальную машину, в контейнере и через облачный сервис. Виртуализация позволяет, например, на одном физическом сервере держать несколько виртуальных серверов под задачи различных серверов приложений. Облачные провайдеры предоставляют именно виртуальную машину, поэтому для правильного выбора типа виртуализации, необходимо знать особенности работы провайдера и устанавливаемой ОС.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

Скачать образ диска для установки можно скачать с официального сайта Ред ОС: redos.red-soft.ru/.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

Дистрибутив, представленный на сайте можно использовать для установки как на сервер, так и на рабочую станцию о чём сказано на сайте.

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

В GNU/Linux проверить ее можно следующим образом:

md5sum путь_до_файла

В Windows (Powershell):

Get-FileHash -Algorithm md5 -Path путь_до_файла

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

Установщик в Ред ОС адаптирован для нас, поэтому у нас не возникнет проблемы с выбором русской раскладки при установке. Смело выбираем русский язык и далее во время установки можно поменять язык с помощью выпадающего меню сверху.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

В главном меню установки необходимо указать настройки, распределенные по группам, которые будут использоваться для установки дистрибутива.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

В «Выборе программ» мы можем выбрать редакцию для сервера и рабочей станции. Кроме того, можно сразу установить необходимые программы для дальнейшей работы.

Как и говорилось выше, разница между сервером и рабочей станцией достаточно тонкая, поэтому несмотря на то, что на сайте говорилось о двух редакциях, здесь их три. «Сервер с графическим интерфейсом» совмещает обе редакции.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

В «Месте установки» необходимо выбрать диск, куда будет установлена Ред ОС. Кроме того, можно сконфигурировать диски более подробно, выбрав «По-своему». Подробнее о разбивке диска расскажем в будущем в отдельной статье, поскольку тема достаточно большая и для полноценного ее понимания потребуется много теории.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

В «Пароле root» устанавливаем его пароль.

Опция разрешить вход пользователям root с паролем через ssh позволяет удаленно входить под пользователем root по ssh. Нежелательно ее использовать, поскольку тогда можно будет напрямую пробовать подбирать пароль к root-пользователю. Напоминаем, что root-пользователь имеет все права, поэтому получив доступ к root можно сделать что угодно в системе.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

В «Создании пользователя» даем имя пользователя и задаём пароль.

Опция «Сделать этого пользователя администратором» даст возможность использовать утилиту sudo для запуска программ от имени суперпользователя. Это необходимо делать, если мы хотим дать этому пользователю возможность администрировать данную операционную систему.

Важные моменты в процессе установки мы рассмотрели. Теперь приступим к проверке своей установки.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

После перезагрузки мы попадем в систему. Необходимо будет войти под пользователем, которого мы создали.

Установка серверного дистрибутива РЕД ОС 7.3 на физический сервер

Можем ввести команду lsb_release -a, чтобы вывести информацию о релизе нашего дистрибутива.

В случае установки Ред ОС в других редакциях, установка происходит так же, а при запуске у нас будет графический интерфейс, поэтому информацию о системе можно будет посмотреть через него, а не в консоли.

Установка клиентского дистрибутива Astra на компьютер пользователя

Скачать можно на сайте: astralinux.com.

Установка клиентского дистрибутива Astra на компьютер пользователя

Дистрибутив, представленный на сайте можно использовать для установки как на сервер, так и на рабочую станцию, поскольку при установке мы сможем выбрать соответствующий набор ПО.

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

Проверить ее можно следующим образом в GNU/Linux:

md5sum путь_до_файла

В Windows (Powershell):

Get-FileHash -Algorithm md5 -Path путь_до_файла

Переходим к процессу установки.

Установка клиентского дистрибутива Astra на компьютер пользователя

Здесь в большинстве случаев подойдёт авторазметка, но если необходима подробная разметка, то можно сделать ее вручную. Выбор диска для разметки и установки происходит на следующем шаге. Кроме того, при авторазметке можно раздел /home, который отвечает за данные пользователей, перенести в отдельный раздел на диске.

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

Например, система была повреждена, мы вынуждены переустановить ее, причем основная файловая система тоже пострадала, но мы можем спокойно скопировать /home, переустановить систему, вернуть /home обратно. Останется только вернуть программы и настройки самой системы.

Далее можно свериться с разметкой. Если она нас устраивает, то продолжаем. Если нет, то можно вернуться обратно.

Установка клиентского дистрибутива Astra на компьютер пользователя

При установке возможно выбрать разные версия ядра, в том числе ядра с постфиксом hardened, которые нацелены на обеспечение повышенной безопасности.

Установка клиентского дистрибутива Astra на компьютер пользователя

На этом шаге решается получим мы дистрибутив для сервера или для рабочей станции. Выбранные на скриншоте пункты подходят для рабочей станции с максимальным набором программ для обычного пользователя.

Установка клиентского дистрибутива Astra на компьютер пользователя

Можно выбрать дополнительные настройки. Рассмотрим самые важные.

Включить блокировку интерпретаторов — запретить исполнять произвольные программы с интерпретируемыми языками, такими как Python, Bash. Потенциально позволяет повысить безопасность, но создает сложности с запуском таких файлов.

Включить межсетевой экран ufw — при его включении можно будет настроить правила отправки и получения данных с различных IP-адресов. Желательно включать на сервере и настроить под себя после установки. Про ufw и iptables поговорим, возможно, в другой статье, поскольку тема достаточно обширная.

Запретить установку бита исполнения — будет блокировать возможность выполнения команды chmod +x, которая позволяет сделать файл исполняемым.

Системные часы установлены на местное время — следует установить, если время в BIOS/UEFI установлено на текущее время в вашем регионе.

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

Установка клиентского дистрибутива Astra на компьютер пользователя

И теперь мы попадаем на рабочий стол Astra. Можно приступать к работе или дальнейшей настройке системы, если требуется.

Использование виртуализации

Виртуализация — это предоставление вычислительных ресурсов с определенным уровнем абстракции от непосредственного аппаратного обеспечения.

Гипервизор 1 рода — имеет доступ непосредственно к аппаратным ресурсам.

Гипервизор 2 рода — работает поверх операционной системы, поэтому доступа напрямую к аппаратным ресурсам не имеет. Из-за этого имеет меньшую производительность.

Виртуализация на уровне операционной системы — как и гипервизор 2 рода работает на базе операционной системы, но вместо виртуализации аппаратных ресурсов предоставляет доступ к ядру операционной системы, поэтому возможен запуск только операционных систем, которые работают на базе такого же ядра.

OpenVZ

Некоммерческое решение для виртуализации на уровне операционной системы.

Если виртуализация происходит на специальном дистрибутиве GNU/Linux, который выполняет роль гипервизора, то такая виртуализация происходит на уровне ОС. Это обеспечивает высокую производительность.

Возможно использование только специально подготовленных дистрибутивов: Debian, Ubuntu, CentOS. Кроме того, само ядро будет значительно старее, чем актуальное в этих дистрибутивах. Это может быть проблемой в некоторых ситуациях.

Доступные ресурсы можно менять без перезагрузки. Можно добавить больше оперативной памяти, ядер процессора, место на основном носителе и всё это не потребует перезагрузки.

KVM/QEMU (Актуально и для XEN)

Некоммерческое решение для виртуализации. Гипервизор 2 рода.

Используется метод паравиртуализации, то есть когда операционная система подготовлена для использования в виртуальной машине и ей предоставляется гостевой API. Процессор виртуализируется с помощью технологии Intel VT или AMD-V в зависимости от процессора. Из-за использования этого метода производительность меньше, но подготовка операционной системы для использования позволяет уменьшить потерю производительности.

Возможно использование любой операционной системы (Windows, GNU/Linux, FreeBSD...) в том числе любого дистрибутива ОС GNU/Linux.

Аппаратные ресурсы нельзя менять без перезагрузки.

Меньшая производительность относительно OpenVZ.

LXD/LXC

Виртуализация на уровне операционной системы, основанная на ядре GNU/Linux. LXD это интерфейс для LXC.

Похоже на OpenVZ и в целом более актуально сейчас, поскольку OpenVZ устаревает. Минимальные потери производительности, но возможно использование только дистрибутивов GNU/Linux.

Proxmox и OpenNebula

Системы виртуализации. Используют KVM и встроенное в GNU/Linux решение контейнеризации LXC.

Предоставляют удобный веб-интерфейс для управления виртуальными машинами, присутствует встроенный мониторинг. Особенности KVM актуальны при ее использовании.

Proxmox официально поддерживается в Debian и основана на нём.

OpenNebula имеет официальную поддержку во множестве дистрибутивов. Отличается в первую очередь тем, что входит в реестр отечественного ПО.

Hyper-V

Встроенная в Windows виртуальная машина. Гипервизор 1 рода.

Процессор виртуализируется с помощью технологии Intel VT или AMD-V в зависимости от процессора. Не требует специально подготовленного образа операционной системы.

Возможно использование любой операционной системы (Windows, GNU/Linux, FreeBSD...) в том числе любого дистрибутива ОС GNU/Linux.

VirtualBox (Актуально и для QEMU)

Открытое некоммерческое решение для виртуализации. Гипервизор 2 рода.

Основано на QEMU и использует метод динамической рекомпиляции, то есть виртуальная машина в реальном времени преобразовывает вызовы гостевой ОС в вызовы хост-системы. При таком методе производительность меньше, чем при использовании Hyper-V или KVM, но в VirtualBox есть расширения, которые могут повысить производительность.

Возможно использование любой операционной системы (Windows, GNU/Linux, FreeBSD...) в том числе любого дистрибутива ОС GNU/Linux.

VMWare Server, Workstation и Player

Платное коммерческое решение для виртуализации. Есть бесплатные версии. Гипервизор 2 рода.

Виртуализирует процессор, что не дает высокой производительности, но как и VirtualBox содержит расширения, которые позволяют повысить производительность.

Возможно использование любой операционной системы (Windows, GNU/Linux, FreeBSD...) в том числе любого дистрибутива ОС GNU/Linux.

В контексте 1С есть одна настройка, которая может уменьшить производительность. Сетевую карту желательно сменить со стандартной IntelE1000, поскольку это достаточно старая сетевая карта и на современных операционных системах может работать достаточно плохо.

Использует те же форматы образов дисков, что и VMWare EXSi, что позволяет легко перенести виртуальную машину на неё.

VMWare EXSi

Платное коммерческое решение для виртуализации. Гипервизор 1 рода.

В отличии от других продуктов VMWare представляет собой виртуальную машину, которая работает вместо ОС как OpenVZ, а не над ней. Благодаря этому имеет лучшую производительность.

В любом случае сценарий установки сервера 1С и подавляющего большинства серверных приложений не будет менятся от выбранного варианта виртуализации, за исключением настройки сети, которая будет выглядеть по-разному для них.

Размещение в облаке

Yandex Cloud

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

Выбираем сервис Compute Cloud.

Размещение в облаке

Затем из списка можно установить: Astra, ALT, Ред ОС, Ubuntu, Debian, CentOS, Fedora, OpenSUSE и другие.

Если нам требуется установить свой образ, то можно перейти на вкладку «Пользовательские» и там его выбрать. Это можно использовать при установке сертифицированных ФСТЭК или ФСБ дистрибутивов, поскольку в открытом доступе их нет и Яндекс их предоставить в списке не может.

Предварительно образ необходимо подготовить, то есть произвести установку, настроить, сделать снимок и уже его загружать.

Загрузка образа диска в облако | Yandex Cloud — Документация:
cloud.yandex.ru/docs/compute/operations/image-create/upload.

Подготовить свой образ диска | Yandex Cloud — Документация:
cloud.yandex.ru/docs/compute/operations/image-create/custom-image.

Размещение в облаке

Для создания виртуальной машины нам еще потребуется ключ rsa. В Windows 10 и новее и в GNU/Linux он создается следующим образом:

ssh-keygen -t rsa

Для полноценного размещения сервера 1С или сервера какого-либо приложения нам потребуется только сделать IP-адрес статическим, чтобы можно было держать постоянное подключение к серверу. Дальнейший процесс установки 1С не отличается.

Облако «1С-Рарус»

У нас есть своё облако типа Private Cloud. Это означает, что у нас нет открытой панели администрирования, а сервера администрируем мы сами. Благодаря этому можно просто прийти и сказать, что требуется с произвольной детализацией.

Например, можно просто сказать, что нужен сервер для ERP и пользователей будет столько-то, а можно прийти с требованием, чтобы на сервере стояла Astra, PostgresPro 15, платформа 1С версии 8.3.22.1750, по аппаратному обеспечению должно быть то-то и далее, далее, далее...

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

Применение докер-контейнера

Docker создает внутри текущей операционной системы контейнеры, которые имеют свои библиотеки, программы, файлы, но работают с тем же ядром, что и операционная система. Это не похоже на виртуализацию, но скорее является дополнением к ней, которое позволяет запускать готовые серверные сборки без изменений в основной операционной системе, что облегчает разворачивать готовую рабочую конфигурацию сервера.

Важно понимать, что использование докера может совмещаться с виртуализацией, поскольку для контейнера на базе GNU/Linux, который будет запускаться в Windows не получится без виртуализации создать контейнер. Поскольку ядро Linux и ядро Windows разные, Docker потребует создания виртуальной машины, в которой уже и будут работать контейнеры. В обратном случае, когда мы запускаем Windows, а в качестве установленной системы у нас GNU/Linux, произойдёт то же самое.

Обычно отдельный контейнер создают под каждое приложение, поэтому если у нас используется клиент-серверный вариант 1С, то будет лучше использовать 2 контейнера: под сервер 1С и под СУБД.

Дальнейшая часть поверхностно описывает сборку контейнера с помощью Dockerfile. Тема достаточно обширная и заслуживает отдельной статьи, но мы кратко рассмотрим ее.

Контейнеры подготавливаются с помощью сценария в Dockerfile. Он имеет примерно такую структуру:

FROM   # Выбираем базовый образ. Например, Ubuntu:bionic. Список образов есть на сайте hub.docker.com.
ENV    # Задаем переменные окружения
COPY   # Копируем файлы. Например, файлы дистрибутивов баз данных, платформы 1С или конфигурационные файлы
RUN    # Производим установку и настройку дистрибутивов.
CMD    # Описываем точку входа в образ для запуска и управления контейнерами. 

Процесс сборки контейнера кешируется и при изменении сценария его пересборка происходит из уже созданного кэшированного, наиболее подходящего. Например, изменился дистрибутив 1С в COPY и процесс его установки в RUN, поэтому сборка контейнера будет начинаться с ENV, то есть у нас уже установлено окружение операционной системы и установлены переменные окружения, поэтому пересборка происходит быстрее, чем если бы это была первая сборка.

Распространённые приложения для серверного и клиентского дистрибутива Linux

Графический интерфейс

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

KDE

Используется в Альт. Ранее это была просто среда рабочего стола, а KDE означало K (ool) Desktop Environment, но сейчас это большая команда разработчиков с множеством проектов среди которых не только среда рабочего стола. Актуальный проект рабочего стола именуется KDE Plasma 5.

Предоставляет самые широкие возможности по кастомизации из представленных графических оболочек, большой набор пользовательских тем, всевозможные анимации, функциональные возможности. Кроме того, его можно мимикрировать в то, что больше всего нравится. Нравится MacOS? Получаешь панель задач сверху, круглые одноцветные яркие кнопки свернуть, развернуть, закрыть, плавные анимации и многое другое очень близко к интерфейсу MacOS. Кроме того, можно собрать и гибрид, либо даже уйти куда-то в футуризм. Потребление ресурсов при этом достаточно большое, а для полноты эффектов требуется аппаратное ускорение.

Распространённые приложения для серверного и клиентского дистрибутива Linux

KDE Plasma 5 на рабочей системе у одного из авторов статьи.
Оформление как в Windows 7, то есть нет панели управления справа, как в Windows 10.

Распространённые приложения для серверного и клиентского дистрибутива Linux

Распространённые приложения для серверного и клиентского дистрибутива Linux

Эффект окон из Doom.

Mate

Используется в Ред ОС. Продолжение графической оболочки Gnome 2. Создание было связано с тем, что в Gnome 3 добавили много нового функционала, который части сообщества казался лишним, поэтому создали ответвление, которое продолжает идеи старой версии Gnome. Предоставляет достаточно простой и удобный в использовании интерфейс, без лишних изяществ. Потребляет мало ресурсов.

Распространённые приложения для серверного и клиентского дистрибутива Linux

Mate в Ред ОС

Cinnamon

Используется в Ред ОС и в Альт. Продолжение графической оболочки Gnome 3. В отличии от Mate предоставляет много возможностей по кастомизации, но в то же самое время остается достаточно простым. Потребляет больше ресурсов, чем Mate.

Распространённые приложения для серверного и клиентского дистрибутива Linux

Cinnamon в Alt

Fly

Распространённые приложения для серверного и клиентского дистрибутива Linux

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

Средства удалённого доступа в графическом режиме, RDP

xRDP

Это открытая реализация протокола RDP, который используется в Microsoft Windows. С помощью него можно реализовать доступ к компьютеру по его IP и данным пользователя. При подключении будет использоваться графический режим. Для подключения с Windows достаточно воспользоваться стандартным приложением для подключения по RDP.

Установка в Astra Linux

apt -y install xrdp xorgxrdp
systemctl enable xrdp --now

Кроме того, необходимо в файле /etc/xrdp/startwm.sh перед строкой:

test –x /etc/X11/Xsession && exec /etc/X11/Xsession

добавить:

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

Если этого не сделать, то при попытке зайти с Windows будет чёрный экран.

РЕД ОС

Установка:

dnf install xrdp xorgxrdp
groupadd tsusers                                 # создаём группу tsusers
usermod -a -G tsusers user                  # для доступа к терминальной сессии добавляем пользователя user в групппе tsusers
systemctl enable xrdp --now

Подробнее о настройке написано в документации: redos.red-soft.ru/base/server-configuring/remote-control/xrdp/.

Альт

Установка:

apt-get install xrdp
systemctl enable xrd xrdp-sesman --now
usermod -a -G tsusers user                   # для доступа к терминальной сессии добавляем пользователя user в групппе tsusers

VNC

Система удалённого доступа к рабочему столу компьютера. Более специфична для дистрибутивов GNU/Linux. Для подключения с Windows можно использовать приложение RemoteRipple (remoteripple.com).

Настройка сервера VNC не однострочная задача, поэтому полное описание будет представлено для Ред ОС. В других дистрибутивах GNU/Linux будет как минимум отличаться команда установки tigervnc-server, имя сессии рабочего стола по-умолчанию.

Установить для Astra:

sudo apt intall tigervnc-standalone-server

Установить для Альт:

sudo apt-get install tigervnc-server

Ред ОС:

sudo dnf install tigervnc-server
vncpasswd                        # устанавливаем пароль vnc для текущего пользователя
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service # копируем файл конфигурации
nano /etc/systemd/system/vncserver@\:1.service # открываем файл для редактирования

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper имя_пользователя %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

Далее устанавливаем рабочий стол по-умолчанию.

Для Mate:

echo 'PREFERRED="$(type -p mate-session)"' >> /etc/sysconfig/desktop

Для Cinnamon:

echo 'PREFERRED="$(type -p cinnamon-session)"' >> /etc/sysconfig/desktop

Изменяем права на домашнюю директорию пользователя:

chown -R имя_пользователя /home/имя_пользователя/
systemctl enable vncserver@:1 --now

Теперь подключение по порту 5901 в VNC возможно.

Remmina

Это приложение для дистрибутивов GNU/Linux, которое позволяет подключаться к удаленным компьютерам по различным протоколам. RDP, VNC, SSH и другие.

Средства удалённого доступа в графическом режиме, RDP

Установка в Astra:

sudo apt install remmina

Ред ОС:

sudo dnf install remmina

Альт:

sudo apt-get install remmina

RustDesk

Открытое приложение для реализации простого удаленного доступа. Знать IP подключаемого компьютера не требуется, достаточно внутреннего ID в приложении. Кроме того, возможно поднять собственные сервера для обслуживания клиентов данного приложения.

Astra:
Загружаем deb-пакет отсюда: github.com/rustdesk/rustdesk/releases 

Пробуем установить:

sudo dpkg -i ~/Загрузки/rustdesk.deb

Видим ошибку. Не хватает пакетов libxdo3 и python3-pip.

Первый можно скачать здесь: pkgs.org/download/libxdo3. 

Выбираем Ubuntu 20.04 для amd64 и скачиваем deb-пакет.

sudo dpkg -i ~/Загрузки/libxdo3.deb
sudo apt -fix-broken install

После чего программа устанавливается и мы можем ею пользоваться.

Ред ОС:

Загружаем rpm-пакет: github.com/rustdesk/rustdesk/releases.

sudo dnf install ligxdo
sudo rpm -i rustdesk.rpm

Альт:
Возникли сложности с установкой. Сама установка приложений, которые поставляются в формате rpm происходит через epm. Сначала их нужно перепаковать с помощью неё, а после установить, но для данного приложения возникли трудности.

AnyDesk

Проприетарное приложение для реализации простого удаленного доступа. Знать IP подключаемого компьютера не требуется, достаточно внутреннего ID в приложении.

Astra:

Скачиваем пакет для Debian/Ubuntu/Mint с официального сайта: anydesk.com/ru/downloads/linux.

sudo dpkg -i ~/Загрузки/anydesk.deb
sudo apt –fix-broken install

Кроме того, возможна установка через репозиторий. Она описана здесь: deb.anydesk.com/howto.html. 

Ред ОС:

Скачиваем пакет для RHEL 8 с официального сайта: anydesk.com/ru/downloads/linux.

sudo rpm -i anydesk.rpm

Альт:

Возникли сложности с установкой. Сама установка приложений, которые поставляются в формате rpm происходит через epm. Сначала их нужно перепаковать с помощью неё, а после установить, но для данного приложения возникли трудности.

Антивирусы

В ОС GNU/Linux антивирусы используют достаточно редко. Это связано с тем, что большую часть вирусов мы получаем из интернета, когда скачиваем программы, а дистрибутивы GNU/Linux используют в основном репозитории, поэтому получить вирус значительно сложнее.

Кроме того, малая распространенность на рабочих станциях, значительное различие дистрибутивов уменьшает количество желающих написать вирус под GNU/Linux, но это не значит, что вирусов нет. Они существуют в основном в другой форме и цель их не обычные пользователи, а сервера.

Для них привычные антивирусы достаточно бесполезны, поскольку злоумышленники ищут уязвимости в серверных приложениях. Только Альт содержит в поставке ClaimAV, который не обязателен к установке и по-умолчанию не выбран.

Файловые менеджеры

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

Dolphin

Поставляется вместе с графической оболочкой KDE. Обладает огромным набором функций. Из основных: разделение на две панели, вкладки, поддержка сетевых расположений, настройка интерфейса под себя.

Файловые менеджеры

Dolphin с открытым ftp://ftp.yandex.ru

mc

Работает из консоли. Это делает возможным его использование при администрировании серверов на базе GNU/Linux. Является идейным наследником Norton Commander, который был создан еще для DOS, поэтому использует режим работы с двумя панелями.

Файловые менеджеры

Текстовые редакторы

vim

Является достаточно сложным текстовым редактором, но в то же самое время удобным после освоения. Рассматривать работу с ним не будем, поскольку это отдельная большая тема.

Текстовые редакторы

vi с введенной командой выхода без сохранения

vim есть в базовой поставке большинства дистрибутивов, но если он по какой-то причине всё же не установлен, то его можно легко доустановить штатными средствами.

nano

Является простым текстовым редактором, которым легко пользоваться. Все возможные действия и как их можно вызвать подсвечены снизу. Для запуска нужно ввести nano с путем до файла, который мы хотим открыть.

Текстовые редакторы

nano также есть в базовой поставке большинства дистрибутивов.

Kate

Текстовые редакторы

Kate — текстовый редактор, развивающийся проектом KDE. Его функционал в базовом виде выходит за рамки просто редактирования файлов, поскольку он может и с git работать, и подсветку синтаксиса имеет. В целом, Kate можно было бы назвать лёгкой IDE из-за этого дополнительного функционала, если бы была возможность сборки программ.

Kate поставляется вместе с графической оболочкой KDE, поэтому если он используется, то Kate скорее всего уже установлен. В ином случае установить можно установить из репозиториев.

Доступ по SSH

Протокол ssh позволяет реализовать доступ к консоли сервера по IP. При установке дистрибутивов Astra, Alt и Ред ОС можно дополнительно установить и сервер ssh, но если пункт был упущен, то можно установить его следующим образом:

Astra:

sudo apt install openssh-server

Ред ОС:

sudo dnf install openssh-server

Альт:

sudo apt-get install openssh-server

После установки для всех ОС надо выполнить команду:

sudo systemctl enable ssh --now

Браузеры

Firefox

Debian/Ubuntu/Astra:

sudo apt install firefox

Ред ОС:

sudo dnf install firefox

Альт:

sudo apt-get install firefox

Chromium

Debian/Ubuntu/Astra:

sudo apt install chromium

Ред ОС:

sudo dnf install chromium

Альт:

sudo apt-get install chromium

Chromium-Gost

Astra:

sudo apt install chromium-gost

Ред ОС:

Скачиваем .rpm файл с актуальной версии релиза: github.com/deemru/chromium-gost/releases/. 

sudo dnf install liberation-fonts  # устанавливаем зависимости
sudo rpm -i chromium-gost.rpm

Перезагружаемся.

Альт:

sudo apt-get install chromium-gost

Yandex

Astra:

Скачиваем deb-пакет с сайта: browser.yandex.ru/.

sudo dpkg -i Yandex.deb && sudo apt –fix-broken install

Ред ОС:

Скачиваем rpm-пакет с сайта: browser.yandex.ru/.

sudo dnf install jq
sudo rpm -i Yandex.rpm

Альт:

sudo apt-get install yandex-browser-stable

Офисное программное обеспечение

libreoffice

Debian/Ubuntu/Astra:

sudo apt install libreoffice-common

Ред ОС:

sudo dnf install libreoffice

Альт:

sudo apt-get install libreoffice

Кроме того, можно использовать онлайн офисные пакеты Google и Yandex через браузеры.

Мессенджер

Telegram

Если Телеграм недоступен в официальном репозитории, то скачиваем телеграм для Linux с официального сайта: desktop.telegram.org.

tar -xf tsetup.tar.xz                #Распаковываем архив
chmod +x ./Telegram/Telegram         #Даем права на исполнение
./Telegram/Telegram                  #Запускаем установщик

После этого Телеграм устанавливается и сразу же запускается.

В Альт можно установить из официального репозитория:

sudo apt-get install telegram-desktop

Доверенные источники программного обеспечения под Linux, репозитории

Программы, распространяемые вместе с дистрибутивами Linux

После установки любого дистрибутива есть набор ПО, который сразу в него встроен. Обычно это grub, ядро Linux, bash, текстовые редакторы vim и nano, клиент ssh, множество консольных программ, библиотеки. Кроме того, если это пользовательский дистрибутив, то стоит какая-то графическая оболочка и какие-то приложения, но их состав может быть совершенно разным и зависит от конкретного дистрибутива.

Официальные и неофициальные репозитории

В ОС GNU/Linux большая часть программ распространяется через репозитории. Есть репозитории официальные, которые сразу добавлены в пакетный менеджер дистрибутива, но можно подключить и другие. При подключении репозитория установить программы можно через него таким же способом, как и для установки через официальный репозиторий. Все программы из стороннего репозитория как бы добавляются в общий список доступных, поэтому важно чтобы в пользовательском репозитории соблюдались зависимости пакетов из официального репозитория.

В целом, из-за зависимостей ПО, как правило, пакет поставляют специально подготовленным для основных дистрибутивов, если найдете приложение предназначенное для ОС GNU/Linux, то обычно увидите две версии: в формате deb-пакета и rpm-пакета.

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

Установка и управление приложениями, устанавливаемыми из репозиториев, с помощью пакетного менеджера

Debian/Ubuntu/Astra

Обновление репозитория:

apt update

Поиск:

apt search

Установка:

apt install

Обновление:

apt upgrade

Удаление:

apt remove

RHEL/Fedora/Ред ОС:

Поиск:

dnf search

Установка:

dnf install

Обновление:

dnf update

Удаление:

dnf remove

Альт:

Обновление репозитория:

apt-get update

Поиск:

apt-cache search

Установка:

apt-get install

Полное обновление:

apt-get dist-upgrade

Удаление:

apt-get remove

Это не полный список команд пакетных менеджеров, но это самые часто используемые команды. Подробную информацию всегда можно найти через команду man, например, man apt, либо в документации своего дистрибутива.

Самодостаточные пакеты и специализированные ресурсы

Кроме установки через пакетный менеджер из репозитория, еще существует вариант установки приложений через самодостаточные пакеты. Это пакеты, подготовленные для использования в Snap, Flatpak или готовые приложения в формате AppImage.

Приложения, установленные таким образом, требуют только определенную версию Snap и Flatpak, но не дистрибутива и пакетов в нем, благодаря чему такая установка будет подходить ко всем дистрибутивам. Однако, приложения установленные таким образом будут потреблять больше оперативной памяти и места на диске, поскольку библиотеки будут использоваться других версий, а не те, которые установлены в дистрибутиве, но при этом их установка будет всегда выглядеть одинаково, а поведение одинаково во всех дистрибутивах GNU/LInux.

У Microsoft была похожая идея с Dynamic-Link Library (DLL). Предполагалось, что приложения будут использовать одинаковые DLL, тем самым будут потреблять меньше места на диске и в оперативной памяти, но по итогу каждое приложение тянет за собой свои версии этих библиотек прямо в месте установки.

Похожая история произошла с пакетами Microsoft Visual C++ Redistributable. Для корректной работы всех программ нужно устанавливать все версии, начиная еще с версии 2005 года. Сам пакет представляет собой набор библиотек для программистов, но версии разных годов не совместимы между собой, поэтому если приложение требует версии конкретно 2005 года, то другая не подойдет. Сейчас есть общий пакет 2015–2022 года, поэтому для достаточно новых приложений может требоваться установка только его.

Snap

Astra:

sudo apt install snapd

Ред ОС:

sudo dnf install snapd

Альт:

sudo apt-get install snapd

После чего для всех:

sudo systemctl enable snapd --now
sudo snap install core

После чего приложения для установки можно будет искать на сайте snapcraft.io. Инструкции прилагаются к каждому приложению и не зависят от дистрибутива.

Flatpak

Astra:

sudo apt install flatpak

Ред ОС:

sudo dnf install flatpak

Альт:

sudo apt-get install flatpak

После чего для всех:

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Перезагрузиться.

Приложения для установки можно будет искать на сайте flathub.org. Инструкции прилагаются к каждому приложению и не зависят от дистрибутива.

AppImage

Программы поставляются в виде готовых образов, которые не требуют определенных зависимостей.

chmod +x ./name.Appimage         #даём права на запуск
./name.Appimage                  #запускаем

Эти действия можно выполнить и в графическом режиме.

По-сути можно сказать, что AppImage уже предустановлен в каждый дистрибутив GNU/Linux, но на самом деле файл просто подготовлен так, что среда уже находится в нём, в отличии от Flatpak и Snap.

Установка сервера 1С:Предприятия (8.3.20, 8.3.21, 8.3.22, 8.3.23) на отечественные дистрибутивы Linux

Рассмотрим установку и настройку серверов 1С:Предприятия 8.3.20 — 8.3.23 на отечественные дистрибутивы Альт Сервер, Ред ОС, Astra Linux Common Edition. Особенностью платформы с 20 версии стало то, что теперь дистрибутивы для Linux распространяются не в виде .deb или .rpm пакетов, а в виде run — файла, который упрощает установку.

Данный файл может быть запущен как в графическом режиме (в этом случае используется мастер установки, аналогичный windows-дистрибутивам платформ), так и из консоли. При запуске файла через консоль удобно пользоваться пакетным режимом, сразу перечислив необходимые компоненты в виде параметров. С перечнем доступных компонент можно ознакомиться в руководстве администратора соответствующей версии платформы. Об установке предыдущих версий 1С:Предприятия вы можете узнать из нашей статьи по установке 1С на ОС Ubuntu.

Перед установкой сервера 1С рекомендуется обновить систему, а также внести в файл hosts соответствие адреса 127.0.0.1 и имени сервера, хранящегося в /etc/hostname, что необходимо для запуска сервера 1С. При редактировании файлов можно использовать как текстовые редакторы, входящие дистрибутив по-умолчанию (vim, mcedit для Альт, nano для Astra, либо все три в Ред ОС), так и установить предпочтительный из репозиториев системы.

В нашем примере для единообразия везде приведен редактор nano. Рекомендации по обновлению системы взяты из официальных источников информации по соответствующим дистрибутивам (сайт или wiki).

Перейдем к установке сервера 1С для различных ОС.

Для начала создаем в домашнем каталоге текущего пользователя каталог для хранения установочных файлов:

mkdir distrib

Обновление ОС перед установкой сервера 1С

АЛЬТ Сервер

Обновление системы

Переход в режим суперпользователя:

su -

Обновление индекса пакетов:

apt-get update

Обновление пакетов:

apt-get dist-upgrade

Обновление ядра:

update-kernel

Очистка локального хранилища пакетного менеджера:

apt-get clean

Настройка сети

nano /etc/hosts
127.0.0.1    [ИМЯ КОМПЬЮТЕРА]

Перезагрузка для применения обновлений

reboot

Ред ОС

Обновление системы

sudo dnf update -y

Настройка сети

sudo nano /etc/hosts
127.0.0.1    [ИМЯ КОМПЬЮТЕРА]

Перезагрузка для применения обновлений

sudo reboot

Astra Linux

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

Просмотреть список сетевых интерфейсов

ip link

Обновление ОС перед установкой сервера 1С

В нашем примере используется сетевой интерфейс с именем eth0.

Отредактируем конфигурационный файл

sudo nano /etc/network/interfaces

Добавим туда правила для автоматического подключения интерфейса и указание на то, что необходимо использовать DHCP:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

Затем запустим интерфейс

sudo ifup eth0

Обновление системы

sudo apt update
sudo apt dist-upgrade

Настройка сети

sudo nano /etc/hosts
127.0.0.1    [ИМЯ КОМПЬЮТЕРА]

Перезагрузка для применения обновлений

sudo reboot

Установка и запуск сервера 1С

Дистрибутивы платформы рассматриваемых версий для Linux поставляются в архиве формата tar.gz, внутри которого находится установочный файл. Их можно загрузить непосредственно на сервер в графическом режиме, воспользоваться переносным носителем или передать по сети (например, утилитой scp). Рассмотрим последний способ для одного из архивов (файлы предварительно загружены на ПК, находящийся в той же локальной сети, что и сервер). Данный способ работает на Linux-системах, также по-умолчанию OpenSSH клиент присутствует в Windows, начиная с Windows 10 и Windows Server 2019.

На компьютере с файлами

scp ./server64_8_3_20_2184.tar.gz [ИМЯ ПОЛЬЗОВАТЕЛЯ]@[АДРЕС СЕРВЕРА]:~/distrib

На сервере распакуем архивы

tar -xf distrib/server64_8_3_20_2184.tar.gz

Все дальнейшие действия по установке и настройке сервера не отличаются для рассматриваемых ОС и должны выполняться от имени суперпользователя, поэтому необходимо либо однократно перейти в режим суперпользователя командой su -, либо использовать sudo перед вводимыми командами. 

Если используем su -

cd /home/[ИМЯ ПОЛЬЗОВАТЕЛЯ]/distrib/

Или если далее будем использовать sudo

cd distrib

Установка 1С в пакетном режиме

./setup-full-8.3.20.2184-x86_64.run --mode unattended --enable-components server,ws,ru
./setup-full-8.3.21.1644-x86_64.run --mode unattended --enable-components server,ws,ru
./setup-full-8.3.22.1750-x86_64.run --mode unattended --enable-components server,ws,ru
./setup-full-8.3.23.1437-x86_64.run --mode unattended --enable-components server,ws,ru
--mode unattended - включение пакетного режима вместо диалога в консоли.
--enable-components - указание системе на то, какие компоненты следует установить, далее перечисляется через запятую список компонентов.

Теперь перейдем непосредственно к запуску сервера. Необходимые для запуска файлы службы сервера входят в комплект поставки. Следует отметить, что до 20 версии платформы включительно эти файлы представляли собой скрипт и конфигурационный файл системы инициализации init. С 21 версии для запуска платформы предоставляется unit-файл системы инициализации systemd.

Поскольку рассматриваемые нами ОС используют именно эту систему, то и для запуска сервера 20 версии платформы мы будем использовать unit-файл. Его можно как сделать самостоятельно, воспользовавшись приведенным примером, так и скопировать из имеющейся у нас более свежей версии платформы. Воспользуемся вторым вариантом.

Скопируем файл службы и зададим ему имя, соответствующее запускаемой версии сервера

cp /opt/1cv8/x86_64/8.3.21.1644/srv1cv8-8.3.21.1644@.service /opt/1cv8/x86_64/8.3.20.2184/srv1cv8-8.3.20.2184@.service

Внесем изменения в скопированный файл

nano /opt/1cv8/x86_64/8.3.20.2184/srv1cv8-8.3.20.2184@.service

Необходимо в местах, содержащих упоминание версии платформы, заменить 8.3.21.1644 на 8.3.20.2184

Зарегистрируем службу в systemd

systemctl link /opt/1cv8/x86_64/8.3.20.2184/srv1cv8-8.3.20.2184@.service

Внесем изменения в экземпляр службы

systemctl edit srv1cv8-8.3.20.2184@default

Добавим блок Service и для удобства изменим предлагаемый по-умолчанию каталог данных кластера с /home/usr1cv8/.1cv8/1C/1cv8 на /home/usr1cv8/.1cv8/1C/1cv8-1540

[Service]
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8-1540

Включим службу и сразу же ключом --now запустим её

systemctl enable srv1cv8-8.3.20.2184@default --now

Для Astra Linux

systemctl enable srv1cv8-8.3.20.2184@ --now

Проверить статус службы можно командой

systemctl status srv1cv8-8.3.20.2184@default

Надпись active (running) в выводе команды говорит нам о том, что служба активна и функционирует.

Запустим сервера остальных версий. Поскольку мы запускаем сразу несколько экземпляров сервера 1С, то для них необходимо будет отредактировать экземпляры соответствующих служб, указав там другие порты. Приведем пример для 8.3.21:

Зарегистрируем службу в systemd

systemctl link /opt/1cv8/x86_64/8.3.21.1644/srv1cv8-8.3.21.1644@.service

Внесем изменения в экземпляр службы

systemctl edit srv1cv8-8.3.21.1644@default
[Service]
Environment=SRV1CV8_PORT=2540
Environment=SRV1CV8_REGPORT=2541
Environment=SRV1CV8_RANGE=2560:2591
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8-2540

Дальнейшие действия по запуску не отличаются от рассмотренных ранее

systemctl enable srv1cv8-8.3.21.1644@default --now
systemctl status srv1cv8-8.3.21.1644@default

Аналогичным образом поступим и для других версий сервера. Для 8.3.22 установим порты 3540, 3541, 3560-3591 и каталог /home/usr1cv8/.1cv8/1C/1cv8-3540, для 8.3.23 — 4540, 4541, 4560-4591, каталог /home/usr1cv8/.1cv8/1C/1cv8-4540.

Администрирование кластера на Linux может осуществляться в режиме 1С:Предприятия посредством специальной обработки («Функции для технического специалиста» — «Управление серверами») либо через сервер администрирования ras, который входит в комплект поставки платформы. Также, начиная с 21 версии 1С предоставляет unit-файл для запуска сервера администрирования в режиме демона. Как и в случае сервера, для версии 8.3.20 создадим подобный файл службы, воспользовавшись более новой версией платформы:

Скопируем файл службы

cp /opt/1cv8/x86_64/8.3.21.1644/ras-8.3.21.1644.service /opt/1cv8/x86_64/8.3.20.2184/ras-8.3.20.2184.service

Внесем изменения в скопированный файл

nano /opt/1cv8/x86_64/8.3.20.2184/ras-8.3.20.2184.service

Снова заменяем версию платформы с 8.3.21.1644 на 8.3.20.2184

Зарегистрируем службу в systemd и запустим

systemctl link /opt/1cv8/x86_64/8.3.20.2184/ras-8.3.20.2184.service
systemctl enable ras-8.3.20.2184 --now

Для остальных версий платформы изменим номера портов, по аналогии с сервером. Пример для 8.3.21:

Зарегистрируем службу в systemd

systemctl link /opt/1cv8/x86_64/8.3.21.1644/ras-8.3.21.1644.service

Внесем изменения в экземпляр службы

systemctl edit ras-8.3.21.1644
[Service]
Environment=RAS_PORT=2545
Environment=RAS_CLUSTER_ADDRESS=127.0.0.1:2540

Запустим службу

systemctl enable ras-8.3.21.1644.service --now

Для работы с сервером ras из командной строки предназначена утилита rac. С её помощью можно проверить подключение к кластеру:

Пример для 8.3.21

/opt/1cv8/x86_64/8.3.21.1644/rac cluster list localhost:2545

Наличие подобного ответа от сервера говорит об успешном подключении:

cluster                       : 786de767-8fb0-4a3c-8e3c-8d1190fb29f9
host                          : altserver
port                          : 2541
name                          : "Локальный кластер"
expiration-timeout            : 60
lifetime-limit                : 0
max-memory-size               : 0
max-memory-time-limit         : 0
security-level                : 0
session-fault-tolerance-level : 0
load-balancing-mode           : performance
errors-count-threshold        : 0
kill-problem-processes        : 1
kill-by-memory-with-dump      : 0

Установка и доступ к ключам защиты платформы 1С:Предприятие

Лицензирование 1С:Предприятия может быть построено на использовании 2 систем защиты: аппаратной и программной.

Подробное описание обеих систем, а также особенности их использования описаны в руководстве администратора платформы на сайте ИТС (its.1c.ru/section/dev/doc_dev). В рамках данной статьи рассмотрим их кратко.

Сетевая система защиты HASP (аппаратная защита)

Представляет собой usb-ключ на определенное количество пользователей. Для использования ключа необходимо установить драйвер. В руководстве администратора предлагается скачать драйвер HASP по ссылкам:

  • releases.1c.ru/project/AddCompDriverHASP,
  • thales-sentinel.ru/helpdesk/download-space/ (на момент написания статьи не работает).

Драйвер для Linux поставляется в виде архива формата tar.gz. Рассмотрим порядок его установки.

Распакуем скачанный архив и переходим в каталог с драйвером

tar -xzf Sentinel_LDK_Linux_Runtime_Installer_script.tar.gz
cd Sentinel_LDK_Linux_Run-time_Installer_script
tar -xzf aksusbd-8.43.1.tar.gz
cd aksusbd-8.43.1

С правами суперпользователя выполняем скрипт установки

./dinst

После установки будут активированы 2 службы.

Драйвер ключа

systemctl status aksusbd

Служба менеджера лицензий

systemctl status hasplmd

Программное лицензирование

Построено на использовании специального файла программной лицензии. Активация программной лицензии происходит помощником активации лицензий («Получить лицензию» или «Загрузить файл-ответ»)

Установка на сервере SLK для работы с типовыми решениями «1С‑Рарус»

Для запуска некоторых конфигураций требуются лицензии, управление которыми осуществляет отдельное приложение — сервер лицензирования и защиты конфигураций. Архив с дистрибутивом сервера доступен для загрузки на сайте licencecenter.com.

Актуальная версия сервера СЛК на момент написания статьи: licencecenter.com/downloads/licence/3.0/licence-3.0.30.10493-eu.zip.

Для загрузки файла в консольном режиме можно воспользоваться утилитами wget или curl в в зависимости от наличия их в конкретном дистрибутиве. Для распаковки архива необходима утилита unzip (в Astra Linux при минимальной установке отсутствует). Рассмотрим установку СЛК.

Создадим каталог для хранения установочных файлов

cd distrib
mkdir SLK && cd SLK

Загрузим архив с файлом:

wget https://licencecenter.com/downloads/licence/3.0/licence-3.0.30.10493-eu.zip

Или

curl -O https://licencecenter.com/downloads/licence/3.0/licence-3.0.30.10493-eu.zip

Astra

Установим unzip

sudo apt install unzip

Распакуем архивы с файлами

unzip licence-3.0.30.10493-eu.zip
unzip licenceserver-3.0.30.10493.zip

В режиме суперпользователя и установим deb-пакет сервера

sudo apt install ./licenceserver-3.0.30-10493.amd64.deb

Альт

Перейдем в режим суперпользователя и установим rpm-пакет сервера

su -
cd /home/[ИМЯ ПОЛЬЗОВАТЕЛЯ]/distrib/SLK/
apt-get install ./licenceserver-3.0.30-10493.x86_64.rpm

Ред ОС

В режиме суперпользователя и установим rpm-пакет сервера

sudo dnf install -y ./licenceserver-3.0.30-10493.x86_64.rpm

При установке служба сервера автоматически активируется и запустится. Проверим статус сервера

systemctl status licenceserver

Включение отладки раздельное

Для включения отладки требуется отредактировать файл службы, добавив туда ключ -debug, а затем перезапустить службу сервера:

systemctl edit srv1cv8-8.3.20.2184@default
Environment=SRV1CV8_DEBUG=-debug
systemctl restart srv1cv8-8.3.20.2184@default

Удаление установленной 1С

На примере 8.3.20.

Остановить службу сервера, ras

systemctl stop srv1cv8-8.3.20.2184@default.service
systemctl disable srv1cv8-8.3.20.2184@default.service
systemctl stop ras-8.3.20.2184.service
systemctl disable ras-8.3.20.2184.service

Запустить с правами суперпользователя скрипт деинсталляции

/opt/1cv8/x86_64/8.3.20.2184/uninstaller-full

Обновление релиза 1С

Для обновления релиза 1С необходимо остановить службы сервера и ras текущей версии так же, как и в случае с удалением, а затем установить новую версию.

Настройки службы (порты и путь к данным кластера) необходимо сделать такими же, как и настройки старой версии.

Установка PostgreSQL

Перейдем к установке сервера баз данных PostgreSQL. Следует отметить, что оригинальный PostgreSQL не подходит для работы с 1С и требуется использовать доработанную версию СУБД, например PostgreSQL с патчами от 1С или PostgresPRO.

В репозиториях Альт Линукс и Ред ОС присутствуют версии Postgres, предназначенные для работы с 1С, установим их. Для Astra Linux используем версию Postgres с патчами 1С, подготовленную командой PostgresPRO (получить подробную инструкцию можно пройдя короткий опрос на сайте 1c.postgres.ru ). При необходимости этот способ можно использовать и для других ОС.

Альт Линукс

Перейдем в режим суперпользователя

su -

Установим пакеты postgres

apt-get install postgresql14-1C postgresql14-1C-contrib postgresql14-1C-server glibc-i18ndata

Инициализируем базу данных

/etc/init.d/postgresql initdb

Запустим службу

systemctl enable postgresql --now

Ред ОС

Установим пакеты postgres

sudo dnf install postgresql-1c postgresql-1c-contrib
postgresql-1c-libs postgresql-1c-plperl postgresql-1c-plpython3 postgresql-1c-pltcl postgresql-1c-server

Установим пароль системному пользователю postgres

sudo passwd postgres

От имени пользователя postgres инициализируем базу данных

su - postgres
/usr/pgsql-14/bin/initdb
exit

Запустим службу

sudo systemctl enable postgresql-14 --now

Astra

Получаем скрипт подключения репозитория

wget https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh

Делаем исполняемым и запускаем

sudo chmod +x pgpro-repo-add.sh
sudo ./pgpro-repo-add.sh

Устанавливаем пакет postgres

sudo apt install postgrespro-1c-14

Управление БД

Управлять базами данных будем при помощи консольной утилиты psql. Изначально для СУБД создан один суперпользователь с именем postgres. Следует отметить, что способы авторизации под ним в различных сборках PostgreSQL могут отличаться. Настройки безопасности хранятся в конфигурационном файле pg_hba.conf в каталоге программы. В случае с Альт Линукс и Ред ОС он изначально содержит запись:

local   all             all                                 trust

Это позволяет авторизоваться в psql с именем postgres под любым пользователем ОС командой:

psql -U postgres

В случае с Astra Linux и пакетом postgrespro-1c-14 запись имеет вид:

local   all             all                                  peer,

Поэтому войти в psql можно только под системным пользователем postgres, пароль:

Установим пароль системному пользователю postgres

sudo passwd postgres

От имени пользователя postgres запустим psql

su - postgres
psql

Для удобства создадим отдельного пользователя СУБД usr1cv8 с правом создания баз данных

CREATE ROLE usr1cv8 WITH    LOGIN   SUPERUSER   INHERIT    CREATEDB   NOCREATEROLE   NOREPLICATION PASSWORD 'ПАРОЛЬ';

Проверить список пользователей можно командой

\du

Выход из psql осуществляется командой

\q

Воспользуемся утилитой rac для создания информационной базы.

Узнаем ID кластера

/opt/1cv8/x86_64/8.3.21.1644/rac cluster list localhost:2545

Создаем базу

/opt/1cv8/x86_64/8.3.21.1644/rac infobase create --create-database --name=testdb_2540 --dbms=PostgreSQL --locale=ru_RU  --db-server=localhost --db-name=testdb_2540 --d
b-user=usr1cv8  --db-pwd=[ПАРОЛЬ usr1cv8] --cluster=[ID КЛАСТЕРА] localhost:2545

Выведем список баз в кластере

/opt/1cv8/x86_64/8.3.21.1644/rac infobase summary list --cluster=[ID КЛАСТЕРА] localhost:2545

В ответ получим

infobase : 2e7c83ed-0afe-4abe-af7e-e43a0e628a8c
name     : testdb_2540
descr    :

Включим возможность серверу выдавать лицензии (необходимо, в частности, для работы веб-клиента)

/opt/1cv8/x86_64/8.3.21.1644/rac infobase --cluster=[ID КЛАСТЕРА] update --infobase=[ID БАЗЫ] --db-user=usr1cv8 --db-
pwd=[ПАРОЛЬ usr1cv8] --license-distribution=allow localhost:2545

Оптимизация postgres со сравнительными цифрами

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

Рекомендуемые значения можно взять из статей на ИТС:

  • https://its.1c.ru/db/metod8dev/content/5825/hdoc,
  • https://its.1c.ru/db/metod8dev#content:5866:hdoc.

Посмотреть все текущие настройки можно например в pg_admin с помощью такого запроса к динамическому представлению pg_settings:

SELECT 
	SOURCE,			--text	Источник текущего значения параметра
	sourcefile,		--text	Файл конфигурации, в котором было задано текущее значение (NULL для значений, полученных не из файлов конфигурации, или при чтении этого поля не суперпользователем); полезно при использовании указаний include в файлах конфигурации
	category,		--text	Логическая группа параметра
	name,			--text	Имя параметра конфигурации времени выполнения
	vartype,		--text	Тип параметра (bool, enum, integer, real или string)
	--setting,		--text	Текущее значение параметра
	--unit,			--text	Неявно подразумеваемая единица измерения параметра
	setting || CASE WHEN unit IS NULL THEN '' ELSE ' (' || unit || ')' END AS setting,
	--min_val,		--text	Минимальное допустимое значение параметра (NULL для нечисловых значений)
	--max_val,		--text	Максимально допустимое значение параметра (NULL для нечисловых значений)
	--enumvals,		--text[]	Допустимые значения параметра-перечисления (NULL для значений не перечислений)
	CASE WHEN enumvals IS NULL THEN min_val|| ' - ' ||max_val ELSE concat(enumvals) END AS vals,
	boot_val,		--text	Значение параметра, устанавливаемое при запуске сервера, если параметр не устанавливается другим образом
	reset_val,		--text	Значение, к которому будет сбрасывать параметр команда RESET в текущем сеансе
	--short_desc,	--text	Краткое описание параметра
	--extra_desc,	--text	Дополнительное, более подробное, описание параметра
	short_desc || CASE WHEN extra_desc IS NULL THEN '' ELSE '; ' || extra_desc END AS DESC,
	context,		--text	Контекст, в котором может задаваться значение параметра
	sourceline,		--integer	Номер строки в файле конфигурации, в которой было задано текущее значение (NULL для значений, полученных не из файлов конфигурации, или при чтении этого поля не суперпользователем)
	pending_restart	--boolean	true, если значение изменено в файле конфигурации, но требуется перезапуск; в противном случае — false.
FROM 
	pg_settings
ORDER BY SOURCE, sourcefile, category, name 
LIMIT 500
 

Подробнее об этом можно почитать в документации postgres postgrespro.ru/docs/postgresql/11/view-pg-settings.

Как правило, параметры задаются в конфигурационном файле postgresql.conf, который находится в каталоге программы.

В подтверждение рекомендации изменения базовых параметров мы провели небольшой эксперимент. На одном из тестовых серверов решили вернуть базовое значение параметра shared_buffers, уменьшив его с установленного значения 24 ГБ до стандартных 128 МБ.

Согласно документации:

  • shared_buffers (integer) — Задаёт объём памяти, который будет использовать сервер баз данных для буферов в разделяемой памяти. По умолчанию это обычно 128 мегабайт (12 8MB), но может быть и меньше, если конфигурация вашего ядра накладывает дополнительные ограничения (это определяется в процессе initdb). Это значение не должно быть меньше 128 килобайт. (Этот минимум зависит от величины BLCKSZ.) Однако для хорошей производительности обычно требуются гораздо большие значения. Задать этот параметр можно только при запуске сервера.

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

При этом:

  • замеряли время первого и второго выполнения;
  • для нивелирования влияния кэша операционной системы, перед каждым выполнением очищали его командой
    sync; echo 3 > /proc/sys/vm/drop_caches

В итоге получили такие цифры:

Оптимизация postgres со сравнительными цифрами

Как и ожидалось мы видим, что при первом запуске время выполнения практически не отличается, т. к. кэш ещё не «прогрет», и по сути не используется. А вот на втором и последующих выполнениях отчета при достаточном объеме буферного кэша время сократилось на ~3с (25%), в то время как стандартная настройка по сути заставила каждый раз считывать необходимые данные с диска.

Установка веб-сервера и публикация базы на веб-сервере

Для публикации на веб-сервере будем использовать Apache, поскольку публикация баз 1С:Предприятия в Linux возможна только на нем.

Альт Линукс

В режиме суперпользователя установим Apache и активируем службу сервера

su -
apt-get install apache2
systemctl enable httpd2.service --now
systemctl status httpd2.service

Создадим символьную ссылку на исполняемый файл веб-сервера для возможности его вызова командой httpd. Без этой ссылки запуск утилиты для публикации базы webinst завершится с ошибкой.

ln -s /usr/sbin/httpd2 /usr/sbin/httpd

Перейдем в каталог 1С:Предприятия и запустим утилиту webinst

cd /opt/1cv8/x86_64/8.3.21.1644/
./webinst -apache24 -wsdir testdb_2540 -dir /var/www/testdb_2540 -connstr "Srvr=altserver:2541;Ref=testdb_2540;" -confPath /etc/httpd2/conf/httpd2.conf

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

chmod 644 /var/www/testdb_2540/default.vrd

Перезапустим службу веб-сервера Apache

systemctl restart httpd2.service

Ред ОС

Устанавливаем веб-сервер и активируем службу

sudo dnf install httpd -y
sudo systemctl enable httpd --now
systemctl status httpd

Перейдем в каталог 1С:Предприятия и запустим утилиту webinst

cd /opt/1cv8/x86_64/8.3.21.1644/
sudo ./webinst -apache24 -wsdir testdb_2540 -dir /var/www/testdb_2540 -connstr "Srvr=redos:2541;Ref=testdb_2540;" -confPath /etc/httpd/conf/httpd.conf

Изменим настройки SELinux, без данного изменения получим ошибку при обращении к нашей базе по веб-ссылке:

sudo nano /etc/selinux/config

Вместо

SELINUX=enforcing

укажем

SELINUX=permissive

Далее необходимо перезагрузить сервер.

Astra

sudo apt install apache2
systemctl status apache2

cd /opt/1cv8/x86_64/8.3.21.1644/

sudo ./webinst -apache24 -wsdir testdb_2540 -dir /var/www/testdb_2540 -connstr "Srvr=astra:2541;Ref=testdb_2540;" -confPath /etc/apache2/apach
e2.conf

sudo systemctl restart apache2

После выполнения указанных действий созданная информационная база должны быть доступна в браузере по адресу:

[АДРЕС СЕРВЕРА]/testdb_2540

Оптимизация postgres со сравнительными цифрами

При подключении к информационной базе через ярлык запуска 1С:Предприятия с типом подключения «На сервере 1С:Предприятия» необходимо использовать не IP-адрес сервера, а его имя, в противном случае не получится подключиться к серверу.

Оптимизация postgres со сравнительными цифрами

Загрузим в созданную базу данных демо конфигурации «1С:УНФ 8. Управление предприятием общепита». Данная конфигурация использует защиту СЛК, поэтому при запуске потребуется указать параметры сервера с подходящими ключами защиты. После подключения к СЛК база готова к работе.

Оптимизация postgres со сравнительными цифрами

Продолжение цикла экспертных статей об использовании Linux для 1С

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

Мы и дальше продолжим знакомить вас с особенностями работы в линукс-системах, будем обращать внимание на важные моменты развертывания инфраструктуры с акцентом на то, что относится к 1С, постараемся углубляться в важные с точки зрения производительности и удобства работы аспекты.

Авторы статьи

Мытарев Александр
Данилкин Данила
Данилкин Данила
Борисенко Станислав
Борисенко Станислав
Есть вопросы по статье? Задайте их нам!
info-big
Рассылка «Новости компании»: узнавайте о новых продуктах, услугах и спецпредложениях
Отправляя эту форму, Вы соглашаетесь с Политикой конфиденциальности и даете согласие на обработку персональных данных компанией «1С-Рарус»

Остались вопросы?
Нужна консультация?
Свяжитесь с нами!