Установка серверной 1С с нуля: от СУБД до первой базы
Содержание
Серверная 1С ставится в пять приёмов: подготовить машину и СУБД, установить сервер 1С:Предприятия, зарегистрировать кластер в консоли, создать информационную базу и подключить лицензии. На чистом сервере это занимает 1-2 часа, если версии платформы и СУБД совместимы заранее.
Серверный вариант нужен, когда в базе работает больше 5-10 человек, база перевалила за 10-20 ГБ или нужны регламентные задания без открытого клиента. Файловая база в этих случаях упирается в блокировки и сеть.
Ниже порядок действий, который одинаково работает для Windows и Linux. Различия отмечены отдельно.
Что проверить перед стартом
Ошибки в подготовке потом лечатся переустановкой. Пройдитесь по списку, пока на сервере ещё пусто.
- 🖥 Железо. Для 10-20 пользователей ориентир: 4-8 ядер, 16-32 ГБ ОЗУ, SSD под данные СУБД. Диск под базу не делайте общим с системным.
- 🔢 Версии. Платформа 1С на сервере и на клиентах должна совпадать по первым трём группам цифр (например, 8.3.24). Клиент старее сервера не подключится.
- 🌐 Имя сервера. Задайте постоянное имя и IP. Имя в кластере хранится жёстко: после переименования машины кластер придётся пересоздавать.
- 🔓 Порты. Откройте на брандмауэре 1540 и 1541, диапазон 1560-1591 для рабочих процессов, 5432 для PostgreSQL (только между серверами, наружу не открывайте).
- 💾 Куда писать. Заранее выберите каталоги: для служебных данных кластера (
srvinfo), для данных СУБД и для резервных копий.
Не ставьте сервер 1С и СУБД на контроллер домена и на машину с пользовательскими сессиями терминала. Обновление или перезагрузка одного сломает всё остальное.
Один сервер или два
| Схема | Когда подходит | Риски |
|---|---|---|
| СУБД и 1С на одной машине | до 20-30 пользователей, небольшие базы | Конкуренция за ОЗУ, один сбой роняет всё |
| 1С и СУБД на разных машинах | от 30 пользователей, тяжёлые отчёты | Нужна быстрая сеть между ними (от 1 Гбит/с, лучше без лишних маршрутизаторов) |
Для первого запуска хватит одной машины. Вынести СУБД отдельно можно позже, перенеся базу.
Какую СУБД выбрать и как её поставить
Платформа умеет работать с PostgreSQL, Microsoft SQL Server, IBM Db2 и Oracle. Для малого и среднего бизнеса на практике выбирают между двумя.
- ✅ PostgreSQL — бесплатно, без лицензий на СУБД. Нужна сборка, совместимая с платформой: обычная PostgreSQL с официального сайта не подойдёт, потому что 1С требует патчей. Берите дистрибутив PostgreSQL для 1С (поставляется вместе с платформой или в виде сборок от Postgres Pro).
- 💰 MS SQL Server — платный, зато хорошо знаком администраторам на Windows. Редакция Standard покрывает большинство задач.
Дальше пример для PostgreSQL.
Установка PostgreSQL
- Скачайте сборку, совместимую с вашей версией платформы. Номера поддерживаемых версий СУБД смотрите в описании релиза платформы на сайте 1С.
- Запустите установщик. При выборе каталога данных укажите отдельный диск или раздел.
- Задайте пароль суперпользователя
postgres. Он понадобится при создании базы. Сразу сохраните его в менеджере паролей. - Порт оставьте по умолчанию —
5432. - После установки проверьте, что служба запущена, и подключитесь клиентом:
psql -U postgres -h localhost.
Настройка под 1С
Пара параметров в postgresql.conf сильно влияет на скорость. Значения ниже — ориентир для машины с 16 ГБ ОЗУ, где СУБД делит память с сервером 1С.
shared_buffers = 4GB
effective_cache_size = 8GB
work_mem = 32MB
maintenance_work_mem = 512MB
max_connections = 200
В pg_hba.conf разрешите подключение с адреса сервера 1С. Если оба сервиса на одной машине, достаточно локального адреса. После правок перезапустите службу PostgreSQL.
На своп и ОЗУ ориентируйтесь честно: если 1С и СУБД делят 16 ГБ, отдавайте СУБД не больше трети. Остальное нужно рабочим процессам 1С.
Установка сервера 1С:Предприятия и консоли
Дистрибутив серверной части скачивается с сайта поддержки 1С по логину пользователя. Нужен полный комплект платформы для вашей ОС.
Windows
- Запустите установщик платформы и на шаге выбора компонентов отметьте «1С:Предприятие — сервер». Клиентские компоненты можно оставить: они пригодятся для проверки.
- Установщик предложит поставить сервер как службу Windows. Согласитесь.
- Рекомендуется запускать службу не от «Локальной системы», а от отдельной учётной записи, например
USR1CV8. Она должна иметь права на каталог кластера и на запись в каталог временных файлов. - Каталог служебных данных (
srvinfo) по умолчанию лежит на системном диске. Перенесите его на быстрый диск при установке или позже через параметры службы. - Запустите службу «Агент сервера 1С:Предприятия 8.3» и убедитесь, что она в состоянии «Выполняется».
Linux
- Установите пакеты платформы (
.debили.rpm) — серверную часть и общие библиотеки. - Установка создаёт пользователя
usr1cv8и группуgrp1cv8. От него будет работать сервер. - Подключите службу через
systemd: в комплекте идёт скрипт регистрации сервисаsrv1cv8. - Запустите и добавьте в автозагрузку:
systemctl enable --now srv1cv8-<версия>@default
systemctl status srv1cv8-<версия>@default
- Проверьте, что порты слушаются:
ss -tlnp | grep -E '1540|1541'.
Консоль администрирования
Для управления кластером есть два варианта.
- Консоль серверов 1С — оснастка, ставится вместе с платформой на Windows. С неё удобно работать с любого рабочего места администратора.
- Утилита
racвместе с сервером администрированияras— для Linux и скриптов. Запускras clusterподнимает слушающий порт 1545,racобращается к нему.
Если администрируете Linux-сервер из Windows-консоли, версия консоли тоже должна совпадать с версией сервера.
Как зарегистрировать кластер и настроить серверы
Кластер — это логическая единица: один или несколько серверов, которые вместе обслуживают базы. Для первого запуска нужен один сервер в одном кластере.
Что внутри, и зачем это знать при диагностике:
- ragent — агент сервера, слушает порт 1540. Запускается первым.
- rmngr — менеджер кластера, порт 1541. Распределяет сессии.
- rphost — рабочие процессы, порты из диапазона 1560-1591. Именно они обрабатывают запросы пользователей и держат память.
Подключение в консоли
- Откройте консоль и добавьте новый центральный сервер: имя машины и порт
1540. - После подключения в дереве должен появиться кластер с именем «Локальный кластер» и портом
1541. Если его нет, создайте вручную. - В свойствах кластера задайте имя и, при необходимости, пароль администратора кластера. Без пароля подключиться к нему может любой, кто видит порты.
- В разделе «Рабочие серверы» проверьте количество рабочих процессов и лимит памяти. Для начала достаточно значений по умолчанию.
Лимиты рабочих процессов
В свойствах рабочего сервера есть настройка допустимой памяти рабочего процесса и срока его жизни. Сначала не меняйте её. Если процессы часто «раздуваются», тогда выставляйте перезапуск по расписанию, а не наугад.
Создание информационной базы в кластере и связь с PostgreSQL
Есть два пути: создать пустую базу из консоли либо загрузить уже готовую выгрузку.
Пустая база из консоли
- В дереве выберите кластер → «Информационные базы» → «Создать» → «Информационная база».
- Укажите имя базы (латиницей, без пробелов — так проще в скриптах и в строке подключения).
- Тип СУБД —
PostgreSQL. В поле «Сервер баз данных» впишите адрес машины с СУБД, в «Имя базы данных» — название будущей базы. - Пользователь и пароль — суперпользователь
postgres, заданный при установке. - Отметьте «Создать базу данных в случае её отсутствия». Без этой галочки база в PostgreSQL не появится, и вы получите ошибку подключения.
- Установите блокировку выдачи лицензий в базе по необходимости, остальное оставьте по умолчанию и сохраните.
После создания в PostgreSQL появится пустая база. Структуру метаданных она получит при первой загрузке конфигурации или выгрузки.
Перенос готовой базы
Из файловой версии или со старого сервера перенос делается так:
- В конфигураторе старой базы выполните «Администрирование → Выгрузить информационную базу» — получится файл
.dt. - Создайте пустую базу в кластере (шаги выше).
- Откройте её в конфигураторе от имени администратора и выберите «Администрирование → Загрузить информационную базу».
- Дождитесь окончания. На базе в 20 ГБ загрузка идёт несколько часов, и прерывать её нельзя.
Перед загрузкой сделайте копию исходной базы и .dt сохраните отдельно. Загрузка заменяет данные целиком.
Подключение пользователей
В списке баз клиента добавьте базу как «На сервере 1С:Предприятия». Укажите кластер в формате имя_сервера:1541 (или просто имя_сервера, если порты стандартные) и имя базы из консоли. Для веб-доступа база публикуется на веб-сервере отдельно.
Лицензии и ключи защиты для сервера
Серверная работа требует своих лицензий: кроме клиентских на каждое подключение, лицензируется и сам серверный компонент в составе «ПРОФ» или «КОРП» версий. Точный набор зависит от того, что вы покупали, поэтому сверяйтесь с документами на лицензию.
Типы лицензий и ключей:
- 🔑 Аппаратный ключ (USB-ключ HASP или Guardant). Подключается к машине, где запущен кластер.
- 💻 Программная лицензия. Активируется через сервер лицензирования, привязана к конфигурации машины.
- 🧾 Клиентские лицензии на N мест — определяют, сколько пользователей подключатся одновременно.
Как подключить ключ
- Установите драйвер защиты (он идёт в составе платформы или отдельным пакетом), если ключ аппаратный.
- Вставьте ключ в машину с агентом сервера. Для виртуальной машины настройте проброс USB либо используйте сетевой менеджер ключей.
- Запустите менеджер лицензий (утилита из комплекта сервера) и проверьте, что ключ виден.
- Откройте консоль кластера: у рабочего сервера должна появиться информация о полученных лицензиях.
- Подключитесь клиентом — в окне «О программе» будет указан тип использованной лицензии.
Лицензии вне законных условий не обсуждаем. Если ключ потерян или повреждён, восстановление идёт через поддержку 1С или партнёра по номеру регистрации.
Регламентные задания и обслуживание
Сервер сам запускает фоновые процессы: обновление полнотекстового индекса, сверку расчётов, обмены. Задания видны в консоли и в самой базе.
Что настроить в первый день
- ⏰ Резервное копирование
. Для PostgreSQL используйте
pg_dumpпо расписанию. Для 1С отдельно выгружайте.dtраз в неделю: он страхует от сбоев СУБД. - 🔒 Блокировка регламентных заданий. В свойствах базы есть флажок запрета. Включайте его на тестовых копиях, иначе копия будет отправлять письма и обмены, как боевая.
- 🧹 Очистка. Раз в месяц чистите журналы регистрации и устаревшие данные при помощи штатных механизмов базы.
Автоматизация
Простой скрипт копирования базы PostgreSQL по расписанию (для Linux):
#!/bin/bash
DATE=$(date +%Y-%m-%d)
pg_dump -U postgres -Fc buh_base > /backup/buh_base_$DATE.dump
find /backup -name "buh_base_*.dump" -mtime +14 -delete
Запускайте скрипт из cron ночью. Хранить удобно 14 суток; копию за последний месяц отправляйте на другую машину.
Для Windows тот же результат даёт планировщик заданий, который вызывает pg_dump.exe.
Обновление платформы
Обновлять сервер нужно в окно, когда нет пользователей. Порядок: остановить службу агента, поставить новую версию платформы, запустить службу, переподключить клиентов. Старая версия на клиентах перестанет работать с новым сервером, поэтому клиенты обновляются сразу после.
Если что-то пошло не так и как ускорить работу
Больше половины проблем при первом запуске сводится к четырём причинам: порты, права, версии и лицензии.
telnet имя_сервера 1540.pg_hba.conf).systemctl status и права каталога служебных данных: владелец должен быть usr1cv8.Как понять, что сервер тормозит
Откройте консоль и посмотрите на три вещи:
- Рабочие процессы. Если один
rphostдержит несколько гигабайт, а остальные простаивают, увеличьте число процессов либо перезапускайте их по расписанию. - Блокировки. Долгие транзакции видны в списке сеансов. Пользователь, у которого висит операция десятки минут, держит блокировку для остальных.
- Диск. При загрузке диска СУБД на 80-100% помогает только вынос данных на SSD или чистка индексов.
Для СУБД раз в сутки выполняйте обслуживание: VACUUM ANALYZE обновляет статистику, без которой планировщик строит плохие запросы. Для PostgreSQL это можно включить автозапуском, но на больших таблицах ручной запуск ночью надёжнее.