1С:Предприятие 8.3 в Linux без Wine: клиент, сервер и PostgreSQL

· 9 мин

Содержание

Чтобы установить 1С на Linux, скачайте с портала обновлений дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Linux», распакуйте архив и запустите установщик setup-full-…-x86_64.run от root. Wine для этого не нужен: у 1С:Предприятия 8.3 есть родной клиент и сервер под Linux, они ставятся как обычная программа.

Способов три, и выбор простой. Нативная установка — для рабочих мест и сервера. Виртуальная машина с Windows — когда нужна внешняя компонента или драйвер оборудования только под Windows. Wine — крайний вариант, к нему прибегают по инерции, и он даёт больше проблем, чем решает.

Какой Linux выбрать под 1С

1С тестирует платформу на конкретных семействах дистрибутивов. На них установка проходит без сюрпризов, на экзотике придётся вручную добирать библиотеки.

ДистрибутивДля чего братьТип пакетов
Ubuntu LTS (22.04, 24.04)рабочие места, тестовые серверыDEB
Debian 11–12серверы 1С и PostgreSQLDEB
Astra Linuxгоссектор, требования ФСТЭКDEB
РЕД ОСимпортозамещение, серверыRPM
Альт (Рабочая станция, Сервер)импортозамещениеRPM

Несколько практических соображений:

  • 🖥️ Для рабочего места бухгалтера удобнее Ubuntu или Astra с графической средой — шрифты и печать там настраиваются быстрее.
  • 🗄️ Для сервера берите LTS-релиз без графики. Сервер 1С и PostgreSQL прекрасно живут на одной машине до 30–50 пользователей.
  • 🏛️ Если организация обязана использовать отечественное ПО, выбирайте Astra Linux, РЕД ОС или Альт: с ними 1С работает официально.

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

Архитектура — только 64 бита. 32-битные сборки для Linux давно не выпускаются.

Подготовка Linux к установке 1С: пакеты, шрифты, Wine

Обновите систему и поставьте то, без чего клиент запустится с квадратиками вместо букв или не запустится вовсе.

sudo apt update && sudo apt upgrade -y
sudo apt install -y fontconfig ttf-mscorefonts-installer imagemagick unixodbc libgsf-1-114
sudo fc-cache -fv

Для RPM-дистрибутивов то же самое делается через dnf install, имена пакетов немного другие. Шрифты Microsoft нужны для печатных форм: макеты 1С свёрстаны под Arial и Times New Roman, без них таблицы съезжают.

Проверьте локаль. Серверу 1С и PostgreSQL нужна ru_RU.UTF-8:

locale -a | grep ru_RU
sudo locale-gen ru_RU.UTF-8   # если строки нет (Ubuntu/Debian)

Нужен ли Wine

Нет, если вы ставите платформу 8.3. Wine оправдан только в двух случаях:

  1. Нужна программа, которая есть лишь под Windows: старый 1С 7.7, драйвер торгового оборудования, внешняя обработка с Windows-компонентой.
  2. Компьютер не отвечает требованиям нативного клиента, а заменить ОС нельзя.

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

Внешние компоненты в виде Windows DLL в Linux-клиенте не загрузятся. Если ваша конфигурация работает с кассой, весами или банковским модулем через такую компоненту — уточните у поставщика оборудования, есть ли Linux-версия драйвера.

Обновление пакетов и установка Wine для старых программ

Если Wine всё-таки нужен (например, рядом с 8.3 должна работать 7.7), ставьте его из репозитория дистрибутива и в отдельный префикс, чтобы не смешивать с другими программами:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y wine64 wine32 winetricks
WINEPREFIX=~/.wine-1c winecfg

В открывшемся окне winecfg выставьте версию Windows 10 и закройте. Дальше установщик Windows-программы запускается так:

WINEPREFIX=~/.wine-1c wine setup.exe

Ставить через Wine Windows-версию платформы 8.3 бессмысленно: нативный клиент работает быстрее, официально поддерживается и обновляется вместе с платформой.

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

Начиная с версии 8.3.20 клиент и сервер для Linux распространяются одним установщиком .run. Раньше были отдельные DEB- и RPM-пакеты — если у вас старая версия, ставьте их через dpkg -i или rpm -i, но разумнее сразу взять актуальную платформу.

Шаг 1. Скачайте дистрибутив

На портале обновлений 1С откройте технологическую платформу 8.3, нужную версию и скачайте «Технологическая платформа 1С:Предприятия (64-bit) для Linux». Это архив вида server64_8_3_24_1548.tar.gz (цифры — номер версии).

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

Шаг 2. Распакуйте и запустите установщик

mkdir ~/1c-dist && cd ~/1c-dist
tar -xzf ~/Загрузки/server64_8_3_24_1548.tar.gz
chmod +x setup-full-8.3.24.1548-x86_64.run
sudo ./setup-full-8.3.24.1548-x86_64.run

Откроется графический мастер. Отметьте компоненты:

  • ✅ 1С:Предприятие 8 — толстый клиент с Конфигуратором (нужен для обновления конфигураций);
  • ✅ Тонкий клиент — если пользователи работают только через сервер или веб-публикацию;
  • ✅ Сервер 1С:Предприятия — только на машине, которая будет сервером;
  • ✅ Интерфейс на русском языке .

На сервере без графики удобен тихий режим:

sudo ./setup-full-8.3.24.1548-x86_64.run --mode unattended --enable-components server,ws,ru

Если какой-то из параметров не принимается вашей версией, запустите установщик с --help и сверьте названия компонентов.

Шаг 3. Проверьте результат

Платформа ставится в /opt/1cv8/x86_64/<номер версии>/. Несколько версий живут рядом, не мешая друг другу. В меню приложений появится ярлык «1С:Предприятие», он открывает обычное окно со списком баз.

Шаг 4. Добавьте лицензию

Программная лицензия активируется при первом запуске базы — так же, как в Windows: мастер попросит пин-код и регистрационный номер. Файлы лицензий хранятся в /var/1C/licenses.

Для аппаратного ключа HASP нужен драйвер aksusbd (пакет haspd). Без него ключ в USB система видит, а 1С — нет.

Диагностика: выберите симптом

Как ускорить 1С на Linux и исправить частые сбои

Нативный клиент на Linux по скорости сопоставим с Windows. Если всё тормозит, причина обычно в окружении, а не в платформе.

  • 🐢 Файловая база на сетевой папке. Через Samba или NFS файловый вариант работает медленно и рискует повредиться при обрыве связи. Для 3+ пользователей переходите на клиент-сервер.
  • 💾 HDD вместо SSD. Для файловой базы и для PostgreSQL диск — главное узкое место.
  • 🔒 Антивирус проверяет каталог базы. Исключите файлы .1CD и каталог данных PostgreSQL из проверки.
  • 🧹 Распухший кэш. Пользовательский кэш лежит в ~/.1cv8/1C/1cv8/. Его очистка помогает при странных ошибках интерфейса после обновления конфигурации.

Чистите кэш только при закрытой 1С у этого пользователя. Удалять стоит подкаталоги с длинными именами-идентификаторами, а не файл ibases.v8i — в нём список баз.

Если после обновления платформы клиент открывается со старой версией, проверьте настройку версии в свойствах базы в окне запуска: там можно явно указать номер, например 8.3.24.

Альтернатива: 1С в виртуальной машине и Docker

Когда нативная установка не подходит, есть два обходных пути.

СпособКогда выбиратьМинусы
Виртуальная машина (KVM, VirtualBox) с Windowsнужна Windows-компонента, драйвер кассы, 7.7лицензия Windows, +2–4 ГБ ОЗУ
Docker-контейнер с сервером 1Стестовые стенды, CI, быстрые копии окруженияофициально 1С это не поддерживает, лицензирование нужно продумать
Wineодна старая Windows-программанестабильно, не для 8.3

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

Docker хорош для разработчиков: поднять сервер 1С нужной версии за пару минут, прогнать тесты, удалить. Готовые Dockerfile публикует сообщество; образ собирается из того же установщика .run. Для боевой базы контейнер ничего не даёт, кроме лишнего слоя.

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

Сервер 1С на Linux вместе с PostgreSQL

Это основной сценарий, ради которого 1С ставят на Linux: сервер приложений и бесплатная СУБД без лицензий Windows Server и MS SQL.

Запуск службы сервера

С версии 8.3.21 сервер управляется через systemd. Файл службы лежит в каталоге платформы:

sudo systemctl link /opt/1cv8/x86_64/8.3.24.1548/srv1cv8-8.3.24.1548@.service
sudo systemctl enable --now srv1cv8-8.3.24.1548@default
sudo systemctl status srv1cv8-8.3.24.1548@default

Сервер работает от пользователя usr1cv8, который создаётся установщиком. Для администрирования с другого компьютера запустите сервер администрирования ras — его unit-файл тоже есть в каталоге платформы.

Откройте порты в брандмауэре: клиент обращается к агенту на 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Их диапазон по умолчанию 1560–1591, он задаётся в свойствах рабочего сервера.

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp

Установка PostgreSQL для 1С

Ванильный PostgreSQL не подходит: нужна сборка с патчами для 1С. Её берут на портале обновлений 1С или ставят сборку Postgres Pro, подготовленную для 1С. Устанавливаете по инструкции к выбранной сборке, затем задаёте пароль пользователю postgres:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'сложный_пароль';"

Создание базы

  1. На любом клиенте откройте окно запуска 1С и нажмите Добавить.
  2. Выберите создание новой информационной базы, шаблон или пустую базу.
  3. Тип расположения — На сервере 1С:Предприятия.
  4. Укажите кластер (имя сервера), имя базы, тип СУБД PostgreSQL, сервер БД, пользователя postgres и пароль.
  5. Отметьте «Создать базу данных в случае её отсутствия» и завершите мастер.

Готовую базу из Windows переносят через выгрузку .dt: в Конфигураторе старой базы — Администрирование → Выгрузить информационную базу, в новой — Администрирование → Загрузить информационную базу.

Загрузка .dt полностью заменяет данные в базе-приёмнике. Загружайте только в новую пустую базу и при закрытых сеансах.

Перед запуском сервера в работу
Выполнено: 0 / 6

Оптимизация Linux-сервера для больших баз 1С

Когда база перевалила за 50–100 ГБ, а пользователей десятки, настройки по умолчанию начинают тормозить.

PostgreSQL. Главные параметры в postgresql.conf:

ПараметрОриентирЗачем
shared_buffersпримерно 25% ОЗУкэш данных СУБД
effective_cache_sizeпримерно 50–75% ОЗУподсказка планировщику
work_mem32–128 МБсортировки в отчётах
maintenance_work_mem512 МБ–2 ГБVACUUM и индексы
max_connectionsс запасом под рабочие процессысоединения от сервера 1С

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

Диски. Каталог данных PostgreSQL и журналы WAL — на NVMe SSD. Файловая система ext4 или XFS, опция noatime в /etc/fstab снижает лишние записи.

Обслуживание. Регламентные операции платформы тут не заменяют СУБД. Проверьте, что autovacuum включён, и раз в неделю в нерабочее время запускайте VACUUM ANALYZE по базе.

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

Перезапуск службы srv1cv8 или PostgreSQL обрывает сеансы всех пользователей. Делайте это вечером или в выходные, предупредив сотрудников.

Частые вопросы про 1С на Linux

Нужна ли отдельная лицензия 1С для Linux?
Нет. Клиентские и серверные лицензии 1С не привязаны к операционной системе. Та же лицензия работает на Linux после активации на новом компьютере.
Можно ли работать с файловой базой из Windows на Linux?
Да. Каталог файловой базы с файлом 1Cv8.1CD переносится как есть и открывается Linux-клиентом той же или более новой версии платформы.
Работает ли на Linux Конфигуратор?
Да, он входит в толстый клиент. В нём можно обновлять конфигурации, загружать и выгружать .dt, писать код.
Можно ли опубликовать базу для веб-клиента на Linux-сервере?
Да. Поставьте компонент модулей расширения веб-сервера (ws) и Apache, затем опубликуйте базу утилитой webinst из каталога платформы. Пользователи откроют базу в браузере.
Подойдёт ли Linux для 1С 7.7?
Только через Wine или виртуальную машину с Windows. Нативной версии 7.7 под Linux нет.