Сервер 1С на Windows и Linux: от подготовки машины до первой базы

· 10 мин

Содержание

Чтобы правильно установить сервер 1С:Предприятие, нужно пройти пять шагов: подготовить машину, поставить серверную часть платформы как службу, создать кластер и базу на СУБД, активировать серверную лицензию и открыть порты 1540, 1541 и 1560–1591. На Windows всё делает обычный установщик платформы, на Linux — единый файл setup-full-…run и systemd.

Порядок одинаков для маленького сервера на 10 пользователей и для машины под сотню сеансов. Разница только в железе и настройках памяти СУБД.

Подготовка машины и ОС под сервер 1С

Сервер 1С работает в связке с СУБД. Для небольшой компании обе службы обычно живут на одной машине. Это нормальная схема, если хватает памяти.

Ориентировочные требования к железу:

ПользователейЯдра CPUОЗУ (1С + СУБД)Диск
до 15416 ГБSSD/NVMe от 256 ГБ
15–506–832 ГБNVMe, отдельный том под СУБД
50–15012–1664–128 ГБNVMe в RAID 1/10

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

Что сделать до установки:

  • 🖥️ ОС. Windows Server 2016 и новее либо поддерживаемый Linux (Ubuntu, Debian, Astra Linux, РЕД ОС, Альт). Только 64-разрядная.
  • 🌐 Имя и адрес. Задайте серверу постоянное короткое имя (например, srv1c) и статический IP. Имя потом прописывается в кластере, и менять его болезненно.
  • 🔎 DNS. Клиенты должны разрешать имя сервера. Нет своего DNS — пропишите имя в hosts на каждом клиенте.
  • 🕒 Время. Включите синхронизацию времени на сервере и клиентах. Расхождение часов даёт странные ошибки в регламентных заданиях и обменах.
  • 📦 Дистрибутив. Нужен комплект «Технологическая платформа 1С:Предприятия (64-bit)» для вашей ОС. Версия платформы на сервере и на клиентах должна совпадать до последней цифры.
  • 💾 Своп. На Linux добавьте файл подкачки, хотя бы 4–8 ГБ, чтобы рабочий процесс не убил OOM-killer при пиковой нагрузке.

Номер версии платформы выбирайте по требованиям конфигурации, а не «самый свежий». Минимальная версия указана в описании релиза конфигурации.

Установка серверной части платформы: Windows и Linux

Windows

  1. Распакуйте архив платформы и запустите setup.exe от имени администратора.
  2. На шаге выбора компонентов включите:
    • «Сервер 1С:Предприятия 8»;
    • «Администрирование сервера 1С:Предприятия» — это консоль кластера;
    • «Модули расширения веб-сервера» — если планируете публикацию на IIS или Apache.
  3. Отметьте «Установить сервер 1С:Предприятия 8 как сервис Windows ».
  4. Выберите пользователя службы. По умолчанию установщик создаёт локального пользователя USR1CV8 — задайте ему сложный пароль и запишите.
  5. На последнем шаге оставьте флажок установки драйвера защиты, если будете использовать аппаратный ключ.

После установки появится служба 1C:Enterprise 8.3 Server Agent (x86-64). Проверьте, что она запущена и стоит в автоматическом запуске.

Каталог данных кластера по умолчанию — C:\Program Files\1cv8\srvinfo. Его лучше вынести на быстрый диск, где хватает места: туда пишутся сеансовые данные и кэши.

Пользователю службы нужны права «Вход в систему в качестве службы» и полный доступ к каталогу srvinfo. Если поменяли учётную запись службы вручную, права выдайте сами — иначе служба стартует и сразу останавливается.

Linux

С версии 8.3.20 платформа для Linux ставится единым установщиком. Пример для Ubuntu, номер версии подставьте свой:

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

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

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

Данные кластера по умолчанию лежат в домашнем каталоге usr1cv8 — /home/usr1cv8/.1cv8/1C/1cv8.

Доставьте шрифты: без них не строятся печатные формы и отчёты. В Ubuntu это пакеты fontconfig и ttf-mscorefonts-installer.

Кластер серверов и консоль администрирования

Кластер — это набор процессов, которые обслуживают базы. Сразу после первого запуска агент создаёт кластер по умолчанию с менеджером на порту 1541.

Подключение консоли на Windows

Консоль — оснастка MMC «Администрирование серверов 1С Предприятия». Если при её открытии видна пустота или ошибка класса, перерегистрируйте библиотеку консоли той версии платформы, что стоит на сервере:

regsvr32 "C:\Program Files\1cv8\8.3.25.1445\bin\radmin.dll"

После обновления платформы эту команду нужно повторять с новым номером версии: версии консоли и сервера должны совпадать.

Дальше в консоли: правой кнопкой по «Central 1C:Enterprise 8.3 servers» → Создать → Центральный сервер 1С:Предприятия 8.3 → укажите имя сервера и порт агента 1540.

Управление на Linux

На Linux удобнее командная строка через сервер администрирования ras и утилиту rac:

/opt/1cv8/x86_64/8.3.25.1445/ras cluster --daemon
/opt/1cv8/x86_64/8.3.25.1445/rac cluster list

ras по умолчанию слушает порт 1545. Можно подключиться к нему и графической консолью с Windows-машины.

Что настроить в кластере

  • ⚙️ Свойства рабочего сервера. Здесь задаётся диапазон портов рабочих процессов (по умолчанию 1560–1591), число баз и соединений на процесс, параметры отказоустойчивости.
  • 📈 Перезапуск процессов. В свойствах кластера можно задать интервал перезапуска рабочих процессов — помогает при утечках памяти в долгоживущих процессах.
  • 🧹 Регламентные задания. На тестовых копиях баз ставьте блокировку регламентных заданий, чтобы копия не отправляла обмены и письма вместо рабочей базы.

Консоль ходит в кластер через агент на порту 1540. Если консоль не видит сервер, сначала проверьте этот порт и службу агента, а уже потом кластер.

Подключение СУБД: PostgreSQL и MS SQL Server

Сервер 1С хранит данные не сам, а в СУБД. Варианты на практике:

СУБДОСКогда выбиратьНюансы
MS SQL ServerWindowsуже есть лицензии и Windows-инфраструктураплатная лицензия, кроме Express с жёсткими лимитами
PostgreSQL для 1С (сборка от 1С или Postgres Pro)Windows, Linuxбюджетный вариант, сервер на Linuxнужна именно сборка с патчами под 1С
Файловая базалюбая1–5 пользователейэто не серверный вариант, кластер не нужен

Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит — нужна сборка с расширениями под 1С. Её выпускает сама фирма 1С и компания Postgres Professional.

Подготовка PostgreSQL

  1. Установите сборку PostgreSQL для 1С.
  2. Задайте пароль пользователю postgres или создайте отдельную роль для 1С с правом создавать базы.
  3. Настройте память в postgresql.conf. Стартовые значения для сервера с 32 ГБ, где рядом работает 1С:
shared_buffers = 8GB
effective_cache_size = 16GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_connections = 300
  1. В pg_hba.conf разрешите подключение только с адреса сервера 1С, а не со всей сети.
  2. Перезапустите службу PostgreSQL.

Создание базы в кластере

В консоли: кластер → «Информационные базы» → Создать → Информационная база. Заполните:

  • имя базы в кластере — его потом вводят пользователи;
  • «Защищённое соединение» — выключено, если сеть внутренняя;
  • «Сервер баз данных» — localhost или имя сервера СУБД;
  • «Тип СУБД» — PostgreSQL или MSSQLServer;
  • имя базы данных, пользователь и пароль СУБД;
  • «Смещение дат» — 2000 для MS SQL; для PostgreSQL поле не используется;
  • флажок «Создать базу данных в случае её отсутствия».

Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» оставьте включённым, если клиентские лицензии будут стоять на сервере.

Пустую базу затем заполняют: загружают .dt через Конфигуратор или создают базу из шаблона конфигурации. Это делается с клиента, подключённого к серверной базе.

Лицензии: серверная и клиентские

Серверу нужна своя лицензия, отдельная от пользовательских. Без неё кластер не запустит сеанс с базой — клиент получит сообщение, что лицензия сервера не найдена.

Тип защитыГде ставитсяЧто учесть
Программная лицензия серверана машине сервера 1Спривязана к железу; при замене дисков, сетевых карт или переносе виртуалки может слететь
Аппаратный ключ сервера (USB)в USB-порт серверанужен драйвер защиты; на виртуалке — проброс USB или USB-over-IP
Клиентские лицензии на серверена машине серверавыдаются сеансам через кластер, удобно для терминалов и веб-клиента

Как активировать программную лицензию сервера

  1. Создайте базу в кластере и подключитесь к ней клиентом 1С.
  2. При отсутствии лицензии появится окно получения лицензии. Выберите получение лицензии на сервер 1С, укажите пин-код из конверта комплекта и регистрационные данные.
  3. Файлы лицензий сохранятся на сервере: в Windows — в C:\ProgramData\1C\licenses, в Linux — в /var/1C/licenses.

Сохраните копию анкеты, которую заполняли при активации, и пин-коды. Каждый пин-код позволяет ограниченное число повторных активаций. Данные анкеты при повторной активации должны совпадать символ в символ.

Лицензия сервера бывает 32- и 64-разрядной. Для 64-разрядного сервера нужна соответствующая лицензия — 32-разрядная его не запустит.

Брандмауэр, порты и права доступа

Сервер 1С нельзя открывать во внешний интернет. Пользователи снаружи заходят через VPN, RDP-шлюз или опубликованный веб-клиент с HTTPS.

Какие порты открыть внутри сети:

ПортКто слушаетЗачем
1540агент серверапервичное подключение клиента и консоли
1541менеджер кластерарегистрация сеансов
1560–1591рабочие процессыосновной обмен данными
1545rasконсоль на Linux, утилита rac
5432 / 1433PostgreSQL / MS SQLтолько для самого сервера 1С

Windows, правило одной командой:

netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Ubuntu с ufw:

sudo ufw allow from 192.168.1.0/24 to any port 1540:1541 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 1560:1591 proto tcp

Подсеть подставьте свою.

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

Свежий кластер управляется без пароля: любой, кто дотянулся консолью до порта 1540, может завершать сеансы, менять настройки кластера и рабочих процессов. Закройте это сразу:

  1. Создайте администратора центрального сервера (в консоли: узел «Администраторы» у центрального сервера).
  2. Создайте администратора кластера (узел «Администраторы» внутри кластера).
  3. Пароли храните в менеджере паролей, а не на стикере.

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

Для внешних обработок и расширений можно включить профили безопасности кластера. Они ограничивают доступ кода к файловой системе и сети.

Сервер готов к работе, если…
Выполнено: 0 / 8

Диагностика и контроль производительности

Сервер поставлен — дальше важно видеть, что с ним происходит.

Сеансы и лицензии

В консоли на узле «Сеансы» видно, кто работает, сколько памяти и времени вызова тратит сеанс. Через командную строку:

rac cluster list
rac session list --cluster=<id_кластера> --licenses

Второй командой удобно разбирать ситуацию «лицензий не хватает»: видно, кому какая лицензия выдана.

Технологический журнал

Технологический журнал включается файлом logcfg.xml в каталоге conf платформы: в Windows — C:\Program Files\1cv8\conf\, в Linux — /opt/1cv8/conf/. Минимальная полезная настройка — запись исключений и долгих вызовов:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1c_techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="CALL"/>
      <gt property="duration" value="30000000"/>
    </event>
    <property name="all"/>
  </log>
</config>

Журнал без фильтров за сутки забивает диск. Задавайте history в часах и ставьте каталог на отдельный том.

Что смотреть на сервере

  • 🧠 Память рабочих процессов rphost. Постоянный рост без падения — повод настроить перезапуск процессов.
  • 💽 Очередь диска на томе СУБД. Высокая очередь при низкой загрузке CPU — упираетесь в диск.
  • 🔒 Ожидания на блокировках. В технологическом журнале — события TLOCK и TTIMEOUT.
  • 📊 Счётчики потребления ресурсов в консоли кластера показывают, какие сеансы грузят процессор и СУБД.

Что делать с типичными сбоями

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

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

Можно ли ставить сервер 1С и СУБД на одну машину?
Да. До 50–70 пользователей это обычная схема. Главное — дать СУБД и 1С достаточно памяти и не ставить туда же терминальный сервер.
Нужен ли сервер 1С для 5 пользователей?
Чаще нет: файловая база на быстром диске справится. Сервер оправдан, если базы большие, есть удалённые сотрудники или нужна стабильность при обрывах сети.
Как обновить платформу на сервере?
Установите новую версию рядом, остановите службу старой, переведите службу на новую версию и запустите. Клиенты должны получить ту же версию. Работы — в нерабочее время: при остановке службы все сеансы обрываются.
Можно ли поставить сервер 1С на виртуальную машину?
Можно. Учтите проброс USB для аппаратного ключа и то, что программная лицензия привязана к параметрам виртуального железа: смена MAC-адреса или дисков может её сбросить.
Работает ли сервер 1С с MS SQL Express?
Технически да, но Express ограничен по памяти и размеру базы. Для рабочей нагрузки лучше полноценный SQL Server или PostgreSQL.