Сервер 1С:Предприятия 8.3 под Linux: что поддерживается, как поставить и чем подключаться

· 10 мин

Содержание

1С:Предприятие 8.3 работает на Linux официально: фирма 1С выпускает под эту ОС сервер, толстый и тонкий клиенты, а базы хранит в PostgreSQL. Для запуска нужен 64-битный дистрибутив из списка поддерживаемых, единый установщик платформы setup-full-…-x86_64.run, СУБД (обычно PostgreSQL в сборке для 1С), лицензия и русская локаль ru_RU.UTF-8.

Работает это так: сервер 1С и СУБД стоят на Linux, а пользователи подключаются тонким клиентом под Windows или Linux, через браузер или по терминальному доступу. Конфигурации (БП 3.0, ЗУП 3.1, УТ 11 и другие) не переписывают: одна и та же база открывается и на Windows-сервере, и на Linux-сервере.

Какие компоненты 1С работают на Linux

Платформа 8.3 собрана под Linux почти целиком. Разница с Windows — в нескольких деталях вокруг платформы, а не в самой 1С.

КомпонентНа LinuxКомментарий
Сервер 1С (кластер)✅ даОсновной сценарий перехода
Толстый и тонкий клиент✅ даПакеты под deb- и rpm-дистрибутивы
Конфигуратор✅ даВходит в толстый клиент
Веб-клиент через Apache✅ даМодуль веб-расширения ставится с платформой
Сервер хранилища конфигураций✅ даОтдельный компонент установщика
PostgreSQL✅ даСамый частый выбор для Linux
MS SQL Server✅ даВерсия для Linux, но используют реже
Внешние компоненты только под Windows❌ нетСтарые COM-компоненты, часть драйверов торгового оборудования
COM-соединение❌ нетТехнология Windows; обмены переводят на HTTP-сервисы

Из-за последних двух строк переход чаще всего и упирается. Перед миграцией проверьте, чем пользуются базы: внешние обработки с COM, загрузка из Excel через COM-объект, драйверы ККТ и сканеров только под Windows.

Лицензии на сервер и клиентов не привязаны к типу ОС. Те же лицензии, что стояли на Windows, работают на Linux — но программную лицензию придётся активировать заново на новом сервере.

Как устроена связка: сервер, СУБД и клиенты

Схема та же, что на Windows. Меняется только ОС под сервером.

  • 🖥️ Агент сервера (ragent) слушает порт 1540. К нему клиент обращается первым.
  • 🧭 Менеджер кластера (rmngr) работает на порту 1541, распределяет сеансы.
  • ⚙️ Рабочие процессы (rphost) выполняют код конфигурации. Их порты берутся из диапазона, который задают в свойствах рабочего сервера; по умолчанию 1560:1591.
  • 🗄️ СУБД (PostgreSQL) хранит данные. Может стоять на том же сервере или на отдельном.
  • 🛠️ Сервер администрирования (ras) — порт 1545. Через него работают консоль администрирования и утилита rac.

Служба работает от пользователя usr1cv8. Он создаётся при установке. Каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8: там лежат реестр кластера, журналы регистрации и сеансовые данные.

Консоли администрирования в привычном виде (оснастка MMC) на Linux нет. Варианты: запускать консоль на Windows-машине и подключаться к Linux-серверу, пользоваться rac из командной строки или сторонними веб-консолями поверх ras.

Подготовка Linux-сервера под 1С

Дистрибутив берите из списка поддерживаемых для вашей версии платформы. Чаще всего ставят Ubuntu LTS, Debian, Astra Linux, РЕД ОС или Альт. Для госсектора и КИИ выбирают отечественные дистрибутивы из реестра.

Ресурсы

Ориентировочные цифры для сервера, где 1С и PostgreSQL стоят вместе:

ПользователейCPURAMДиск
до 104 ядра16 ГБSSD от 200 ГБ
10–308 ядер32 ГБNVMe, отдельный том под СУБД
30–8012–16 ядер64 ГБNVMe, СУБД лучше вынести

Цифры примерные. Реальную нагрузку дают тяжёлые операции: закрытие месяца , расчёт зарплаты, проведение документов задним числом.

Что настроить до установки

  1. Задайте постоянное имя сервера и пропишите его в /etc/hosts. Кластер регистрируется по имени, а не по IP.
  2. Включите локаль ru_RU.UTF-8. В Debian и Ubuntu — через dpkg-reconfigure locales.
  3. Поставьте шрифты Microsoft (пакет ttf-mscorefonts-installer или аналог в вашем дистрибутиве) и fontconfig. Без них печатные формы «поплывут».
  4. Синхронизируйте время через chrony или systemd-timesyncd.
  5. Откройте в брандмауэре порты 1540, 1541, 1545, 1560-1591 и порт СУБД (5432 у PostgreSQL) — только для своей сети.
sudo hostnamectl set-hostname srv1c
echo "192.168.1.10 srv1c" | sudo tee -a /etc/hosts
sudo locale-gen ru_RU.UTF-8
sudo apt install fontconfig ttf-mscorefonts-installer

Установка сервера 1С на Linux по шагам

Ниже — установка на Ubuntu или Debian для платформы 8.3.20 и новее, где дистрибутив поставляется единым .run-файлом.

Шаг 1. Установка платформы

Скачайте с портала поддержки архив «Технологическая платформа 1С:Предприятия (64-bit) для Linux», распакуйте и запустите установщик:

chmod +x setup-full-8.3.xx.xxxx-x86_64.run
sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended \
  --enable-components server,ws,server_admin,ru

Здесь server — сервер 1С, ws — модуль веб-расширения для Apache, server_admin — сервер администрирования ras, ru — русский интерфейс. Полный список компонентов показывает ключ --help. Без --mode unattended установщик откроет графический мастер.

Платформа ставится в /opt/1cv8/x86_64/<версия>/. Несколько версий могут стоять рядом.

Шаг 2. Запуск службы

В актуальных версиях вместе с платформой лежит юнит systemd. Подключите его и запустите экземпляр:

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

В статусе должно быть active (running), а в списке процессов — ragent, rmngr и rphost.

Шаг 3. Сервер администрирования

Чтобы управлять кластером, запустите ras. Рядом с юнитом сервера лежит юнит для него; проверить работу можно так:

/opt/1cv8/x86_64/8.3.xx.xxxx/rac cluster list

Команда выведет идентификатор кластера, имя хоста и порт 1541. Если ответа нет — ras не запущен или закрыт порт 1545.

Шаг 4. PostgreSQL для 1С

Нужна сборка PostgreSQL с доработками под 1С: её выпускают фирма 1С и Postgres Professional (Postgres Pro для 1С). Для рабочих баз берите именно её: в обычном PostgreSQL из репозитория дистрибутива нет доработок, на которые рассчитана платформа.

После установки создайте кластер БД с русской локалью и задайте пароль пользователю postgres. Базу вручную создавать не нужно: 1С создаст её сама.

Шаг 5. Лицензия

  • 🔑 Программная лицензия активируется при первом запуске клиента на сервере или через консоль; файлы лицензий хранятся в /var/1C/licenses.
  • 🔌 Аппаратный ключ HASP работает через драйвер Sentinel (aksusbd), который ставят отдельно.

Шаг 6. Создание базы

Подключитесь к кластеру с Windows-машины через консоль администрирования (нужен запущенный ras) или добавьте базу из окна запуска тонкого клиента : Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. Укажите кластер srv1c, тип СУБД PostgreSQL, сервер БД и флажок «Создать базу данных в случае её отсутствия».

Перенос существующей базы — через выгрузку .dt в Конфигураторе на старом сервере и загрузку в новую пустую базу.

Сервер 1С на Linux готов, если
Выполнено: 0 / 6

Публикация базы через Apache и роль Nginx

Веб-клиент и HTTP-сервисы 1С на Linux публикуют через Apache 2.4. Модуль веб-расширения ставит компонент ws, а публикацию делает утилита webinst:

sudo mkdir -p /var/www/buh
sudo /opt/1cv8/x86_64/8.3.xx.xxxx/webinst -publish -apache24 \
  -wsdir buh -dir /var/www/buh \
  -connstr "Srvr=srv1c;Ref=buh;" \
  -confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2

После этого база открывается по адресу http://srv1c/buh. В каталоге публикации появится default.vrd — в нём включают HTTP-сервисы, OData и веб-сервисы.

Модуля для Nginx у 1С нет. Nginx ставят перед Apache как обратный прокси: он принимает HTTPS-соединения, держит сертификат Let’s Encrypt, сжимает статику и отдаёт запросы на Apache. Так удобнее публиковать базы в интернет: Apache остаётся во внутренней сети.

Не публикуйте базу в интернет без HTTPS и без паролей у всех пользователей. Открытая публикация с пустым паролем администратора — прямой путь к утечке данных.

Как пользователи подключаются к 1С на Linux-сервере

Способов три, и их часто совмещают.

СпособКогда подходитЧто учесть
Тонкий клиент по TCPОфисная сеть, Windows и Linux на рабочих местахВерсия клиента должна совпадать с версией сервера
Тонкий клиент через HTTP или веб-клиентУдалённые сотрудники, филиалыНужна публикация на Apache
Терминальный доступСлабые ПК, оборудование на сервереНа Linux — xrdp или решения из отечественных дистрибутивов

Тонкий клиент

Самый частый вариант. Пользователь на Windows ставит тонкий клиент той же версии, что и сервер, и добавляет базу как серверную: кластер srv1c, имя базы buh. Отдельной «Linux-версии» базы нет.

На рабочих местах с Linux тонкий клиент ставят из того же .run-файла с компонентом client_thin. Для встроенного браузера клиенту нужна библиотека WebKitGTK из репозитория дистрибутива.

Веб-клиент

Работает в браузере без установки. Подходит для бухгалтера на выезде и для пользователей с macOS. Медленнее тонкого клиента на тяжёлых формах, и без расширения для браузера часть операций с файлами недоступна.

Терминальный режим

На Windows его делают через RDP и RemoteApp. На Linux аналог — xrdp или терминальные решения внутри Astra Linux и других дистрибутивов. Применяют, когда к серверу подключено торговое оборудование или рабочие места слишком слабые.

Проблемы с 1С на Linux и как их решать

Большая часть сбоев связана не с 1С, а с окружением: именами, шрифтами, правами и портами.

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

Перезапуск службы srv1cv8 и PostgreSQL обрывает сеансы всех пользователей. Делайте это вечером или после предупреждения, а перед изменениями в базе — выгрузку .dt или резервную копию СУБД.

Если не помогло

Откройте технологический журнал. Его включают файлом logcfg.xml в каталоге conf платформы (/opt/1cv8/conf/). Записывайте события EXCP — по ним видно, какой процесс и на каком шаге падает. Журнал быстро растёт, поэтому после диагностики выключите его.

Как ускорить 1С на Linux

Скорость на Linux обычно не хуже, чем на Windows. Тормоза чаще дают настройки PostgreSQL по умолчанию, которые рассчитаны на слабый сервер.

PostgreSQL

Ориентиры для сервера с 32 ГБ RAM, где стоят и 1С, и СУБД:

ПараметрЗначениеЗачем
shared_buffers8GBКэш данных СУБД, около 25% памяти
effective_cache_size20GBПодсказка планировщику о кэше ОС
work_mem64MBПамять на сортировку в одном запросе
maintenance_work_mem1GBУскоряет VACUUM и создание индексов
max_connections500 и выше1С открывает много соединений

После правки postgresql.conf нужен перезапуск СУБД — со всеми последствиями для сеансов.

Обслуживание

  • 🧹 Регулярный VACUUM ANALYZE (или работающий autovacuum) — без него запросы постепенно замедляются.
  • 📊 Обновление статистики после загрузки .dt и массовых обработок.
  • 🗂️ Журнал регистрации в SQLite-формате (.lgd) растёт на гигабайты; настройте сокращение журнала в Конфигураторе.

Система

  • 💽 Данные PostgreSQL — на NVMe или SSD, отдельный том от системы.
  • ⚡ Режим процессора performance вместо энергосбережения.
  • 🧠 Своп оставляйте, но небольшой: сервер не должен в него уходить при штатной работе.
  • 🔢 Если пользователей много, увеличьте число рабочих процессов или ограничение памяти в свойствах рабочего сервера, а не держите всё в одном rphost.

Частые вопросы

Можно ли перенести базу с Windows-сервера на Linux без переделки конфигурации?
Да. Выгрузите базу в .dt на старом сервере и загрузите в новую базу на Linux. Конфигурацию менять не нужно, если в ней нет COM-объектов и внешних компонент только под Windows.
Нужна ли отдельная лицензия 1С для Linux?
Нет. Лицензии на сервер и клиентов одни и те же для обеих ОС. Программную лицензию на новом сервере активируют заново, и на это расходуется одна из попыток активации по пин-коду.
Работает ли файловая база 1С на Linux?
Работает: толстый и тонкий клиенты для Linux открывают файловые базы. Но для нескольких пользователей по сети файловую базу на Linux держать неудобно; при 3–5 пользователях и больше лучше сразу ставить сервер с PostgreSQL.
Можно ли держать на одном Linux-сервере две версии платформы?
Можно. Каждая версия ставится в свой каталог /opt/1cv8/x86_64/<версия>/, а для второго экземпляра задают другой набор портов, например 2540, 2541 и 2560-2591.
Подойдёт ли Windows-клиент к серверу на Linux?
Да, это обычная смешанная схема. Важно только, чтобы версия клиента совпадала с версией сервера до последней цифры.