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

В этой статье вы найдёте актуальную на 2026 год методику переноса 1С на Linux, включая выбор дистрибутива, установку серверных компонентов, настройку PostgreSQL или MS SQL Server (да, он тоже работает на Linux!), а также решения типичных проблем миграции. Мы разберём как вариант с полной заменой серверной части, так и гибридные схемы с сохранением Windows-клиентов.

Важно: перенос 1С на Linux требует не только технических навыков, но и учёта лицензионных ограничений. Некоторые конфигурации (например, 1С:Зарплата и Управление Персоналом) могут иметь специфические требования к платформе — это нужно уточнять заранее у вендора или партнёра 1С.

Почему стоит переносить 1С на Linux: 5 ключевых преимуществ

Главный вопрос, который задают перед миграцией: «А оно того стоит?» Давайте разберём объективные плюсы, которые получают компании после перехода:

  • 💰 Экономия на лицензиях: Нет необходимости покупать Windows Server и CAL-лицензии для каждого пользователя. Даже с учётом стоимости поддержки Linux-дистрибутивов (например, RHEL или SUSE) экономия составляет 30–50% в год.
  • 🛡️ Повышенная стабильность: Linux-сервера реже требуют перезагрузок, лучше работают с большими нагрузками и менее подвержены вирусным атакам.
  • 🔧 Гибкость настройки: Возможность тонкой кастомизации ядра, файловой системы и сетевых параметров под конкретные задачи 1С.
  • 📈 Масштабируемость: Проще организовывать кластеры для высокой доступности (например, с Patroni для PostgreSQL) или контейнеризацию (через Docker или Podman).
  • 🌍 Поддержка облачных платформ: Большинство облачных провайдеров (AWS, Yandex Cloud, Selectel) оптимизированы для Linux и предлагают готовые образы с предустановленным ПО для 1С.

Однако есть и нюансы. Например, не все внешние обработки и отчёты будут работать на Linux-клиенте из-за зависимости от Windows API. Также может потребоваться доработка скриптов, использующих COM-объекты или OLE-автоматизацию (например, для интеграции с Excel или Word).

⚠️ Внимание: Если ваша конфигурация 1С активно использует ActiveX-компоненты или сторонние драйвера (например, для фискальных регистраторов), их работа на Linux может быть невозможна без эмуляции через Wine или виртуальных машин.

Выбор дистрибутива Linux для 1С: сравнение вариантов

Не все дистрибутивы одинаково хорошо подходят для развёртывания 1С. Основные критерии выбора:

  • 📦 Наличие официальных пакетов для 1С:Предприятие и PostgreSQL.
  • 🔄 Длительность поддержки (LTS-версии предпочтительны).
  • 🛠️ Удобство администрирования (наличие графических утилит, если нужны).
  • 🤝 Совместимость с оборудованием (особенно если используются фискальные устройства).
Дистрибутив Поддержка 1С Рекомендуемая версия Плюсы Минусы
Ubuntu Server Официальная (через репозитории 1С) 22.04 LTS / 24.04 LTS Простота установки, большое сообщество, хорошая документация Частые обновления ядра могут требовать пересборки модулей
Debian Официальная 12 (Bookworm) Стабильность, минимализм, долгая поддержка Менее актуальные версии ПО в стандартных репозиториях
CentOS Stream Через ручную установку 9 Близость к RHEL, хорошая поддержка enterprise-решений Сложнее настройка для новичков, менее дружелюбен к 1С
Alt Linux Официальная (специализированные сборки) 10.1 Оптимизирован для 1С, есть готовые образы для виртуализации Меньше специалистов на рынке, ограниченная документация

Для большинства задач мы рекомендуем Ubuntu Server 22.04 LTS — он обеспечивает баланс между стабильностью и актуальностью ПО. Если же приоритет — максимальная совместимость с enterprise-инфраструктурой, стоит рассмотреть Alt Linux (есть специализированные решения для 1С) или RHEL (платно, но с гарантированной поддержкой).

📊 Какой дистрибутив Linux вы используете для 1С?
Ubuntu
Debian
CentOS/RHEL
Alt Linux
Другой

Подготовка сервера: требования и предварительные настройки

Перед установкой 1С необходимо подготовить сервер. Минимальные требования к железу и ПО:

  • 🖥️ Аппаратные требования:
    • Процессор: 4 ядра (рекомендуется 8+ для баз с 50+ пользователями).
    • ОЗУ: 8 ГБ (16 ГБ и более для крупных баз).
    • Диск: SSD с ёмкостью от 100 ГБ (для базы + логов).
    • Сеть: Статический IP, скорость от 1 Гбит/с.
  • 🐧 Программные зависимости:
    sudo apt update
    

    sudo apt install -y wget curl gnupg2 lsb-release ca-certificates

Особое внимание уделите настройке файервола (ufw или firewalld). Для работы 1С необходимо открыть порты:

  • 1540-1541 — для сервера 1С:Предприятие;
  • 1560-1591 — для кластера серверов;
  • 5432 — для PostgreSQL (или 1433 для MS SQL).

Также проверьте лимиты открытых файлов и процессов (для PostgreSQL важно увеличить ulimit -n до 65536). Это можно сделать, отредактировав файл /etc/security/limits.conf:

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

⚠️ Внимание: Если вы используете виртуальную машину (VMware, Hyper-V, KVM), убедитесь, что в настройках гостевой ОС включена опция Precision Time Protocol (PTP) или NTP-синхронизация. Рассогласование времени между сервером 1С и СУБД может приводить к ошибкам блокировок!

Установить минимальную версию ОС без графического интерфейса|

Обновить все пакеты (apt update && apt upgrade)|

Настроить статический IP-адрес|

Открыть необходимые порты в файерволе|

Увеличить лимиты открытых файлов (ulimit)|

Проверить синхронизацию времени (chrony/ntp)-->

Установка сервера 1С:Предприятие на Linux

Официальные пакеты для 1С доступны в репозиториях фирмы «1С». Процесс установки включает несколько этапов:

  1. Добавление репозитория 1С:
    wget https://releases.1c.ru/1c-company/deb/1c-company.list -O /etc/apt/sources.list.d/1c-company.list
    

    wget -qO - https://releases.1c.ru/1c-company/deb/1c-company-key.gpg | sudo apt-key add -

  2. Установка серверного ПО:
    sudo apt update
    

    sudo apt install -y 1c-enterprise83-server 1c-enterprise83-server-nls 1c-enterprise83-ws

    Здесь 83 — версия платформы (на 2026 год актуальна 8.3.23+).

  3. Настройка кластера:

    После установки необходимо инициализировать кластер серверов 1С. Для этого используйте утилиту rac (Remote Administration Console):

    sudo /opt/1cv8/x86_64/8.3.23.1234/rac cluster --cluster=MyCluster1C create --daemon=yes --port=1541 --range=1560:1591 --debug=yes

    Где MyCluster1C — имя вашего кластера, а 8.3.23.1234 — версия платформы (уточните актуальную команду в документации).

Для управления кластером можно использовать консоль администрирования (rac) или веб-интерфейс (порт 1545 по умолчанию). Логин/пароль для входа по умолчанию: Администратор / пустой пароль (измените его сразу после первого входа!).

💡

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

Настройка СУБД: PostgreSQL vs MS SQL Server на Linux

Выбор СУБД для 1С на Linux зависит от нескольких факторов: лицензионной политики, требований к производительности и существующей инфраструктуры. Рассмотрим оба варианта.

Вариант 1: PostgreSQL (рекомендуемый)

PostgreSQL — бесплатная СУБД с открытым кодом, официально поддерживаемая 1С с версии платформы 8.3.10. Для установки:

sudo apt install -y postgresql-15 postgresql-contrib-15

sudo systemctl enable postgresql

sudo systemctl start postgresql

После установки создайте пользователя и базу для 1С:

sudo -u postgres psql -c "CREATE USER usr1cv8 WITH PASSWORD 'ВашПароль';"

sudo -u postgres psql -c "CREATE DATABASE db1cv8 OWNER usr1cv8 ENCODING 'UTF8' LC_COLLATE 'ru_RU.UTF-8' LC_CTYPE 'ru_RU.UTF-8';"

Вариант 2: MS SQL Server (для миграции с Windows)

Если вы переносите базу с MS SQL Server и хотите сохранить совместимость, можно установить его на Linux. Однако учтите:

  • 🔹 Требуется лицензия на MS SQL (стоимость не снижается).
  • 🔹 Поддерживаются не все функции (например, FileStream работает ограниченно).
  • 🔹 Производительность может быть ниже, чем на Windows.

Установка MS SQL Server на Ubuntu:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"

sudo apt update

sudo apt install -y mssql-server

sudo /opt/mssql/bin/mssql-conf setup

⚠️ Внимание: При использовании MS SQL Server на Linux отключите forced parameterization в настройках базы! Это известная проблема, приводящая к ошибкам блокировок в 1С. Команда для проверки:
sp_configure 'show advanced options', 1;

RECONFIGURE;

sp_configure 'force parameterization', 0;

RECONFIGURE;

Параметр PostgreSQL MS SQL Server
Стоимость лицензии Бесплатно Платная (от ~$1000 за ядро)
Производительность на Linux Высокая (оптимизирован драйвер 1С) Средняя (возможны лаги при сложных запросах)
Поддержка 1С Полная (с 8.3.10) Полная, но с оговорками
Резервное копирование Через pg_dump или barman Через sqlcmd или SQL Server Management Studio (через Wine)

Перенос базы данных: пошаговая инструкция

Перенос базы 1С с Windows на Linux состоит из трёх этапов: выгрузка, перенос файлов и загрузка. Рассмотрим процесс для PostgreSQL (для MS SQL логика аналогична, но используются другие утилиты).

  1. Выгрузка базы на Windows:

    Используйте утилиту pg_dump (если база уже на PostgreSQL) или chdbfl.exe (для файлового варианта 1С):

    "C:\Program Files\1cv8\8.3.23.1234\bin\chdbfl.exe" D:\Bases\MyBase /DumpIB D:\Backup\MyBase.dt
  2. Перенос файлов на Linux-сервер:

    Скопируйте дамп базы (файл .dt или .sql) на Linux-сервер с помощью scp или rsync:

    scp D:\Backup\MyBase.dt user@linux-server:/home/user/backups/
  3. Загрузка базы на Linux:

    Для PostgreSQL:

    sudo -u postgres psql -d db1cv8 -f /home/user/backups/MyBase.sql

    Для файлового варианта 1С:

    /opt/1cv8/x86_64/8.3.23.1234/1cv8 DESIGNER /F /home/user/backups/MyBase.dt /RestoreIB -force

После загрузки базы обязательно проверьте целостность данных через Тестирование и исправление в конфигураторе 1С. Особое внимание уделите:

  • 🔍 Ссылочной целостности (ошибки типа «Не найден объект X»).
  • 🗃️ Правам доступа (пользователи и роли должны перенестись корректно).
  • 📅 Последовательностям документов (нумерация не должна сбиться).
Что делать если база не загружается?

Если при загрузке дампа возникает ошибка "ERROR: invalid byte sequence for encoding "UTF8", значит в исходной базе были символы в неверной кодировке. Решение:

1. Выгрузите базу повторно с параметром --encoding=WIN1251 (для pg_dump).

2. Преобразуйте файл в UTF-8 с помощью iconv:

iconv -f WIN1251 -t UTF-8 MyBase.sql > MyBase_utf8.sql

3. Попробуйте загрузить исправленный дамп.

Настройка клиентских мест и интеграция с Windows

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

  • 🖥️ Полный переход на Linux-клиенты:

    Установите 1С:Предприятие для Linux на рабочие станции. Поддерживаются дистрибутивы: Ubuntu, Debian, Alt Linux, RHEL. Установка:

    sudo apt install -y 1c-enterprise83 1c-enterprise83-nls

    Для запуска используйте команду:

    /opt/1cv8/x86_64/8.3.23.1234/1cv8
  • 🪟 Гибридная схема (Linux-сервер + Windows-клиенты):

    На Windows-машинах достаточно указать новый адрес сервера 1С в строке подключения (например, linux-server:1541\MyBase). Дополнительные настройки не требуются.

  • 🌐 Веб-доступ через браузер:

    Настройте веб-сервер (Apache или Nginx) для работы с 1С через тонкий клиент. Пример конфигурации для Nginx:

    server {
    

    listen 80;

    server_name 1c.yourdomain.ru;

    location / {

    proxy_pass http://localhost:1545;

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    }

    }

Для интеграции с Active Directory (если нужна авторизация по доменным учёткам) используйте sssd или Winbind. Пример настройки sssd:

[domain/yourdomain.ru]

id_provider = ad

access_provider = ad

ldap_id_mapping = true

use_fully_qualified_names = false

⚠️ Внимание: При использовании тонкого клиента 1С на Linux может не работать печать через CUPS для некоторых моделей принтеров. Решение — настройка Samba-шары с драйверами или использование универсальных драйверов (например, HPLIP для принтеров HP).
💡

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

Типичные ошибки и их решения

Даже при аккуратном переносе могут возникать проблемы. Мы собрали наиболее частые ошибки и способы их устранения:

Ошибка Причина Решение
Ошибка формата потока (Позиция: X) Повреждение файла базы при переносе или неверная кодировка Повторите выгрузку/загрузку с проверкой контрольных сумм (md5sum). При необходимости используйте iconv для конвертации кодировки.
Не найден ключ защиты программы Лицензионный ключ привязан к аппаратному идентификатору (HASP) Перенесите ключ на новый сервер через Личный кабинет 1С или используйте программные лицензии.
Нет соединения с сервером 1С:Предприятие Порт 1541 закрыт файерволом или не запущен кластер Проверьте статус кластера (rac cluster list) и настройки ufw/iptables.
Ошибка блокировки при работе с MS SQL Включён force parameterization в MS SQL Отключите параметр (см. раздел про MS SQL выше).
Не удаётся подключиться к базе PostgreSQL Неверные права доступа или настройки pg_hba.conf Проверьте файл /etc/postgresql/15/main/pg_hba.conf и добавьте строку:
host    all             all             192.168.1.0/24           md5

Затем перезапустите PostgreSQL (systemctl restart postgresql).

Если проблема не решена, проверьте логи сервера 1С (/var/log/1C/1cv83/) и логи СУБД (/var/log/postgresql/ или /var/opt/mssql/log/). Для диагностики сетевых проблем используйте tcpdump или wireshark.

💡

Если 1С на Linux работает медленно, проверьте нагрузку на диск (iostat -x 1). Частая причина тормозов — использование ext4 вместо xfs для базы PostgreSQL. Рекомендуем отформатировать раздел под базу в xfs и перенести данные.

FAQ: Ответы на частые вопросы

Можно ли перенести 1С на Linux без остановки работы?

Да, но для этого нужно:

  1. Настроить репликацию базы данных (например, через PostgreSQL Streaming Replication или MS SQL Always On).
  2. Поднять второй кластер 1С на Linux и подключить его к реплике базы.
  3. После синхронизации данных перенаправить пользователей на новый сервер (через DNS или балансировщик).

Минимальное время простоя — 5–10 минут для финального переключения.

Какие версии 1С поддерживаются на Linux?

На 2026 год официально поддерживаются:

  • Платформа 1С:Предприятие 8.3.23+ (включая 8.3.24).
  • Конфигурации: Бухгалтерия 3.0, Управление торговлей 11, ERP 2.5, Зарплата и управление персоналом 3.1 (с оговорками).

Для устаревших конфигураций (например, 1С:Бухгалтерия 2.0) может потребоваться обновление перед переносом.

Нужно ли покупать новые лицензии 1С для работы на Linux?

Нет, если у вас:

  • Программные лицензии (привязаны к учётной записи, а не к железу).
  • Aппаратные ключи HASP с поддержкой переноса (уточните в Личном кабинете 1С).

Однако клиентские лицензии на Linux покупаются отдельно (если используете нативный клиент под Linux). Лицензии для Windows-клиентов остаются действительными.

Как организовать резервное копирование 1С на Linux?

Рекомендуемые инструменты:

  • Для PostgreSQL: pg_dump + rsync на удалённый сервер.
  • Для MS SQL: sqlcmd с скриптом бэкапа.
  • Для файлового варианта: tar или borgbackup.

Пример скрипта для автоматического бэкапа PostgreSQL:

#!/bin/bash

BACKUP_DIR="/backups/1c"

DATE=$(date +%Y-%m-%d)

pg_dump -U usr1cv8 -F c -f $BACKUP_DIR/db1cv8_$DATE.dump db1cv8

find $BACKUP_DIR -type f -mtime +30 -delete

Не забывайте тестировать восстановление из бэкапов!

Можно ли использовать Docker для развёртывания 1С на Linux?

Да, но с оговорками:

  • 🔹 Официальных образов 1С для Docker нет, но есть сообщественные (например, advants/1c-enterprise).
  • 🔹 Не рекомендуется для производственных баз из-за сложностей с лицензированием и производительностью.
  • 🔹 Подходит для тестовых сред или разработки.

Пример docker-compose.yml для тестового развёртывания:

version: '3'

services:

postgres:

image: postgres:15

environment:

POSTGRES_PASSWORD: "1C_Passw0rd"

POSTGRES_DB: "db1cv8"

volumes:

- ./pgdata:/var/lib/postgresql/data

ports:

- "5432:5432"

server1c:

image: advants/1c-enterprise:8.3.23

ports:

- "1540-1541:1540-1541"

- "1560-1591:1560-1591"

depends_on:

- postgres