Сервер 1С 8.3 с нуля: установка, кластер, СУБД и первая база

· 11 мин

Содержание

Чтобы запустить сервер 1С:Предприятие 8.3, нужно четыре вещи: установить компонент «Сервер 1С:Предприятия» из полного дистрибутива платформы, зарегистрировать и стартовать службу агента (srv1cv8-<версия>@default в Linux или «Агент сервера 1С:Предприятия 8.3» в Windows), поднять СУБД и создать в кластере информационную базу. Клиенты подключаются к серверу по имени хоста через порт 1540, рабочие процессы слушают диапазон 1560–1591.

Ниже порядок, в котором это делают администраторы: сначала проверка железа и имени хоста, потом платформа, служба, СУБД, база и, если нужен доступ через браузер, публикация на Apache или IIS. Платформа — 8.3.2x, Linux — Ubuntu/Debian, Windows — Server 2016 и новее.

Что решить и проверить до установки сервера 1С

Сначала выберите схему. От неё зависит, сколько машин и лицензий понадобится.

СхемаКогда подходитЧто учесть
Сервер 1С и СУБД на одной машинедо 30–50 пользователей, одна-две базыпроще администрировать, но память делят два процесса
Сервер 1С и СУБД на разных машинахот 50 пользователей, тяжёлые базы (ERP, КА)быстрая сеть между ними (от 1 Гбит/с), задержка минимальная
Сервер 1С + веб-серверудалённые сотрудники, тонкий клиент через интернетApache или IIS, HTTPS обязателен

Ориентировочные требования к железу для одной машины «сервер + PostgreSQL»:

  • 🖥️ 10–20 пользователей — 4 ядра, 16 ГБ ОЗУ, SSD от 240 ГБ;
  • 🖥️ 20–50 пользователей — 8 ядер, 32 ГБ ОЗУ, NVMe под базы и журналы СУБД;
  • 🖥️ больше 50 — разносите СУБД на отдельный сервер и считайте по реальной нагрузке.

Это стартовые цифры, а не норматив. Главное узкое место у 1С — дисковая подсистема СУБД, на HDD сервер работать будет, но медленно.

Перед установкой проверьте ещё три вещи:

  1. Имя хоста. Сервер и все клиенты должны разрешать имя сервера в правильный IP. В Linux проверьте /etc/hosts: имя машины не должно указывать на 127.0.1.1, иначе клиенты получат неверный адрес от агента.
  2. Лицензия. Для работы клиентов через сервер нужна серверная лицензия (программная или аппаратный ключ) плюс клиентские лицензии на число пользователей. Без лицензии сервера база не запустится.
  3. Дистрибутив. Скачайте полный дистрибутив той же версии, что стоит у клиентов. Версии сервера и клиента должны совпадать до последней цифры.

Учебная версия платформы клиент-серверный режим не поддерживает. Для теста возьмите полноценную платформу и временную лицензию.

Установка сервера 1С 8.3 на Linux (Ubuntu, Debian)

С версии 8.3.20 платформа для Linux поставляется единым установщиком setup-full-<версия>-x86_64.run. Он сам создаёт системного пользователя usr1cv8 и группу grp1cv8, от имени которых работает сервер. Отдельно заводить пользователя для 1С не нужно.

Подготовка системы

Обновите пакеты и поставьте шрифты и библиотеки, без которых не работает формирование печатных форм и отчётов на сервере:

sudo apt update && sudo apt upgrade -y
sudo apt install -y fontconfig libgsf-1-114 ttf-mscorefonts-installer
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8

Если установщик при запуске сообщит о недостающих библиотеках, доустановите их тем же apt install и запустите его снова.

Установка платформы

Распакуйте архив и запустите установщик без графического интерфейса, указав только серверные компоненты:

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

Номер версии подставьте свой. Компонент ws нужен только для веб-публикации, server_admin — для сервера администрирования (RAS). Файлы лягут в /opt/1cv8/x86_64/8.3.25.1374/.

Регистрация и запуск службы

В каталоге платформы лежит готовый unit-файл systemd. Подключите его, включите автозапуск и стартуйте:

cd /opt/1cv8/x86_64/8.3.25.1374
sudo systemctl link $(pwd)/srv1cv8-8.3.25.1374@.service
sudo systemctl enable srv1cv8-8.3.25.1374@default
sudo systemctl start srv1cv8-8.3.25.1374@default
sudo systemctl status srv1cv8-8.3.25.1374@default

Статус должен быть active (running). Каталог кластера с реестром баз появится в /home/usr1cv8/.1cv8/1C/1cv8/.

Откройте порты, если включён брандмауэр:

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

Чтобы управлять кластером с помощью rac или консоли из Windows, запустите сервер администрирования (порт 1545). В том же каталоге есть unit ras-8.3.25.1374.service — подключается так же, через systemctl link и enable. Проверка:

./rac cluster list

Команда выведет UUID кластера, имя хоста и порт 1541. Если вывод есть — сервер жив.

Запуск сервера 1С:Предприятия на Windows

На Windows всё делает обычный мастер установки из дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows».

  1. Запустите setup.exe от имени администратора.
  2. В списке компонентов включите «Сервер 1С:Предприятия 8», «Администрирование сервера 1С:Предприятия» и, если нужна веб-публикация, «Модули расширения веб-сервера».
  3. На шаге с параметрами службы отметьте «Установить 1С:Предприятие 8 как сервис Windows». Мастер предложит создать пользователя USR1CV8 — оставьте так, служба будет работать от него, а не от администратора.
  4. Завершите установку. В оснастке services.msc появится служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» с автоматическим запуском.

После установки зарегистрируйте библиотеку консоли кластера. Без этого шага оснастка «Администрирование серверов 1С Предприятия» не откроется или выдаст ошибку класса:

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

Команду выполняют в командной строке от имени администратора. После обновления платформы её повторяют с новым номером версии.

Откройте в брандмауэре Windows входящие TCP-порты 1540, 1541 и 1560–1591. Данные кластера хранятся в C:\Program Files\1cv8\srvinfo.

На Windows перезапуск службы агента обрывает все сеансы пользователей. Делайте его вне рабочего времени или после рассылки предупреждения.

Настройка кластера: администратор, порты, рабочие процессы

Схема подключения простая: клиент обращается к агенту на порт 1540, агент отдаёт адрес менеджера кластера (1541), дальше клиент работает с рабочим процессом из диапазона 1560–1591. Диапазон портов задаётся в свойствах рабочего сервера.

Что настроить сразу после запуска:

  1. Администратор кластера. В консоли откройте Кластеры → Локальный кластер → Администраторы и добавьте пользователя с паролем. Без этого любой, у кого есть консоль, может удалить базу.
  2. Администратор центрального сервера. Добавляется в узле Администраторы верхнего уровня, над кластерами. Сначала заведите его, потом администратора кластера.
  3. Свойства рабочего сервера. Там задают число информационных баз и соединений на процесс, критический объём памяти процессов и допустимый объём. На старте оставьте значения по умолчанию и меняйте по результатам мониторинга.

В Linux те же действия выполняют через rac. Точный синтаксис подкоманд для администраторов и рабочих серверов смотрите в справке rac help cluster и rac help server — он различается между релизами.

Если пароль администратора кластера потерян, не пересоздавайте кластер. Остановите службу вне рабочего времени и восстановите каталог srvinfo из резервной копии либо обратитесь к администратору сервера.

СУБД для сервера 1С: PostgreSQL или MS SQL Server

Серверу 1С нужна СУБД, в которой физически лежат таблицы базы. Выбор обычно между двумя вариантами:

СУБДГде работаетПлюсыНа что смотреть
PostgreSQL (сборка для 1С)Linux, Windowsбесплатная, хорошо работает с 1С на Linuxнужна сборка с патчами для 1С, а не ванильная
MS SQL ServerWindowsпривычна для Windows-администраторов, удобные бэкапыплатные лицензии; Express ограничен по размеру базы

PostgreSQL на Linux

Ставьте сборку PostgreSQL, адаптированную под 1С: её распространяет фирма «1С» для пользователей с подпиской, есть также дистрибутивы Postgres Pro для 1С. Ванильная версия из репозитория Ubuntu базу 1С не создаст или будет работать с ошибками.

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

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

Для продуктивной работы лучше создать отдельную роль с правом создавать базы, а не работать под postgres. В pg_hba.conf разрешите подключение с адреса сервера 1С методом scram-sha-256 или md5 и перезапустите PostgreSQL.

Стартовые параметры в postgresql.conf для машины на 32 ГБ, где СУБД стоит вместе с сервером 1С:

shared_buffers = 8GB
effective_cache_size = 16GB
work_mem = 64MB
maintenance_work_mem = 1GB

MS SQL Server на Windows

Установите экземпляр с сортировкой Cyrillic_General_CI_AS, включите смешанную аутентификацию и создайте логин SQL с ролью dbcreator. Под этим логином сервер 1С будет создавать базы. Ограничьте максимальную память SQL Server, чтобы она не съела ОЗУ, нужную рабочим процессам 1С.

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

Базу создают одним из трёх способов. Результат одинаковый: запись в реестре кластера и база в СУБД.

Через консоль кластера (Windows)

  1. В консоли раскройте кластер, щёлкните правой кнопкой по узлу Информационные базы и выберите Создать → Информационная база.
  2. Заполните имя базы в кластере, тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
  3. Отметьте «Создать базу данных в случае ее отсутствия».
  4. Нажмите «ОК». Пустая база появится в списке.

Из окна запуска 1С

В окне запуска нажмите Добавить → Создание новой информационной базы, выберите шаблон или пустую базу, затем вариант «На сервере 1С:Предприятия». Мастер спросит те же параметры: кластер, имя базы, СУБД и учётные данные. Этот способ удобен на Linux, где графической консоли нет.

Через rac на Linux

Команда rac infobase create создаёт базу без графического интерфейса. Набор параметров (тип СУБД, сервер, логин, флаг создания базы в СУБД) смотрите в rac help infobase для своей версии.

Подключение пользователей

На рабочем месте пользователя: Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия. В поле кластера укажите имя сервера, в поле базы — имя базы в кластере. Строка подключения выглядит так: Srvr="srv1c";Ref="buh";.

Если агент работает на нестандартном порту, имя пишут с портом менеджера: srv1c:2541.

Дальше загрузите конфигурацию: в Конфигураторе Администрирование → Загрузить информационную базу для файла .dt или Конфигурация → Загрузить конфигурацию из файла для .cf. Загрузка .dt требует монопольного доступа и полностью заменяет содержимое базы.

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

В первые дни следите за тремя показателями:

  • 📊 Сеансы и лицензии — узел Сеансы в консоли или rac session list --licenses показывают, кто занял лицензию;
  • 📊 Рабочие процессы — объём памяти и число соединений на процесс; рост памяти без падения — повод разбираться с кодом или регламентными заданиями;
  • 📊 Технологический журнал — настраивается файлом logcfg.xml в каталоге conf платформы (/opt/1cv8/conf/ в Linux, C:\Program Files\1cv8\conf\ в Windows). Включайте точечно: события EXCP и долгие запросы, иначе журнал заполнит диск за сутки.

Обслуживание СУБД (резервные копии, VACUUM ANALYZE в PostgreSQL или планы обслуживания в MS SQL) настройте сразу, до того как база вырастет.

Веб-доступ к базе через Apache (по желанию)

Веб-публикация нужна для работы через браузер, тонкого клиента по HTTP и мобильного клиента. Для локальной сети без неё можно обойтись.

Публикация утилитой webinst

На Linux установите Apache и опубликуйте базу утилитой из каталога платформы:

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

Утилита создаст файл default.vrd в каталоге публикации и допишет секцию в конфигурацию Apache. База откроется по адресу http://srv1c/buh.

Ручной файл конфигурации 1c.conf

Если удобнее держать публикации в отдельном файле, создайте /etc/apache2/sites-available/1c.conf:

LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.25.1374/wsap24.so"

Alias "/buh" "/var/www/buh/"
<Directory "/var/www/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "/var/www/buh/default.vrd"
</Directory>

Рядом положите /var/www/buh/default.vrd:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/buh"
       ib="Srvr=srv1c;Ref=buh;">
</point>

Включите сайт и перечитайте конфигурацию:

sudo a2ensite 1c
sudo systemctl reload apache2

Путь к модулю wsap24.so содержит номер версии. После обновления платформы поправьте путь в 1c.conf, иначе Apache не стартует или будет грузить старый модуль.

На Windows публикацию делают из Конфигуратора: Администрирование → Публикация на веб-сервере, веб-сервер — IIS или Apache. Для доступа из интернета обязательно настройте HTTPS и не публикуйте базу без пароля пользователей.

Почему сервер 1С не запускается или к нему нет подключения

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

Частые вопросы о запуске сервера 1С

Можно ли держать на одной машине несколько версий сервера 1С?
Да. Каждая версия ставится в свой каталог. Одновременно на одних портах работает только одна служба; второй экземпляр запускают с другим портом агента и другим каталогом кластера.
Нужна ли лицензия на сервер, если пользователей всего пять?
Да. Клиент-серверный режим требует лицензию на сервер 1С независимо от числа пользователей, плюс клиентские лицензии на каждое одновременное подключение.
Как перенести файловую базу на сервер?
Выгрузите файловую базу в .dt через Конфигуратор, создайте пустую базу в кластере и загрузите в неё этот файл. Пользователям поменяйте путь к базе в окне запуска.
Сколько баз можно разместить в одном кластере?
Жёсткого ограничения на десятки баз нет. Предел задают память, диски и нагрузка. Тяжёлые базы с сотнями пользователей лучше разносить по отдельным кластерам или серверам.
Обязательно ли ставить сервер на Linux?
Нет. Функциональность сервера на Linux и Windows одинакова. Linux с PostgreSQL обычно дешевле по лицензиям, Windows с MS SQL удобнее, если в компании уже есть Windows-администратор.