Как организовать работу сервера 1С на Linux в промышленной эксплуатации и решить проблемы совместимости?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Перевод сервера 1С:Предприятие на операционные системы семейства Linux — это стратегическая задача, которая требует глубокого понимания отличий архитектуры систем. В условиях импортозамещения и минимизации лицензионных рисков многие компании переходят на такие дистрибутивы, как Astra Linux, Ubuntu или CentOS. Рассмотрим подробно, с какими вызовами сталкиваются администраторы и разработчики при эксплуатации 1С в продакшене на Linux, и разберем проверенные способы их решения.

Работа с офисными документами и PDF на стороне сервера

Одной из главных проблем при отказе от Windows считается невозможность использования COM-объектов Excel.Application или Word.Application. Однако современные версии платформы 1С (начиная с 8.3.14) позволяют минимизировать зависимость от внешних приложений. Разберем основные сценарии работы с файлами:

Решение проблемы отсутствия OLE и COM-соединений

Технология OLE/COM является проприетарной для Microsoft Windows и не поддерживается на Linux. Рассмотрим, как перестроить интеграции, если у вас «куча обменов на COM», написанных много лет назад:

  1. Переход на HTTP и Web-сервисы: Это самый современный и надежный способ. Вместо прямого подключения к базе через COM-соединение, создадим в целевой базе HTTP-сервис. Это позволит передавать данные в формате JSON или XML. Такой обмен работает быстрее, безопаснее и не зависит от операционной системы.
  2. Внешние источники данных: Если обмен идет на уровне СУБД, используем механизм ВнешниеИсточникиДанных. 1С на Linux прекрасно работает с PostgreSQL, MS SQL (через ODBC драйверы) и другими базами данных.
  3. Использование «Шлюза» на Windows: Если архитектура системы не позволяет быстро отказаться от COM-объекта (например, специфическое оборудование или закрытая внешняя система), воспользуемся методом гибридной инфраструктуры. Выделим одну небольшую виртуальную машину на Windows, которая будет выступать в роли шлюза. Сервер 1С на Linux будет обращаться к этой машине по HTTP, а она, в свою очередь, будет выполнять необходимые COM-действия.

Настройка шрифтов и решение проблем с версткой

При миграции на Linux часто наблюдается эффект «разъезжания» печатных форм. Текст, который идеально помещался в границы ячейки на Windows, на Linux начинает переноситься на новую строку. Выясним причину: это связано с различиями в рендеринге шрифтов (движки FreeType vs ClearType) и отсутствием стандартных шрифтов Microsoft.

Для минимизации проблем выполним следующие шаги:

  1. Установим пакет ttf-mscorefonts-installer для добавления шрифтов Arial, Times New Roman, Courier New в систему.
  2. В качестве альтернативы рассмотрим использование шрифтов PT Astra Sans и PT Astra Serif. Они являются метрическими аналогами стандартных шрифтов MS и позволяют сохранить верстку печатных форм без изменений.
  3. Настроим fontconfig на сервере, чтобы система корректно подставляла аналоги шрифтов, если оригиналы не найдены.

Подключение торгового и промышленного оборудования

Работа с весами, кассами (ККТ) и эквайрингом на Linux требует особого подхода. Большинство современных драйверов от Атол и Штрих-М уже имеют нативные версии для Linux в виде файлов .so. Рассмотрим по шагам, как заставить оборудование работать:

Права доступа: Пользователь, под которым запущен процесс сервера 1С (обычно это usr1cv8), по умолчанию не имеет доступа к аппаратным портам. Нам необходимо добавить его в соответствующие группы. Выполним команду в терминале:


sudo usermod -a -G lp usr1cv8
sudo usermod -a -G dialout usr1cv8
sudo usermod -a -G tty usr1cv8

Эквайринг Сбербанка: Проанализируем ситуацию с банковскими терминалами. Сбербанк уже предоставляет нативные библиотеки для Linux (компоненты libSberAcquiringTerminalNativeLin64.so). Их необходимо загрузить в конфигурацию 1С как макеты и использовать штатные механизмы БПО (Библиотека подключаемого оборудования).

Использование Wine: В самых сложных случаях, когда драйвер существует только под Windows, можно использовать Wine. Например, драйверы некоторых старых моделей весов или принтеров этикеток успешно запускаются через Wine, создавая символьные ссылки на COM-порты (например, ln -s /dev/ttyS0 ~/.wine/dosdevices/com1).

Администрирование кластера 1С без консоли Windows

Отсутствие привычной оснастки MMC (консоль администрирования) часто пугает начинающих администраторов Linux. Разберем, как управлять сервером профессионально:

/opt/1cv8/x86_64/8.3.XX.XXXX/rac infobase --cluster=UUID_КЛАСТЕРА summary list

Оптимизация производительности Linux-сервера

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

Использование tmpfs: Перенос временных файлов сервера в оперативную память позволяет существенно ускорить работу. Отредактируем /etc/fstab, чтобы вынести каталог /tmp в память:

tmpfs /tmp tmpfs rw,nosuid,nodev 0 0

Регистрозависимость: Помните, что Linux различает большие и маленькие буквы в именах файлов. Если в коде 1С указан путь /Invoices/Data.xml, а файл называется data.xml, система его не увидит. Проанализируем весь существующий код на предмет жестко прописанных путей перед миграцией.

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

← На главную