Сервер 1С:Предприятия 8.3 под Linux: что поддерживается, как поставить и чем подключаться
Содержание
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 стоят вместе:
| Пользователей | CPU | RAM | Диск |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD от 200 ГБ |
| 10–30 | 8 ядер | 32 ГБ | NVMe, отдельный том под СУБД |
| 30–80 | 12–16 ядер | 64 ГБ | NVMe, СУБД лучше вынести |
Цифры примерные. Реальную нагрузку дают тяжёлые операции: закрытие месяца , расчёт зарплаты, проведение документов задним числом.
Что настроить до установки
- Задайте постоянное имя сервера и пропишите его в
/etc/hosts. Кластер регистрируется по имени, а не по IP. - Включите локаль
ru_RU.UTF-8. В Debian и Ubuntu — черезdpkg-reconfigure locales. - Поставьте шрифты Microsoft (пакет
ttf-mscorefonts-installerили аналог в вашем дистрибутиве) иfontconfig. Без них печатные формы «поплывут». - Синхронизируйте время через
chronyилиsystemd-timesyncd. - Откройте в брандмауэре порты
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 в Конфигураторе на старом сервере и загрузку в новую пустую базу.
Публикация базы через 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_buffers | 8GB | Кэш данных СУБД, около 25% памяти |
effective_cache_size | 20GB | Подсказка планировщику о кэше ОС |
work_mem | 64MB | Память на сортировку в одном запросе |
maintenance_work_mem | 1GB | Ускоряет VACUUM и создание индексов |
max_connections | 500 и выше | 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-сервере две версии платформы?
/opt/1cv8/x86_64/<версия>/, а для второго экземпляра задают другой набор портов, например 2540, 2541 и 2560-2591.