Сервер 1С:Предприятия с нуля: от платформы до рабочей базы
Содержание
Чтобы установить конфигурацию
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.
Ориентир по ресурсам для небольшой организации:
| Пользователей | ЦП | ОЗУ | Диск под базы |
|---|---|---|---|
| до 15 | 4 ядра | 16 ГБ | SSD |
| 15–50 | 8 ядер | 32 ГБ | SSD/NVMe |
| 50+ | 12+ ядер | 64 ГБ и больше | NVMe, отдельный том под журналы СУБД |
Цифры примерные: тяжёлые конфигурации вроде ERP съедают больше памяти, чем БП. Если СУБД и сервер 1С стоят на одной машине, памяти нужно с запасом под обе службы.
Установка серверной платформы 1С:Предприятие на Windows и Linux
Версия сервера и клиентов должна совпадать до последней цифры сборки. Клиент 8.3.24.1548 к серверу 8.3.24.1342 не подключится. Поэтому сначала решите, какую сборку ставите, и раздайте её же на рабочие места.
Windows
- Распакуйте дистрибутив технологической платформы для Windows x86-64 и запустите
setup.exe. - В списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». Клиентские компоненты на сервере тоже пригодятся: через них удобно открывать Конфигуратор.
- Отметьте установку сервера как службы Windows. Установщик предложит создать пользователя
USR1CV8и задать ему пароль. Можно указать и доменную учётную запись. - Завершите установку. В оснастке «Службы» появится служба агента сервера 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. Создавать его заново не нужно.
Откройте оснастку администрирования, добавьте центральный сервер по имени машины и раскройте дерево. Дальше три действия.
- Администратор кластера. В разделе «Администраторы» кластера заведите учётную запись с паролем. Пока список пуст, управлять кластером может любой, кто дотянулся до порта 1540.
- Администратор центрального сервера. Тот же принцип на уровне агента. Пароль запишите в хранилище паролей: при его потере придётся останавливать службу и восстанавливать файлы
srvinfoиз резервной копии. - Свойства рабочего сервера. Здесь задают диапазон портов рабочих процессов, число информационных баз и соединений на процесс, а также параметры отказоустойчивости. Для одного сервера и 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С с доменными учётками. Пользователи перестанут вводить пароль при входе, а уволенный сотрудник теряет доступ вместе с отключением учётной записи в домене.
Обновление конфигурации на сервере и блокировка сеансов
Обновление типовой конфигурации на сервере идёт так же, как в файловой базе. Разница одна: пользователей надо выгнать по-человечески, а не звонками по кабинетам.
- Сделайте резервную копию: выгрузку
.dtили бэкап средствами СУБД. - В оснастке откройте свойства информационной базы. Включите «Блокировка начала сеансов включена», задайте время начала и окончания, текст сообщения и код разрешения, например
upd77. - Дождитесь, пока сеансы закончатся. Оставшиеся можно завершить из оснастки (ветка «Сеансы»), но предупредите людей заранее: несохранённые документы пропадут.
- Запустите Конфигуратор с параметром
/UCи кодом разрешения, например/UCupd77, чтобы пройти через блокировку. - Выполните
Конфигурация → Поддержка → Обновить конфигурацию, укажите файл обновления.cfuи примите изменения. - Обновите конфигурацию базы данных (
F7). Если изменилась структура данных, платформа потребует монопольный доступ — блокировка из шага 2 его и обеспечивает. - Зайдите в режиме Предприятия под администратором, дождитесь обработчиков обновления и снимите блокировку.
Типовые конфигурации умеют делать то же самое сами, через обработку обновления в разделе Администрирование → Обслуживание. Для этого конфигурации нужно подключиться к
кластеру, а значит, на сервере должен работать ras.
Устанавливайте обновления последовательно. Пропускать промежуточные релизы можно только там, где это допускает описание обновления, иначе Конфигуратор просто не предложит нужный .cfu.
Если сервер 1С не отвечает или тормозит
Большинство проблем после установки — сетевые или связаны с версиями. Ниже симптомы, которые встречаются чаще всего.
Производительность. Если база медленная только на сервере, а в файловом варианте летала, начните с СУБД. Для PostgreSQL почти всегда нужно поднять shared_buffers и work_mem под объём памяти: значения по умолчанию рассчитаны на очень скромную машину. Для MS SQL ограничьте максимальную память, чтобы СУБД не отбирала её у рабочих процессов 1С.
Дальше — регламент: еженедельное обновление статистики и обслуживание индексов в СУБД. Без этого запросы со временем деградируют.
Для разбора конкретных медленных операций включают технологический журнал. Его настройки лежат в файле logcfg.xml в каталоге conf платформы. Включайте журнал адресно, на нужные события и на ограниченное время: в полном объёме он быстро съедает диск.