Сервер 1С:Предприятия 8.3 под Linux: от чистой системы до первой базы

· 9 мин

Содержание

Чтобы установить 1С:Предприятие 8.3 на Linux, скачайте с портала обновлений единый установщик setup-full-8.3.xx.xxxx-x86_64.run, запустите его от root с нужными компонентами (сервер, клиент или оба), поставьте сборку PostgreSQL, адаптированную для 1С, и зарегистрируйте службу srv1cv8 в systemd. После старта службы кластер создаётся сам, и в нём можно заводить информационные базы.

Сложности обычно не в самой установке, а в мелочах вокруг неё: имя сервера не резолвится у клиентов, закрыт диапазон портов рабочих процессов, PostgreSQL собран без патчей для 1С или в системе нет русской локали. Порядок действий одинаков для Ubuntu/Debian и rpm-систем, отличаются только команды пакетного менеджера. Речь о платформе 8.3 версий 8.3.20 и новее: начиная с них для Linux выпускается единый установщик.

1. Подготовка Linux к установке 1С: дистрибутив, ресурсы, сеть

Сервер 1С официально работает на 64-битных дистрибутивах семейств deb и rpm. На практике чаще всего встречаются:

ДистрибутивПакетыКогда выбирают
Ubuntu Server LTSdebсамый частый вариант, много инструкций и пакетов
Debiandebстабильность, минимум лишнего
Astra Linuxdebгоссектор, требования к сертифицированным ОС
РЕД ОС, ALTrpmимпортозамещение, реестр отечественного ПО
Rocky / Alma / CentOS Streamrpmнаследие инфраструктуры на RHEL-системах

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

Ресурсы сервера

Ориентиры для небольшой компании (до 15–20 пользователей, одна-две базы БП или ЗУП):

  • 🖥 Процессор: 4 ядра и больше, важна частота одного ядра.
  • 🧠 Память: от 8 ГБ, из них заметная часть уйдёт PostgreSQL под кэш.
  • 💾 Диск: SSD или NVMe, отдельный раздел под данные СУБД.
  • 🌐 Сеть: постоянный IP-адрес и имя хоста, которое не меняется.

Имя хоста и русская локаль

Задайте постоянное имя и пропишите его в /etc/hosts:

sudo hostnamectl set-hostname srv1c
echo "192.168.1.10 srv1c" | sudo tee -a /etc/hosts

Кластер 1С регистрирует себя под именем хоста. Клиенты должны находить это имя: через DNS или запись в своём hosts-файле. Иначе подключение к агенту пройдёт, а к рабочему процессу — нет.

Русская локаль нужна для PostgreSQL и корректной сортировки строк в базе:

sudo locale-gen ru_RU.UTF-8
sudo update-locale
locale -a | grep ru_RU

На rpm-системах локаль ставится пакетом языковой поддержки (glibc-langpack-ru на RHEL-подобных).

2. Где скачать дистрибутивы 1С для Linux и какие пакеты поставить заранее

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

Для версий до 8.3.20 вместо него были отдельные архивы deb и rpm: server, client, common, ws. Их ставили через dpkg -i или rpm -i в правильном порядке: сначала common, затем server и остальные.

Зависимости

Установщик сам сообщает о недостающих библиотеках. Чтобы не ловить их по одной, заранее поставьте шрифты и базовые пакеты:

sudo apt update
sudo apt install -y fontconfig ttf-mscorefonts-installer unixodbc
sudo fc-cache -fv

Шрифты Microsoft нужны серверу для формирования печатных форм и PDF без «поехавших» макетов. Пакет ttf-mscorefonts-installer лежит в репозитории multiverse (Ubuntu) или contrib (Debian).

Ставите сервер в минимальной конфигурации без графики — клиентские компоненты ему не нужны. Меньше зависимостей, меньше обновлений безопасности.

3. PostgreSQL для 1С: установка и первичная настройка СУБД

Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит: платформе нужны доработки (тип mchar, особенности сортировки и др.). Варианты:

СборкаГде взятьОсобенности
PostgreSQL от 1Спортал обновлений, раздел «Дистрибутив СУБД PostgreSQL для Linux»бесплатно, патчи 1С, пакеты deb/rpm
Postgres Pro для 1С (бесплатная редакция)репозиторий Postgres Professionalудобные репозитории, обновления через apt
Postgres Pro Standard / Enterpriseпо договору с вендоромподдержка, оптимизации, платные лицензии

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

Пароль и доступ

После установки задайте пароль служебному пользователю СУБД:

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

В pg_hba.conf проверьте, что локальные TCP-подключения разрешены по паролю (scram-sha-256 или md5), а не по trust. Если СУБД стоит на отдельной машине, добавьте строку с подсетью сервера 1С и пропишите listen_addresses в postgresql.conf.

Память

Значения по умолчанию рассчитаны на крошечную машину. Для сервера с 16 ГБ, где рядом работает 1С, разумная отправная точка:

ПараметрЗначениеЗачем
shared_buffers4GBкэш страниц СУБД (около 25% памяти)
effective_cache_size8GBподсказка планировщику о кэше ОС
work_mem64MBсортировки и соединения в запросах
maintenance_work_mem512MBиндексы, VACUUM

После правок — sudo systemctl restart postgresql. Перезапуск СУБД рвёт все подключения: делайте его до запуска баз или вне рабочего времени.

4. Установка сервера 1С на Linux и запуск кластера

Распакуйте архив и запустите установщик от root:

tar xzf server64_8_3_xx_xxxx.tar.gz
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

Без ключей установщик откроет графический или текстовый мастер, где компоненты отмечают галочками. Точный список имён компонентов для вашего релиза показывает ./setup-full-….run --help.

Платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/. Каждый релиз ложится в свой каталог, поэтому несколько версий могут стоять рядом.

Регистрация службы в systemd

В каталоге установки лежит шаблон юнита srv1cv8-8.3.xx.xxxx@.service. Подключите его и включите экземпляр default:

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

При первом старте агент сервера создаёт кластер по умолчанию на порту 1541 и каталог служебных файлов в домашней папке пользователя usr1cv8 (~/.1cv8/1C/1cv8). Отдельно «инициализировать» кластер не нужно.

Версии ниже 8.3.21 управлялись старым скриптом /etc/init.d/srv1cv83 с настройками в /etc/default/srv1cv83. Если обновляете такой сервер, отключите старую службу перед запуском новой, иначе две копии агента будут спорить за порт 1540.

Порты, которые нужно открыть

ПортКто слушает
1540агент сервера — первая точка подключения клиента
1541менеджер кластера
1560–1591рабочие процессы (диапазон задаётся в свойствах рабочего сервера)
1545сервер администрирования ras, если вы его запускаете
5432PostgreSQL, только если СУБД на другой машине

Для ufw:

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

Открывайте 1545 и 5432 только для подсети администраторов, а не для всех.

5. Пользователь usr1cv8, права на каталоги и лицензии

Установщик создаёт системного пользователя usr1cv8 и группу grp1cv8. От имени этого пользователя работает служба, и он должен иметь права на:

  • 📁 каталог данных кластера /home/usr1cv8/.1cv8/;
  • 📁 каталог лицензий /var/1C/licenses/;
  • 📁 каталоги выгрузок и обменов, если базы пишут файлы на диск сервера.

Типовая ошибка — скопировать файлы под root, после чего служба не может их прочитать. Исправляется так:

sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses

Лицензия сервера

Без серверной лицензии клиенты не смогут работать с базами на этом сервере. Два варианта:

  • 🔑 Программная лицензия — активируется по пин-коду при первом подключении к базе или через клиент, файл лицензии сохраняется в /var/1C/licenses/. Привязана к оборудованию: смена материнской платы, сетевых карт или переезд виртуальной машины может её «слететь».
  • 🔌 Аппаратный ключ HASP — на Linux нужен драйвер aksusbd (менеджер ключей Sentinel). Для виртуальной машины ключ пробрасывают через USB-over-IP или на хост с менеджером лицензий.

Администратор кластера

По умолчанию у кластера нет администратора, и любой, кто достучится до порта 1540, может управлять им. Сразу после установки заведите администратора центрального сервера и кластера. На Linux это делается утилитой rac (команды смотрите в rac help agent и rac help cluster) или консолью с Windows-машины через ras.

Пароль администратора кластера храните в менеджере паролей. Если он утерян — остановите службу и восстановите файлы реестра кластера из резервной копии каталога ~/.1cv8/1C/1cv8; без копии решать вопрос нужно с администратором сервера, а не «сносом» кластера.

6. Как проверить, что сервер 1С на Linux работает

Пройдите проверку снизу вверх: служба → порты → кластер → база.

Служба запущена:

systemctl status srv1cv8-8.3.xx.xxxx@default

Строка active (running) и процессы ragent, rmngr, rphost в выводе.

Порты слушаются:

sudo ss -tlnp | grep -E '154[01]|15[6-9][0-9]'

Кластер отвечает. Запустите сервер администрирования и спросите список кластеров:

sudo -u usr1cv8 /opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --daemon
/opt/1cv8/x86_64/8.3.xx.xxxx/rac cluster list

Вы увидите UUID кластера, имя хоста и порт 1541. Если ras нужен постоянно (для консоли с Windows), оформите его отдельным юнитом systemd, а не запуском вручную.

База создаётся. На рабочей станции с клиентом той же версии:

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

Если база открылась и в ней можно провести документ — сервер собран правильно.

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

7. Клиент 1С на рабочих станциях Linux

Сервер и клиент — разные задачи. Для рабочих мест бухгалтеров на Linux ставят тот же установщик с клиентскими компонентами:

sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended --enable-components client_full,ru

Ярлык появится в меню приложений. Версия клиента должна совпадать с версией сервера до последней цифры, иначе подключение к серверной базе не пройдёт.

Вариант клиентаКогда ставить
Толстый (client_full)нужен Конфигуратор, обновление конфигураций, работа с файловыми базами
Тонкий (client_thin)обычная работа пользователей с серверными базами
Веб-клиент через браузеррабочие места без установки, удалённые сотрудники; нужна публикация на веб-сервере (компонент ws + Apache)

Для учёта с ЭЦП на Linux-клиенте отдельно ставят криптопровайдер (КриптоПро CSP или ViPNet CSP для Linux) и драйвер носителя. Без них 1С-Отчётность и ЭДО подписывать документы не смогут.

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

Можно ли поставить сервер 1С на Linux, а пользователей оставить на Windows?
Да, это самая распространённая схема. Клиенту не важно, на какой ОС работает сервер. Главное — одинаковая версия платформы и доступ к портам 1540, 1541 и 1560–1591.
Нужна ли отдельная лицензия на сервер под Linux?
Лицензия на сервер 1С:Предприятия одна для Windows и Linux. Если вы переносите сервер с Windows, программную лицензию придётся активировать заново на новом оборудовании: используйте резервный пин-код или обратитесь к поставщику.
Как обновить платформу на Linux-сервере?
Установите новый релиз рядом со старым, остановите службу старой версии в нерабочее время (все сеансы будут завершены), подключите и включите юнит новой версии. Данные кластера в ~/.1cv8 подхватятся. Клиенты обновите на ту же версию.
Можно ли держать файловую базу на Linux-сервере в общей папке?
Технически да, через Samba. Но при нескольких пользователях это медленнее и рискованнее клиент-серверного варианта. Если сервер 1С уже стоит, переведите базу на него через выгрузку .dt.
Подойдёт ли MS SQL вместо PostgreSQL на Linux?
SQL Server для Linux существует, и платформа его поддерживает. Но для Linux-серверов 1С стандартный выбор — PostgreSQL: он бесплатен и собирается с патчами под 1С.