1С на сервере: как развернуть, подключить пользователей и разогнать базу

· 9 мин

Содержание

База в файловом режиме тормозит, когда в ней одновременно сидят больше десятка человек. Проведение документов растягивается на минуты, а при сбое одного компьютера «ложится» весь файл 1Cv8.1CD. Решение простое: перевести работу в 1С на сервере, то есть в клиент-серверный режим, где базой управляет серверная часть, а пользователи подключаются к ней с рабочих мест.

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

Какой режим выбрать: файловый или клиент-серверный

Сначала нужно понять, нужен ли вам сервер вообще. Не всякой базе он полезен.

КритерийФайловый режимКлиент-серверный
Пользователей одновременнодо 5-10от 10 и больше
Где лежат данныефайл 1Cv8.1CD в папкев СУБД (PostgreSQL, MS SQL и др.)
Нагрузкасчитает компьютер пользователясчитает сервер
Размер базыкомфортно до 5-10 ГБдесятки и сотни ГБ
Блокировкина уровне всего файлана уровне записей
Стоимостьдешевленужна серверная лицензия и сервер

Ориентиры примерные: многое зависит от конфигурации и качества железа. Если у вас три бухгалтера и база на 2 ГБ, сервер даст мало. Если регламентные операции идут часами, а в базе работают 25 человек, пора переезжать.

Признаки, что файловый режим исчерпан:

  • 🐢 закрытие месяца занимает часы;
  • 🔒 пользователи ловят блокировки при проведении;
  • 💥 база периодически «бьётся» после сбоя сети или питания;
  • 📈 размер файла приближается к 10 ГБ и растёт.

Из чего состоит серверная часть

В клиент-серверной схеме три слоя, и их полезно различать при поиске проблем:

  1. Клиент — тонкий клиент или веб-браузер на рабочем месте.
  2. Сервер 1С:Предприятия — кластер серверов . В него входят агент сервера (ragent), менеджер кластера (rmngr) и рабочие процессы (rphost). Именно rphost выполняет бизнес-логику.
  3. Сервер СУБД — хранит данные. Чаще берут PostgreSQL (в том числе сборку для 1С) или Microsoft SQL Server.

Для небольшой компании все три роли часто сидят на одной машине. Для сотни пользователей СУБД выносят на отдельный сервер.

Серверная часть 1С и СУБД должны быть одной «разрядности» и совместимых версий. Версию платформы на сервере и на клиентах держите одной и той же с точностью до сборки, иначе клиент предложит обновиться.

Как установить 1С на сервер: порядок действий

Минимальный путь на Windows Server или Linux выглядит так.

Подготовка сервера

  • Выделите пользователя ОС для службы, например usr1cv8, без прав администратора.
  • Дайте ему полный доступ к каталогу кластера (по умолчанию srvinfo).
  • Проверьте, что свободны порты: 1540 (агент), 1541 (менеджер), диапазон 1560-1591 (рабочие процессы).

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

  1. Запустите установщик платформы и в списке компонентов отметьте «Сервер 1С:Предприятия».
  2. Если нужны веб-клиент и публикация, добавьте модули расширения веб-серверов.
  3. Установите службу сервера от имени созданного пользователя.
  4. Убедитесь, что служба запущена и стартует автоматически.

Установка СУБД и создание базы

  1. Поставьте PostgreSQL или MS SQL Server на тот же или отдельный сервер.
  2. Откройте консоль администрирования серверов 1С и создайте новую информационную базу в кластере.
  3. Укажите тип СУБД, адрес сервера СУБД, имя пользователя и пароль.
  4. Отметьте «Создать базу данных в случае её отсутствия».

Загрузить в новую базу существующие данные можно из выгрузки .dt: в конфигураторе пункт «Администрирование» → «Загрузить информационную базу».

Перед переводом боевой базы с файлового режима выгрузите её в .dt и проверьте, что архив открывается. Копия файла 1Cv8.1CD тоже нужна, но только .dt гарантированно загрузится в серверную базу.

Права доступа и пользователи

Здесь путаются чаще всего, потому что прав три уровня, и они не заменяют друг друга.

УровеньЧто решаетГде настраивается
ОС и сетькто может достучаться до серверабрандмауэр, учётные записи Windows/Linux
Кластер 1Скто администрирует кластер и базыконсоль администрирования серверов
Информационная базакто и что может делать в самой базесписок пользователей, роли

В самой базе работает привычная схема: пользователь → набор ролей (профилей групп доступа). Для обычных сотрудников выдавайте роли по должности, а полные права оставляйте одному-двум администраторам.

Что пригодится на практике:

  • 👤 заведите отдельного пользователя «Администратор» и не работайте под ним ежедневно;
  • 🔑 пароль пользователя базы не равен паролю Windows; можно включить аутентификацию ОС, если нужно единое окно входа;
  • 🚪 для кластера задайте администратора кластера, иначе любой, кто достучится до консоли, получит над ним власть;
  • 📋 раз в квартал просматривайте список пользователей и убирайте уволенных.

Чтобы узнать, кто сейчас в базе, откройте консоль серверов, найдите свою базу и посмотрите список сеансов. Оттуда же можно отключить зависший сеанс.

Удалённый доступ к серверу 1С

Есть три рабочих способа дать людям доступ вне офиса. Выбирайте по задаче.

СпособКак работаетПлюсыМинусы
Терминальный сервер (RDP)пользователь подключается к серверу, 1С запускается на нёмслабый компьютер не мешает, трафик минимальныйнужны лицензии RDS, больше нагрузка на сервер
Тонкий клиент по VPNклиент стоит на ПК, база в сети через VPNпривычный интерфейсзависит от канала, хуже работает на медленном интернете
Веб-клиентбаза публикуется на веб-сервере (Apache, IIS), вход через браузерничего ставить не надоне весь функционал, нужна настройка публикации

Для бухгалтера «на удалёнке» чаще всего удобнее терминальный сервер или VPN. Веб-клиент хорош для руководителя, которому нужно посмотреть отчёт с телефона.

Порядок публикации на веб-сервер:

  1. Установите веб-сервер и компонент расширения для него.
  2. В конфигураторе откройте «Администрирование» → «Публикация на веб-сервере».
  3. Укажите каталог публикации и имя, отметьте нужные сервисы.
  4. Откройте в браузере адрес вида http://сервер/имя_базы и проверьте вход.

Не открывайте порты 1540-1591 прямо в интернет. Любой доступ извне только через VPN или защищённый веб-шлюз.

Как ускорить 1С на сервере

Медленная база на сервере почти всегда упирается в одно из трёх мест: СУБД, железо или код. Смотрите в таком порядке.

Железо и ОС

  • 💾 хранилище: SSD под базу и под временные файлы СУБД, обычные HDD не годятся;
  • 🧠 память: серверу 1С и СУБД нужен запас, чтобы кэш не вытеснялся; ориентировочно от 16 ГБ на среднюю базу, больше при росте числа пользователей;
  • ⚡ процессор: важна скорость одного ядра, а не только их число, потому что многие операции 1С однопоточные;
  • 🌐 сеть между сервером 1С и СУБД: быстрая, без лишних маршрутизаторов.

СУБД

Базы со временем «пухнут», а статистика устаревает. Минимум, который нужно делать регулярно:

  • обновлять статистику таблиц;
  • перестраивать или реорганизовывать индексы;
  • для PostgreSQL выполнять VACUUM (обычно включён автоматический режим, но проверьте его работу);
  • для MS SQL настроить план обслуживания и проверить рост журнала транзакций.

Для PostgreSQL важны параметры памяти и количества соединений. Значения лучше подбирать под конкретный сервер, а не копировать из чужих инструкций.

Регламентные задания и сама база

  • Включите регламентные задания в консоли: от них зависят фоновые расчёты и обмены.
  • Очищайте «хвосты»: ненужные версии объектов, журнал регистрации, временные данные.
  • Делайте тестирование и исправление базы в конфигураторе при плановых окнах.
  • Если тормозит одна операция, а не всё сразу, ищите проблему в коде: замеряйте её через технологический журнал или инструменты анализа производительности из «Центра управления производительностью».

Не меняйте параметры кластера и СУБД «вслепую» в рабочее время. Сначала зафиксируйте текущие значения, потом меняйте по одному и замеряйте результат.

Резервное копирование и восстановление

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

Вид копииЧем делаетсяКогда нужна
Бэкап СУБДсредства PostgreSQL (pg_dump) или MS SQLосновной способ, быстрое восстановление
Выгрузка .dtконфигуратор → «Выгрузить информационную базу»перенос, проверка, страховка от ошибок СУБД
Копия конфигурациифайл .cf или .cfuоткат изменений конфигурации

Правила, которые спасают:

  1. Автоматизируйте: ручной бэкап рано или поздно забудут.
  2. Храните копии на другом носителе и желательно в другом месте.
  3. Раз в месяц разворачивайте копию на тестовом сервере. Бэкап, который ни разу не восстанавливали, проверенным считать нельзя.
  4. Перед обновлением платформы или конфигурации делайте отдельную копию.

Восстановление выглядит так: останавливаете сеансы, заводите базу из бэкапа (или загружаете .dt в пустую базу), проверяете вход и свежесть данных, затем возвращаете пользователям доступ.

Типичные проблемы и как их найти

Здесь только то, что специфично именно для серверного режима.

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

Безопасность работы на сервере

Сервер с бухгалтерией — привлекательная цель, поэтому базовую защиту нужно закрыть сразу.

  • 🔒 Сеть. Серверу 1С и СУБД не нужен прямой выход в интернет. Закройте лишние порты и разрешите подключение только из внутренней сети и VPN.
  • 🧱 Учётные записи. Служба 1С работает от отдельного непривилегированного пользователя. Администраторам ОС не давайте работать в базе из-под своих учёток без необходимости.
  • 🔑 Пароли. Разные пароли для ОС, кластера, СУБД и базы. Минимальная длина и смена при увольнении сотрудника.
  • 🕵️ Журнал. Включите журнал регистрации и периодически смотрите вход пользователей и удаление данных.
  • 🔄 Обновления. Устанавливайте обновления ОС и платформы, но сначала на тестовой копии.
  • 💽 Копии. Резервные копии шифруйте и храните отдельно, иначе они станут тем самым слабым звеном.

Если вы обрабатываете персональные данные сотрудников и контрагентов, состав мер защиты определяют требования законодательства о персональных данных и внутренние политики организации. Уточните их у ответственного за защиту информации.

Для небольшой компании набор защиты можно свести к списку проверки:

Проверка перед запуском сервера в работу
Выполнено: 0 / 7

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

Нужна ли отдельная лицензия для серверного режима?
Да. Для клиент-серверной работы нужна серверная лицензия 1С:Предприятия, а клиентские лицензии отдельно за рабочие места. Точные виды и стоимость уточняйте у франчайзи.
Сколько пользователей выдерживает один сервер 1С?
Зависит от конфигурации и железа. Для типовой Бухгалтерии одного сервера среднего уровня обычно хватает на несколько десятков человек. Для сотен подключений СУБД выносят отдельно.
Можно ли поставить сервер 1С на Linux?
Да, платформа поддерживает Linux. Чаще её связывают с PostgreSQL. Для небольшой компании без администратора Linux проще Windows Server.
Чем отличается консоль серверов от конфигуратора?
Консоль управляет кластером: базами, сеансами, блокировками. Конфигуратор меняет конфигурацию и выгружает данные конкретной базы.
Как перевести файловую базу на сервер?
Выгрузите базу в .dt, создайте пустую серверную базу в консоли кластера и загрузите выгрузку через конфигуратор. Потом проверьте остатки и регламентные задания.