Переход с Windows-ориентированной инфраструктуры на ОС семейства Linux (например, Ubuntu, CentOS или Astra Linux) в связке с СУБД PostgreSQL часто преподносит сюрпризы администраторам и разработчикам 1С. Одной из наиболее распространенных проблем является невозможность выбрать «Прямое подключение» в мастере настройки синхронизации данных. Разберем детально, почему это происходит и как правильно организовать обмен данными в новых условиях.
Проанализируем техническую сторону вопроса. В операционной среде Windows «Прямое подключение» между базами 1С реализуется через технологию COM (Component Object Model). За это отвечает библиотека comcntr.dll (COM-соединитель). При настройке обмена одна база буквально вызывает другую через системные механизмы Windows.
В Linux-версии сервера «1С:Предприятие» технология COM отсутствует в принципе, так как она является проприетарной разработкой Microsoft. Следовательно, библиотека comcntr.dll не может быть зарегистрирована или запущена. Платформа 1С, «видя», что сервер запущен под Linux, автоматически скрывает или блокирует функционал, зависящий от COM. Поэтому восстановить «Прямое подключение» в том виде, к которому вы привыкли на Windows, невозможно. Нам необходимо рассмотреть альтернативные и более современные способы обмена.
Рассмотрим самый надежный способ настройки синхронизации для Linux-серверов — обмен через веб-сервис (HTTP/HTTPS). Этот метод не зависит от операционной системы и работает значительно стабильнее файловых шар.
Разберем процесс по шагам:
webinst) обязательно нужно установить флажок «Публиковать стандартные интерфейсы OData» и убедиться, что веб-сервис Interface_EnterpriseDataExchange (или аналогичный в зависимости от конфигурации) доступен.http://server/base_name), логин и пароль пользователя с правами на обмен.Этот подход позволяет избежать проблем с правами доступа к файловой системе и является стандартным для современных облачных решений.
Если использование веб-сервисов по каким-то причинам невозможно, проанализируем ситуацию с файловым обменом. Часто пользователи пытаются указать привычный путь вида \\server\share, но в Linux такая нотация не работает. Выясним, как правильно настроить доступ к папкам.
Для того чтобы сервер 1С на Linux мог работать с сетевой папкой, её необходимо «примонтировать» к файловой системе сервера как локальный каталог. Рассмотрим последовательность действий:
cifs-utils (для работы с Windows-шарами SMB).mkdir /mnt/1c_exchange.
mount -t cifs //192.168.0.1/exchange_folder /mnt/1c_exchange -o user=domain_user,pass=password,domain=your_domain,uid=usr1cv8,gid=grp1cv8
uid и gid пользователя, от имени которого запущен сервер 1С (обычно это usr1cv8)./mnt/1c_exchange/. Помните, что Linux чувствителен к регистру символов: /Mnt/Exchange/ и /mnt/exchange/ — это разные пути.Проанализируем дополнительные факторы, которые могут привести к ошибкам при настройке синхронизации:
Права доступа. Самая распространенная ошибка — отсутствие прав у пользователя ОС usr1cv8 на запись в каталог обмена. Даже если вы примонтировали папку под root, сервер 1С не сможет в неё писать без явного указания прав. Проверим права командой:
chown -R usr1cv8:grp1cv8 /mnt/1c_exchange
chmod -R 770 /mnt/1c_exchange
Универсальный формат EnterpriseData. При работе на Linux настоятельно рекомендуем использовать обмен через «Универсальный формат передачи данных». Он минимизирует зависимость от платформенных функций (таких как COM) и лучше оптимизирован под работу в гетерогенных сетях (смесь Windows и Linux).
Регистрозависимость. Посмотрим на типичную ситуацию: если в настройках обмена указано имя файла Message_001_002.xml, а система создала message_001_002.xml, Linux-сервер выдаст ошибку «Файл не найден». Всегда придерживайтесь единого регистра в именовании папок и префиксов баз.
Подводя итог, можно сказать, что «лечение» проблемы отсутствия прямого подключения заключается в смене парадигмы настройки. Вместо попыток эмулировать Windows-механизмы, следует перейти на использование веб-сервисов. Это не только решит текущую проблему с переносом на Linux, но и сделает вашу систему обмена более отказоустойчивой и масштабируемой.