Перевод сервера 1С:Предприятие на операционные системы семейства Linux — это стратегическая задача, которая требует глубокого понимания отличий архитектуры систем. В условиях импортозамещения и минимизации лицензионных рисков многие компании переходят на такие дистрибутивы, как Astra Linux, Ubuntu или CentOS. Рассмотрим подробно, с какими вызовами сталкиваются администраторы и разработчики при эксплуатации 1С в продакшене на Linux, и разберем проверенные способы их решения.
Одной из главных проблем при отказе от Windows считается невозможность использования COM-объектов Excel.Application или Word.Application. Однако современные версии платформы 1С (начиная с 8.3.14) позволяют минимизировать зависимость от внешних приложений. Разберем основные сценарии работы с файлами:
ЧтениеXML или специализированные библиотеки из состава БСП (Библиотека стандартных подсистем), которые работают с форматами напрямую через структуру XML. Это не только избавляет от необходимости устанавливать офисные пакеты, но и существенно ускоряет процесс обработки данных.libgs (Ghostscript) или ImageMagick. Также на стороне сервера должны быть установлены шрифты, идентичные тем, что использовались при разработке макетов.Технология OLE/COM является проприетарной для Microsoft Windows и не поддерживается на Linux. Рассмотрим, как перестроить интеграции, если у вас «куча обменов на COM», написанных много лет назад:
HTTP-сервис. Это позволит передавать данные в формате JSON или XML. Такой обмен работает быстрее, безопаснее и не зависит от операционной системы.ВнешниеИсточникиДанных. 1С на Linux прекрасно работает с PostgreSQL, MS SQL (через ODBC драйверы) и другими базами данных.При миграции на Linux часто наблюдается эффект «разъезжания» печатных форм. Текст, который идеально помещался в границы ячейки на Windows, на Linux начинает переноситься на новую строку. Выясним причину: это связано с различиями в рендеринге шрифтов (движки FreeType vs ClearType) и отсутствием стандартных шрифтов Microsoft.
Для минимизации проблем выполним следующие шаги:
ttf-mscorefonts-installer для добавления шрифтов Arial, Times New Roman, Courier New в систему.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).
Отсутствие привычной оснастки MMC (консоль администрирования) часто пугает начинающих администраторов Linux. Разберем, как управлять сервером профессионально:
ras (Remote Administration Server) — это серверная часть, которую нужно запустить как службу. rac (Remote Administration Client) — это консольная утилита, позволяющая создавать базы, управлять сеансами и настраивать рабочие процессы.rac, мы можем написать скрипты на Bash для автоматического создания бэкапов, завершения «зависших» сеансов или очистки серверного кэша. Посмотрим на пример команды для получения списка информационных баз:
/opt/1cv8/x86_64/8.3.XX.XXXX/rac infobase --cluster=UUID_КЛАСТЕРА summary list
Чтобы сервер работал «быстро, модно, молодежно», проанализируем настройки операционной системы. 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-сервер.