Сервер 1С:Предприятия на Ubuntu, Debian и CentOS: от пакетов до первой базы

· 10 мин

Содержание

Чтобы установить сервер 1С на Linux, скачайте архив «Технологическая платформа 1С:Предприятия (64-bit) для Linux», запустите из него установщик setup-full-<версия>-x86_64.run с компонентами server и ws, подключите службу srv1cv8-<версия>@default в systemd и откройте порты 1540, 1541 и 1560–1591. Затем ставите PostgreSQL в сборке для 1С, создаёте базу на сервере и активируете серверную лицензию.

Инструкция рассчитана на платформу 8.3.20 и новее: с этой версии под Linux выходит единый установщик вместо набора deb- и rpm-пакетов. Команды даны для Ubuntu 22.04/24.04 и Debian 12, отличия для CentOS, РЕД ОС и других RPM-систем вынесены отдельно.

1. Готовим Linux к установке сервера 1С

Сервер 1С не требует «особой» сборки ОС, но три вещи стоит сделать до установки, иначе потом придётся разбираться с ошибками подключения.

Имя сервера и файл hosts

Клиенты 1С обращаются к серверу по имени, а сервер сообщает клиенту имена своих рабочих процессов. Если имя не разрешается, подключение падает уже после первого рукопожатия.

  1. Задайте постоянное имя: sudo hostnamectl set-hostname srv1c.
  2. Пропишите его в /etc/hosts с реальным IP, а не только с 127.0.1.1:
192.168.10.20   srv1c.office.local   srv1c
  1. На клиентских компьютерах имя srv1c должно разрешаться в тот же адрес — через DNS или их собственный файл hosts.

Строка 127.0.1.1 srv1c, которую Ubuntu добавляет по умолчанию, — частая причина того, что консоль подключается, а клиенты нет. Удалите её или замените на реальный адрес.

Локаль, время и пакеты

  • 🌐 Локаль ru_RU.UTF-8 нужна и серверу 1С, и PostgreSQL: sudo locale-gen ru_RU.UTF-8 && sudo update-locale LANG=ru_RU.UTF-8.
  • 🕒 Часовой пояс и синхронизация времени: sudo timedatectl set-timezone Europe/Moscow, служба systemd-timesyncd или chrony. Расхождение часов ломает лицензирование и даты в журнале регистрации.
  • 🔤 Шрифты для печатных форм: без пакета ttf-mscorefonts-installer (Ubuntu, Debian с репозиторием contrib) отчёты, сформированные на сервере, печатаются «съехавшими».
  • 📦 Библиотеки, которые обычно требуются: fontconfig, imagemagick, libgsf-1-114, unixodbc.
sudo apt update
sudo apt install -y fontconfig imagemagick libgsf-1-114 unixodbc ttf-mscorefonts-installer

Ресурсы машины

НагрузкаПользователиОЗУ (1С + PostgreSQL на одной машине)Диск
Небольшой офисдо 10от 8 ГБSSD от 100 ГБ
Средняя10–4016–32 ГБSSD/NVMe, отдельный раздел под базы
Крупнаяот 5064 ГБ и больше, СУБД лучше вынестиNVMe, RAID

Цифры ориентировочные: реальная потребность зависит от конфигурации и объёма базы. ERP съедает ресурсы заметно быстрее, чем Бухгалтерия.

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

Дистрибутив скачивают с портала обновлений 1С по договору ИТС (или комплекту поставки с правом на обновления). В разделе платформы выберите версию и пункт «Технологическая платформа 1С:Предприятия (64-bit) для Linux» — получите архив вида server64_8_3_24_1586.zip или .tar.gz.

Версия сервера должна точно совпадать с версией клиентов, вплоть до последней цифры сборки. Сервер 8.3.24.1586 не примет клиента 8.3.24.1548.

Установка в тихом режиме

  1. Скопируйте архив на сервер, например через scp, и распакуйте:
mkdir ~/1c && cd ~/1c
unzip server64_8_3_24_1586.zip    # или tar xzf ...tar.gz
chmod +x setup-full-8.3.24.1586-x86_64.run
  1. Запустите установку только серверных компонентов, без графического клиента:
sudo ./setup-full-8.3.24.1586-x86_64.run --mode unattended \
  --enable-components server,ws,server_admin
  • server — сам сервер 1С:Предприятия (агент, менеджер кластера, рабочие процессы);
  • ws — модули расширения веб-сервера, нужны для публикации через Apache;
  • server_admin — сервер администрирования ras, через который работают rac и консоль на Windows.

Полный список компонентов для вашей версии выводит ./setup-full-...run --help.

  1. Проверьте результат: файлы ложатся в /opt/1cv8/x86_64/8.3.24.1586/, а установщик создаёт системного пользователя usr1cv8, от имени которого работает служба.

На платформах до 8.3.20 вместо установщика были пакеты 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws и каталог /opt/1C/v8.3/x86_64/. Если видите такие пути в старых инструкциях — это другая схема, команды из них к новым версиям не подходят.

Отличия для CentOS, РЕД ОС, ALT

Установщик .run один для всех дистрибутивов. Различаются только подготовка и брандмауэр:

ЗадачаUbuntu / DebianCentOS / РЕД ОС / AlmaLinux
Пакетыapt installdnf install (имена библиотек свои, например libgsf)
Брандмауэрufwfirewall-cmd
Шрифтыttf-mscorefonts-installerпакет MS-шрифтов из репозитория дистрибутива или копирование .ttf в /usr/share/fonts
ПолитикиAppArmor обычно не мешаетпри отказе запуска проверьте SELinux: getenforce, журнал audit.log

3. Запуск службы и настройка кластера серверов 1С

Начиная с 8.3.21 установщик кладёт рядом с бинарниками готовый unit-файл systemd. Его нужно подключить и включить вручную.

V=8.3.24.1586
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable --now srv1cv8-$V@default
systemctl status srv1cv8-$V@default

Экземпляр default запускает агент на стандартных портах и хранит реестр кластера в /home/usr1cv8/.1cv8/1C/1cv8. В этом каталоге лежит описание кластера и список баз — его стоит включить в резервное копирование .

Сервер администрирования ras

На Linux нет оснастки MMC, поэтому кластером управляют через ras (порт 1545). Подключите его так же, как основную службу:

sudo systemctl link /opt/1cv8/x86_64/$V/ras-$V.service
sudo systemctl enable --now ras-$V

После этого:

  • с самого сервера: /opt/1cv8/x86_64/$V/rac cluster list localhost:1545 — команда вернёт cluster с идентификатором кластера;
  • с Windows: в консоли «Администрирование серверов 1С Предприятия» добавьте центральный сервер с именем srv1c и портом 1545, а не 1540.

Порты и брандмауэр

ПортКто слушаетНужен клиентам
1540агент сервера (ragent)да
1541менеджер кластера (rmngr)да
1560–1591рабочие процессы (диапазон задаётся в свойствах рабочего сервера)да
1545сервер администрирования rasтолько администратору
sudo ufw allow from 192.168.10.0/24 to any port 1540:1541 proto tcp
sudo ufw allow from 192.168.10.0/24 to any port 1560:1591 proto tcp

Для firewall-cmd аналогично: --add-port=1540-1541/tcp и --add-port=1560-1591/tcp с --permanent, затем --reload.

4. PostgreSQL для 1С: установка и подключение к серверу

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

  • 🐘 PostgreSQL от 1С — выкладывается на том же портале обновлений, в названии версии есть суффикс 1C (например, 16.x-x.1C);
  • 🐘 Postgres Pro в редакции для 1С — бесплатная сборка от Postgres Professional с собственным репозиторием и инструкцией по подключению.

Версию СУБД сверяйте со списком поддерживаемых для вашей платформы: свежий PostgreSQL на старой платформе может не завестись.

Минимальная настройка

  1. Установите пакеты сборки для 1С по инструкции поставщика и инициализируйте кластер с русской локалью:
sudo -u postgres initdb -D /var/lib/pgpro/1c-16/data --locale=ru_RU.UTF-8

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

  1. Задайте пароль пользователю postgres:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
  1. Подправьте postgresql.conf под объём памяти. Ориентир для выделенной машины с 16 ГБ, где работает и 1С:
shared_buffers = 4GB          # около 25% ОЗУ
effective_cache_size = 8GB    # около 50% ОЗУ
work_mem = 64MB
maintenance_work_mem = 1GB
  1. Перезапустите СУБД: sudo systemctl restart <имя службы postgres>.

Если PostgreSQL стоит на той же машине, что и сервер 1С, в pg_hba.conf достаточно разрешить подключения с 127.0.0.1 по паролю (scram-sha-256 или md5). Открывать порт 5432 наружу не нужно.

Создаём информационную базу

Проще всего — из клиента 1С на рабочем месте той же версии:

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

Поле «Сервер баз данных» заполняют с позиции сервера 1С, а не клиента: если СУБД стоит рядом с 1С, это 127.0.0.1, даже когда вы сидите на другом компьютере.

Для работы под нагрузкой заведите отдельную роль PostgreSQL для 1С вместо postgres. Права на создание баз ей понадобятся, только если базы создаются из 1С.

5. Лицензия сервера 1С и защита машины

Без лицензии сервер не запустит базу в клиент-серверном режиме. Лицензия сервера 1С:Предприятия 8.3 (32- или 64-разрядного) бывает двух видов.

Программная лицензия

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

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

Сделайте копию каталога /var/1C/licenses сразу после активации и храните её вне сервера.

Аппаратный ключ

USB-ключ сервера на Linux работает через драйвер Sentinel (пакет aksusbd). Установите его, вставьте ключ и проверьте, что служба драйвера запущена. Для виртуальной машины ключ пробрасывают с хоста или используют сетевой USB-концентратор.

Минимальная защита

  • 🔐 Задайте администратора кластера: без него любой, кто достучится до порта 1545 или консоли, управляет базами. Это делается в консоли (свойства кластера → Администраторы) или через rac — синтаксис смотрите в rac help cluster.
  • 🧱 Порты 1540–1541, 1560–1591 открывайте только для своей сети. Публиковать сервер 1С в интернет напрямую нельзя: для удалённых сотрудников есть VPN или веб-публикация через Apache.
  • 👤 Служба работает от usr1cv8. Не запускайте ragent от root «чтобы заработало» — это маскирует проблему с правами на каталоги.
  • 💾 Настройте резервные копии: pg_dump баз по расписанию плюс копия /home/usr1cv8/.1cv8 и /var/1C/licenses.

6. Проверка после установки сервера 1С

Короткий прогон перед тем, как пускать пользователей:

Сервер 1С на Linux готов к работе
Выполнено: 0 / 7

7. Ошибки при установке сервера 1С на Linux и что с ними делать

Сначала посмотрите журнал службы — там видно, почему агент не стартовал:

journalctl -u srv1cv8-8.3.24.1586@default -n 100 --no-pager
sudo ss -tlnp | grep -E '154[015]|15[6-9][0-9]'
Диагностика: выберите симптом

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

Если причина неочевидна, включите технологический журнал: файл logcfg.xml кладут в каталог conf установки платформы (в новых версиях — /opt/1cv8/conf/). Логи пишутся в указанный в нём каталог, у которого владелец должен быть usr1cv8. После диагностики журнал отключите — он быстро занимает диск.

8. Частые вопросы об установке сервера 1С на Linux

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