Свой сервер 1С с нуля: от чистой машины до работающей базы
Содержание
Сервер 1С — это не одна программа, а связка из трёх частей: серверная машина с платформой 1С:Предприятие (кластер серверов ), СУБД (PostgreSQL или MS SQL Server) и лицензии на сервер и клиентов. Собрать её можно за полдня, если заранее решить, на чём она будет работать и сколько пользователей придёт.
Порядок такой: выбираете ОС и железо, ставите СУБД, затем платформу, создаёте кластер, подключаете базы, активируете лицензии и закрываете лишние порты. Ниже — каждый этап с конкретными параметрами.
Что решить до установки
Сначала ответьте на четыре вопроса. Они определяют всё остальное.
- 👥 Сколько пользователей работает одновременно. До 5-10 человек хватит и файловой базы, сервер нужен от 10-15 активных сеансов или при больших объёмах данных.
- 🗄️ Какая СУБД: PostgreSQL бесплатен, MS SQL Server платный (лицензия на ядра или пользователей).
- 🖥️ Какая ОС: Windows Server или Linux.
- 🔑 Какие лицензии уже куплены: серверная и клиентские.
Файловый вариант не нужно «улучшать» ради сервера, если пользователей мало. Переход оправдан, когда база тормозит при параллельной работе или растёт за десятки гигабайт.
Минимум до старта: статический IP или внутреннее DNS-имя сервера, права администратора на машине, дистрибутивы платформы нужной версии и СУБД, доступ к ключу или файлу активации лицензии.
Операционная система и железо
Платформа 1С работает на Windows Server и на популярных дистрибутивах Linux (Debian, Ubuntu, Astra Linux, РЕД ОС и др.). Устанавливайте только 64-разрядную версию.
| Вариант | Плюсы | Минусы |
|---|---|---|
| Windows Server | привычное администрирование, проще с MS SQL, меньше возни с правами | лицензия ОС, больше расходов на обслуживание |
| Linux + PostgreSQL | нет платы за ОС и СУБД, стабильная работа под нагрузкой | нужен опыт администрирования, шрифты и локали настраиваются вручную |
Ориентиры по железу для небольшой компании, примерно на 20-30 пользователей:
- Процессор: 4-8 ядер с высокой тактовой частотой. 1С чувствительна к скорости одного ядра, а не к их количеству.
- Память: от 16 ГБ, если на одной машине стоят и 1С, и СУБД. Для отдельного сервера СУБД под ту же нагрузку закладывайте 16-32 ГБ.
- Диски: только SSD, лучше NVMe. Под базу, временные файлы и журналы — разные тома, если есть возможность.
- Сеть: гигабитная, без Wi-Fi.
Не ставьте сервер 1С на машину, где кто-то работает за рабочим столом, и на контроллер домена. Службы кластера и СУБД будут конкурировать за ресурсы с чужими задачами.
Виртуальная машина подходит, если ей выделены ресурсы без перепродажи (reservation) и диск на быстром хранилище.
Пример расчёта под 25 пользователей
Возьмём бухгалтерию на 25 пользователей, из которых одновременно активны около 15. Для такой нагрузки ориентировочно хватит одной машины: 8 ядер, 32 ГБ памяти и NVMe-диск на 500 ГБ. Из 32 ГБ примерно 12-16 отдадите СУБД, ещё 8-10 уйдут на рабочие процессы 1С, остальное останется ОС и кэшу.
Если база выросла до 100 ГБ и в ней идут тяжёлые отчёты, добавляйте память СУБД, а не ядра: чаще всего узкое место именно там. Через полгода работы посмотрите загрузку в мониторе ресурсов и подправьте конфигурацию по факту, а не по догадкам.
Установка СУБД: PostgreSQL или MS SQL Server
Кластер хранит данные не сам, а в СУБД, поэтому её ставят до платформы или параллельно.
PostgreSQL
Обычный PostgreSQL «из коробки» для 1С не подходит: нужна сборка с патчами для работы с платформой. Берите дистрибутив, который поставляется для 1С (сборки от 1С или Postgres Pro для 1С), и проверяйте совместимость версии СУБД с вашей версией платформы.
Что настроить после установки:
- локаль кластера баз: русская UTF-8 (например,
ru_RU.UTF-8на Linux); - пароль суперпользователя
postgres— сложный, не из словаря; - параметры
postgresql.conf:shared_buffersпримерно 25% оперативной памяти сервера СУБД,work_memнебольшой (десятки МБ, а не сотни),max_connectionsс запасом под число рабочих процессов; - в
pg_hba.confразрешите подключение только с адреса сервера 1С.
MS SQL Server
Критично при установке выбрать правильную сортировку (Collation): Cyrillic_General_CI_AS. Изменить её после создания баз сложно.
- Включите смешанный режим проверки подлинности или создайте отдельную учётную запись для 1С.
- Задайте предел памяти сервера (Max Server Memory), иначе SQL заберёт всё и оставит ОС без запаса.
- Установите модель восстановления «Простая» или «Полная» осознанно: при «Полной» без резервных копий журнала транзакций он будет расти до заполнения диска.
Если СУБД стоит на другой машине, проверьте, что сервер 1С видит её по имени и порт (по умолчанию 5432 для PostgreSQL, 1433 для MS SQL) открыт только для этого адреса.
Установка платформы 1С:Предприятие 8.3
Серверная часть входит в общий дистрибутив платформы, отдельного «сервера» скачивать не нужно. Версию берите ту же, на которой работает конфигурация, либо новее по рекомендации разработчика конфигурации.
Windows
- Запустите установщик под администратором.
- В списке компонентов отметьте «1С:Предприятие» и «Сервер 1С:Предприятия». Если машина только серверная, клиент можно не ставить.
- На шаге установки службы выберите запуск от отдельной учётной записи, а не от системной. Подойдёт
USR1CV8(локальный пользователь, которого предлагает установщик) или доменная учётная запись службы. - Дождитесь окончания и убедитесь, что служба «Агент сервера 1С:Предприятия 8.3» запущена.
Проверить из командной строки:
sc query "1C:Enterprise 8.3 Server Agent (x86-64)"
netstat -ano | findstr :1540
Первая команда покажет состояние службы, вторая — что агент слушает порт 1540. Если имя службы у вас другое, найдите его в оснастке «Службы» по слову «1С».
Linux
На Linux серверная часть ставится из пакетов. Порядок такой:
- Установите пакеты платформы (общие, сервер, при необходимости — клиент).
- Установщик создаёт пользователя
usr1cv8и группуgrp1cv8, от которых работает сервер, и каталог данных кластера. - Включите и запустите службу сервера (
srv1cv83):
sudo systemctl enable srv1cv83
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
Если служба не стартует, смотрите журнал: journalctl -u srv1cv83. Частая причина — нет прав у пользователя usr1cv8 на каталог данных кластера.
Кластер серверов: создание и настройка
После запуска агента в нём автоматически появляется локальный кластер на порту 1541. Для небольшой установки его достаточно. Создавать второй кластер на той же машине обычно незачем.
Как устроен кластер:
- ragent — агент, принимает подключения (порт 1540);
- rmngr — менеджер кластера (порт 1541);
- rphost — рабочие процессы, в них выполняется код 1С и идут сеансы (диапазон портов 1560-1591).
Управлять кластером можно двумя способами:
- Через консоль администрирования серверов 1С (входит в состав платформы на Windows).
- Через утилиту
racи службуrasиз командной строки, в том числе на Linux.
Запуск ras и просмотр кластера:
ras cluster --port=1545 localhost:1540
rac localhost:1545 cluster list
Что имеет смысл настроить сразу:
- имя кластера и пароль администратора кластера;
- количество рабочих серверов (при одной машине — один);
- ограничения на память рабочего процесса и число соединений на процесс — по умолчанию платформа распределяет сама, и для старта этого хватает;
- перезапуск рабочих процессов по расписанию, если конфигурация утекает по памяти (интервал подбирают по факту, часто раз в сутки ночью).
Администратор кластера и администратор информационной базы — разные роли с разными паролями. Задайте оба сразу, пока на сервере никого нет.
Информационные базы и лицензии
Создание базы в кластере
Базу можно создать двумя способами.
- Из консоли администрирования: в нужном кластере откройте «Информационные базы» и добавьте новую. Укажите тип СУБД, адрес сервера СУБД, имя базы в СУБД, учётную запись для подключения. Включите опцию создания базы, если её ещё нет, и задайте блокировку регламентных заданий на время переноса данных.
- Из окна запуска 1С: «Добавить» → «Создание новой информационной базы», тип размещения — «На сервере 1С:Предприятия». Там же указываются кластер, имя базы и параметры СУБД.
Если переносите данные из файловой базы, выгрузите её в файл .dt и загрузите уже в серверную через конфигуратор. Перед выгрузкой сделайте копию файловой базы целиком.
Лицензии
На сервере действуют два вида лицензий:
- серверная — разрешает запуск сервера 1С; без неё кластер не даст подключить базу;
- клиентские — определяют, сколько пользователей работают одновременно (бывают на 5, 10, 20 и более подключений, набор можно комбинировать).
Лицензии бывают программные (активируются через пин-код и привязываются к серверу) и аппаратные (ключ защиты вставляется в USB-порт сервера). Для виртуальных машин практичнее программные: USB-ключ в виртуалку нужно пробрасывать отдельно.
Активация идёт из окна запуска 1С на сервере: «Настройка» → «Получение лицензии» (точное название зависит от версии платформы) или консолью администрирования. Пин-коды хранятся в конверте или личном кабинете партнёра.
Программная лицензия привязана к конфигурации оборудования. Перед сменой процессора, диска или переносом ВМ на другой хост лицензию лучше сначала вернуть на сервер лицензирования. Иначе получите отказ в запуске.
Если ищете способ работать без лицензии, его нет: лицензия 1С — это правовое условие использования платформы. Незаконные обходы ставят под угрозу и данные, и бизнес. Если лицензии не хватает, правильный путь — докупить или перераспределить имеющиеся.
Безопасность и сетевой доступ
Свежеподнятый сервер должен быть закрыт со всех сторон, кроме нужных путей. Порядок действий:
- Брандмауэр: откройте только порты 1540, 1541 и диапазон 1560-1591 для сети офиса. Если используется веб-доступ или RAS, добавьте их порты (RAS по умолчанию 1545) и только для администраторов.
- Доступ из интернета: не пробрасывайте порты кластера наружу. Для удалённой работы используйте VPN, терминальный сервер или публикацию через веб-сервер.
- Учётные записи: служба 1С работает от отдельного пользователя без прав администратора ОС, СУБД — от своего.
- Пароли: на кластер, на администратора базы, на подключение к СУБД. Никаких пустых и совпадающих паролей.
- Резервное копирование: ежедневная копия базы средствами СУБД плюс периодическая выгрузка
.dt. Копии храните не на том же диске. - Обновления: следите за актуальными версиями ОС и платформы.
Для базовой проверки сети с рабочего места подойдёт Test-NetConnection в PowerShell:
Test-NetConnection -ComputerName srv-1c -Port 1540
Результат TcpTestSucceeded : True означает, что агент доступен. Если False, смотрите брандмауэр сервера и маршрут.
Частые вопросы
Можно ли поставить сервер 1С и СУБД на одну машину?
Нужен ли отдельный сервер для 1С, если пользователей 5?
Что лучше для 1С, PostgreSQL или MS SQL Server?
Можно ли поменять ОС сервера без потери данных?
Где хранятся настройки кластера?
reg_1541 в папке данных, на Linux — в домашнем каталоге usr1cv8). Копируйте его вместе с резервной копией баз.