Сервер 1С:Предприятия с нуля: от платформы до рабочей базы

· 10 мин

Содержание

Чтобы установить конфигурацию 1С на сервер, нужно пройти четыре этапа: поставить СУБД (PostgreSQL или MS SQL), установить серверную платформу 1С:Предприятие 8.3 как службу, создать в кластере информационную базу и загрузить в неё конфигурацию из файла .cf, шаблона или выгрузки .dt. Сама конфигурация на сервер «отдельно» не ставится: она всегда живёт внутри базы.

Типичная ситуация: фирма выросла с пяти до двадцати пользователей, файловая база начала тормозить и ловить блокировки. Администратор получает задачу перевести учёт на сервер за выходные. Ниже порядок, который позволяет сделать это без сюрпризов в понедельник. Всё сказанное относится к платформе 8.3 и подходит для любой типовой конфигурации: БП, ЗУП, УТ, ERP.

Подготовка сервера под 1С: железо, ОС и СУБД

Начинайте не с дистрибутива 1С, а со списка того, что должно быть готово заранее.

🖥️ Операционная система. Windows Server 2016 и новее либо поддерживаемый Linux (Debian, Ubuntu, РЕД ОС, Astra Linux, Альт — смотрите перечень для своей версии платформы).

🗄️ СУБД. Для PostgreSQL нужна сборка с патчами под 1С: Postgres Pro для 1С или сборка PostgreSQL от фирмы 1С. Обычный PostgreSQL из репозитория дистрибутива не подойдёт. MS SQL Server ставится в стандартной редакции, базу в нём руками создавать не нужно: 1С сделает это сама с правильными настройками.

🔑 Лицензии. Серверная лицензия (программная или ключ HASP) плюс клиентские лицензии по числу одновременных сеансов. Разрядность серверной лицензии должна совпадать с разрядностью сервера 1С.

🌐 Имя и сеть. Серверу нужно постоянное имя и статический IP. Клиенты обращаются к серверу по имени, поэтому имя должно разрешаться у всех: через DNS или файл hosts.

Ориентир по ресурсам для небольшой организации:

ПользователейЦПОЗУДиск под базы
до 154 ядра16 ГБSSD
15–508 ядер32 ГБSSD/NVMe
50+12+ ядер64 ГБ и большеNVMe, отдельный том под журналы СУБД

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

Готовность сервера к установке 1С
Выполнено: 0 / 6

Установка серверной платформы 1С:Предприятие на Windows и Linux

Версия сервера и клиентов должна совпадать до последней цифры сборки. Клиент 8.3.24.1548 к серверу 8.3.24.1342 не подключится. Поэтому сначала решите, какую сборку ставите, и раздайте её же на рабочие места.

Windows

  1. Распакуйте дистрибутив технологической платформы для Windows x86-64 и запустите setup.exe.
  2. В списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». Клиентские компоненты на сервере тоже пригодятся: через них удобно открывать Конфигуратор.
  3. Отметьте установку сервера как службы Windows. Установщик предложит создать пользователя USR1CV8 и задать ему пароль. Можно указать и доменную учётную запись.
  4. Завершите установку. В оснастке «Службы» появится служба агента сервера 1С:Предприятия 8.3 с автоматическим запуском.

По умолчанию агент слушает порт 1540, менеджер кластера — 1541, рабочие процессы берут порты из диапазона 1560–1591. Данные кластера лежат в каталоге srvinfo (обычно C:\Program Files\1cv8\srvinfo).

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

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

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

Linux

С версии 8.3.20 платформа для Linux поставляется единым установщиком setup-full-<версия>-x86_64.run. Его можно пройти в графическом режиме или в пакетном:

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

Набор компонентов сверьте со справкой установщика (--help). Платформа ставится в /opt/1cv8/x86_64/<версия>/, службу запускают от пользователя usr1cv8.

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

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

Графической оснастки на Linux нет. Кластером управляют с Windows-машины через ту же оснастку или утилитой rac, которой нужен запущенный сервер администрирования ras.

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

ras нужен для rac и для управления кластером из самой конфигурации (блокировка сеансов при обновлении). На Linux его запускают командой ras cluster --daemon. На Windows его оформляют службой:

sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1548\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto

Проверка, что всё живо: rac cluster list должен вернуть кластер с его идентификатором.

Кластер серверов: проверка и базовые настройки

При установке службы кластер создаётся автоматически, «Локальный кластер» на порту 1541. Создавать его заново не нужно.

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

  1. Администратор кластера. В разделе «Администраторы» кластера заведите учётную запись с паролем. Пока список пуст, управлять кластером может любой, кто дотянулся до порта 1540.
  2. Администратор центрального сервера. Тот же принцип на уровне агента. Пароль запишите в хранилище паролей: при его потере придётся останавливать службу и восстанавливать файлы srvinfo из резервной копии.
  3. Свойства рабочего сервера. Здесь задают диапазон портов рабочих процессов, число информационных баз и соединений на процесс, а также параметры отказоустойчивости. Для одного сервера и 20–30 пользователей значения по умолчанию обычно подходят.

Кластер регистрируется по имени компьютера. Если сервер потом переименовать, клиенты перестанут подключаться. Имя выбирайте сразу окончательное.

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

Базу можно создать двумя путями: из оснастки или из окна запуска 1С. Результат одинаковый.

Через оснастку администрирования

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

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

Через окно запуска 1С

В окне запуска нажмите «Добавить», выберите создание новой базы и укажите, что она размещается на сервере 1С:Предприятия. Если на компьютере установлены шаблоны конфигураций, базу сразу можно создать из шаблона: она будет с готовой конфигурацией. Шаблоны ставятся запуском setup.exe из дистрибутива конфигурации и попадают в каталог шаблонов (обычно %APPDATA%\1C\1cv8\tmplts).

Три способа загрузить конфигурацию

СпособЧто получитеКогда выбирать
Создание из шаблонаЧистая база с типовой конфигурациейНовая организация, учёт с нуля
Загрузка .cf в пустую базуКонфигурация без данныхЕсть файл конфигурации, в том числе доработанной
Загрузка .dtКонфигурация вместе с даннымиПеренос существующей базы с файлового варианта или другого сервера

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

Загрузка .dt полностью затирает текущее содержимое базы. Если промахнулись базой в списке, данные пропадут. Перед загрузкой проверьте имя базы в заголовке окна Конфигуратора.

При переносе с файлового варианта сделайте выгрузку .dt в исходной базе в момент, когда в ней никто не работает . Потом загрузите файл в серверную базу и сравните пару контрольных цифр, например оборотно-сальдовую ведомость за последний месяц.

Пользователи 1С, права и доступ к серверу

На сервере работают три независимых уровня прав. Их часто путают.

УровеньГде настраиваетсяКто входит
Учётная запись службыОС: USR1CV8 на Windows, usr1cv8 на LinuxТолько служба сервера 1С
Администраторы кластера и базыОснастка администрирования, свойства кластера и базыИТ-специалисты
Пользователи информационной базыСама конфигурацияБухгалтеры, кладовщики, менеджеры

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

Пользователи базы. Первого пользователя с полными правами создают в Конфигураторе: Администрирование → Пользователи. Остальных удобнее заводить уже в режиме Предприятия: Администрирование → Настройки пользователей и прав → Пользователи, там права раздаются профилями групп доступа.

💡 Для доменной сети включите аутентификацию операционной системы и сопоставьте пользователей 1С с доменными учётками. Пользователи перестанут вводить пароль при входе, а уволенный сотрудник теряет доступ вместе с отключением учётной записи в домене.

Обновление конфигурации на сервере и блокировка сеансов

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

  1. Сделайте резервную копию: выгрузку .dt или бэкап средствами СУБД.
  2. В оснастке откройте свойства информационной базы. Включите «Блокировка начала сеансов включена», задайте время начала и окончания, текст сообщения и код разрешения, например upd77.
  3. Дождитесь, пока сеансы закончатся. Оставшиеся можно завершить из оснастки (ветка «Сеансы»), но предупредите людей заранее: несохранённые документы пропадут.
  4. Запустите Конфигуратор с параметром /UC и кодом разрешения, например /UCupd77, чтобы пройти через блокировку.
  5. Выполните Конфигурация → Поддержка → Обновить конфигурацию, укажите файл обновления .cfu и примите изменения.
  6. Обновите конфигурацию базы данных (F7). Если изменилась структура данных, платформа потребует монопольный доступ — блокировка из шага 2 его и обеспечивает.
  7. Зайдите в режиме Предприятия под администратором, дождитесь обработчиков обновления и снимите блокировку.

Типовые конфигурации умеют делать то же самое сами, через обработку обновления в разделе Администрирование → Обслуживание. Для этого конфигурации нужно подключиться к кластеру, а значит, на сервере должен работать ras.

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

Если сервер 1С не отвечает или тормозит

Большинство проблем после установки — сетевые или связаны с версиями. Ниже симптомы, которые встречаются чаще всего.

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

Производительность. Если база медленная только на сервере, а в файловом варианте летала, начните с СУБД. Для PostgreSQL почти всегда нужно поднять shared_buffers и work_mem под объём памяти: значения по умолчанию рассчитаны на очень скромную машину. Для MS SQL ограничьте максимальную память, чтобы СУБД не отбирала её у рабочих процессов 1С.

Дальше — регламент: еженедельное обновление статистики и обслуживание индексов в СУБД. Без этого запросы со временем деградируют.

Для разбора конкретных медленных операций включают технологический журнал. Его настройки лежат в файле logcfg.xml в каталоге conf платформы. Включайте журнал адресно, на нужные события и на ограниченное время: в полном объёме он быстро съедает диск.

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

Можно ли поставить сервер 1С и СУБД на одну машину?
Да, для небольших организаций это обычная схема. Главное — дать памяти на обе службы и ограничить потребление памяти СУБД.
Нужна ли отдельная лицензия на сервер?
Да. Клиентские лицензии дают право на сеансы, а для работы кластера нужна серверная лицензия нужной разрядности. Без неё клиент-серверная база не запустится.
Как подключить базу на сервере у пользователя?
В окне запуска нажмите «Добавить», выберите добавление существующей базы на сервере и укажите имя сервера и имя базы в кластере.
Можно ли держать на одном сервере несколько версий платформы?
Можно, но каждая версия запускается своей службой со своими портами. Обычно проще держать одну версию и обновлять её вместе с клиентами.
Что делать, если забыли пароль администратора кластера?
Остановить службу в нерабочее время и восстановить каталог srvinfo из резервной копии либо обратиться к администратору, который его настраивал. Удалять и пересоздавать кластер не стоит: пропадут регистрации баз.