Сервер 1С 8.3 с нуля: установка, кластер, СУБД и первая база
Содержание
Чтобы запустить сервер
1С:Предприятие 8.3, нужно четыре вещи: установить компонент «Сервер 1С:Предприятия» из полного дистрибутива платформы, зарегистрировать и стартовать службу агента (srv1cv8-<версия>@default в Linux или «Агент сервера 1С:Предприятия 8.3» в Windows), поднять СУБД и создать в кластере информационную базу. Клиенты подключаются к серверу по имени хоста через порт 1540, рабочие процессы слушают диапазон 1560–1591.
Ниже порядок, в котором это делают администраторы: сначала проверка железа и имени хоста, потом платформа, служба, СУБД, база и, если нужен доступ через браузер, публикация на Apache или IIS. Платформа — 8.3.2x, Linux — Ubuntu/Debian, Windows — Server 2016 и новее.
Что решить и проверить до установки сервера 1С
Сначала выберите схему. От неё зависит, сколько машин и лицензий понадобится.
| Схема | Когда подходит | Что учесть |
|---|---|---|
| Сервер 1С и СУБД на одной машине | до 30–50 пользователей, одна-две базы | проще администрировать, но память делят два процесса |
| Сервер 1С и СУБД на разных машинах | от 50 пользователей, тяжёлые базы (ERP, КА) | быстрая сеть между ними (от 1 Гбит/с), задержка минимальная |
| Сервер 1С + веб-сервер | удалённые сотрудники, тонкий клиент через интернет | Apache или IIS, HTTPS обязателен |
Ориентировочные требования к железу для одной машины «сервер + PostgreSQL»:
- 🖥️ 10–20 пользователей — 4 ядра, 16 ГБ ОЗУ, SSD от 240 ГБ;
- 🖥️ 20–50 пользователей — 8 ядер, 32 ГБ ОЗУ, NVMe под базы и журналы СУБД;
- 🖥️ больше 50 — разносите СУБД на отдельный сервер и считайте по реальной нагрузке.
Это стартовые цифры, а не норматив. Главное узкое место у 1С — дисковая подсистема СУБД, на HDD сервер работать будет, но медленно.
Перед установкой проверьте ещё три вещи:
- Имя хоста. Сервер и все клиенты должны разрешать имя сервера в правильный IP. В Linux проверьте
/etc/hosts: имя машины не должно указывать на127.0.1.1, иначе клиенты получат неверный адрес от агента. - Лицензия. Для работы клиентов через сервер нужна серверная лицензия (программная или аппаратный ключ) плюс клиентские лицензии на число пользователей. Без лицензии сервера база не запустится.
- Дистрибутив. Скачайте полный дистрибутив той же версии, что стоит у клиентов. Версии сервера и клиента должны совпадать до последней цифры.
Учебная версия платформы клиент-серверный режим не поддерживает. Для теста возьмите полноценную платформу и временную лицензию.
Установка сервера 1С 8.3 на Linux (Ubuntu, Debian)
С версии 8.3.20 платформа для Linux поставляется единым установщиком setup-full-<версия>-x86_64.run. Он сам создаёт системного пользователя usr1cv8 и группу grp1cv8, от имени которых работает сервер. Отдельно заводить пользователя для 1С не нужно.
Подготовка системы
Обновите пакеты и поставьте шрифты и библиотеки, без которых не работает формирование печатных форм и отчётов на сервере:
sudo apt update && sudo apt upgrade -y
sudo apt install -y fontconfig libgsf-1-114 ttf-mscorefonts-installer
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
Если установщик при запуске сообщит о недостающих библиотеках, доустановите их тем же apt install и запустите его снова.
Установка платформы
Распакуйте архив и запустите установщик без графического интерфейса, указав только серверные компоненты:
chmod +x setup-full-8.3.25.1374-x86_64.run
sudo ./setup-full-8.3.25.1374-x86_64.run --mode unattended \
--enable-components server,ws,server_admin
Номер версии подставьте свой. Компонент ws нужен только для веб-публикации, server_admin — для сервера администрирования (RAS). Файлы лягут в /opt/1cv8/x86_64/8.3.25.1374/.
Регистрация и запуск службы
В каталоге платформы лежит готовый unit-файл systemd. Подключите его, включите автозапуск и стартуйте:
cd /opt/1cv8/x86_64/8.3.25.1374
sudo systemctl link $(pwd)/srv1cv8-8.3.25.1374@.service
sudo systemctl enable srv1cv8-8.3.25.1374@default
sudo systemctl start srv1cv8-8.3.25.1374@default
sudo systemctl status srv1cv8-8.3.25.1374@default
Статус должен быть active (running). Каталог кластера с реестром баз появится в /home/usr1cv8/.1cv8/1C/1cv8/.
Откройте порты, если включён брандмауэр:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Чтобы управлять кластером с помощью rac или консоли из Windows, запустите сервер администрирования (порт 1545). В том же каталоге есть unit ras-8.3.25.1374.service — подключается так же, через systemctl link и enable. Проверка:
./rac cluster list
Команда выведет UUID кластера, имя хоста и порт 1541. Если вывод есть — сервер жив.
Запуск сервера 1С:Предприятия на Windows
На Windows всё делает обычный мастер установки из дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows».
- Запустите
setup.exeот имени администратора. - В списке компонентов включите «Сервер 1С:Предприятия 8», «Администрирование сервера 1С:Предприятия» и, если нужна веб-публикация, «Модули расширения веб-сервера».
- На шаге с параметрами службы отметьте «Установить 1С:Предприятие 8 как сервис Windows». Мастер предложит создать пользователя
USR1CV8— оставьте так, служба будет работать от него, а не от администратора. - Завершите установку. В оснастке
services.mscпоявится служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» с автоматическим запуском.
После установки зарегистрируйте библиотеку консоли кластера. Без этого шага оснастка «Администрирование серверов 1С Предприятия» не откроется или выдаст ошибку класса:
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"
Команду выполняют в командной строке от имени администратора. После обновления платформы её повторяют с новым номером версии.
Откройте в брандмауэре Windows входящие TCP-порты 1540, 1541 и 1560–1591. Данные кластера хранятся в C:\Program Files\1cv8\srvinfo.
На Windows перезапуск службы агента обрывает все сеансы пользователей. Делайте его вне рабочего времени или после рассылки предупреждения.
Настройка кластера: администратор, порты, рабочие процессы
Схема подключения простая: клиент обращается к агенту на порт 1540, агент отдаёт адрес менеджера кластера (1541), дальше клиент работает с рабочим процессом из диапазона 1560–1591. Диапазон портов задаётся в свойствах рабочего сервера.
Что настроить сразу после запуска:
- Администратор кластера. В консоли откройте
Кластеры → Локальный кластер → Администраторыи добавьте пользователя с паролем. Без этого любой, у кого есть консоль, может удалить базу. - Администратор центрального сервера. Добавляется в узле
Администраторыверхнего уровня, над кластерами. Сначала заведите его, потом администратора кластера. - Свойства рабочего сервера. Там задают число информационных баз и соединений на процесс, критический объём памяти процессов и допустимый объём. На старте оставьте значения по умолчанию и меняйте по результатам мониторинга.
В Linux те же действия выполняют через rac. Точный синтаксис подкоманд для администраторов и рабочих серверов смотрите в справке rac help cluster и rac help server — он различается между релизами.
Если пароль администратора кластера потерян, не пересоздавайте кластер. Остановите службу вне рабочего времени и восстановите каталог srvinfo из резервной копии либо обратитесь к администратору сервера.
СУБД для сервера 1С: PostgreSQL или MS SQL Server
Серверу 1С нужна СУБД, в которой физически лежат таблицы базы. Выбор обычно между двумя вариантами:
| СУБД | Где работает | Плюсы | На что смотреть |
|---|---|---|---|
| PostgreSQL (сборка для 1С) | Linux, Windows | бесплатная, хорошо работает с 1С на Linux | нужна сборка с патчами для 1С, а не ванильная |
| MS SQL Server | Windows | привычна для Windows-администраторов, удобные бэкапы | платные лицензии; Express ограничен по размеру базы |
PostgreSQL на Linux
Ставьте сборку PostgreSQL, адаптированную под 1С: её распространяет фирма «1С» для пользователей с подпиской, есть также дистрибутивы Postgres Pro для 1С. Ванильная версия из репозитория Ubuntu базу 1С не создаст или будет работать с ошибками.
После установки задайте пароль пользователю СУБД:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
Для продуктивной работы лучше создать отдельную роль с правом создавать базы, а не работать под postgres. В pg_hba.conf разрешите подключение с адреса сервера 1С методом scram-sha-256 или md5 и перезапустите PostgreSQL.
Стартовые параметры в postgresql.conf для машины на 32 ГБ, где СУБД стоит вместе с сервером 1С:
shared_buffers = 8GB
effective_cache_size = 16GB
work_mem = 64MB
maintenance_work_mem = 1GB
MS SQL Server на Windows
Установите экземпляр с сортировкой Cyrillic_General_CI_AS, включите смешанную аутентификацию и создайте логин SQL с ролью dbcreator. Под этим логином сервер 1С будет создавать базы. Ограничьте максимальную память SQL Server, чтобы она не съела ОЗУ, нужную рабочим процессам 1С.
Создание базы на сервере и первое подключение клиента
Базу создают одним из трёх способов. Результат одинаковый: запись в реестре кластера и база в СУБД.
Через консоль кластера (Windows)
- В консоли раскройте кластер, щёлкните правой кнопкой по узлу
Информационные базыи выберитеСоздать → Информационная база. - Заполните имя базы в кластере, тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
- Отметьте «Создать базу данных в случае ее отсутствия».
- Нажмите «ОК». Пустая база появится в списке.
Из окна запуска 1С
В окне запуска нажмите Добавить → Создание новой информационной базы, выберите шаблон или пустую базу, затем вариант «На сервере 1С:Предприятия». Мастер спросит те же параметры: кластер, имя базы, СУБД и учётные данные. Этот способ удобен на Linux, где графической консоли нет.
Через rac на Linux
Команда rac infobase create создаёт базу без графического интерфейса. Набор параметров (тип СУБД, сервер, логин, флаг создания базы в СУБД) смотрите в rac help infobase для своей версии.
Подключение пользователей
На рабочем месте пользователя: Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия. В поле кластера укажите имя сервера, в поле базы — имя базы в кластере. Строка подключения выглядит так: Srvr="srv1c";Ref="buh";.
Если агент работает на нестандартном порту, имя пишут с портом менеджера: srv1c:2541.
Дальше загрузите конфигурацию: в Конфигураторе Администрирование → Загрузить информационную базу для файла .dt или Конфигурация → Загрузить конфигурацию из файла для .cf. Загрузка .dt требует монопольного доступа и полностью заменяет содержимое базы.
Контроль нагрузки после запуска
В первые дни следите за тремя показателями:
- 📊 Сеансы и лицензии — узел
Сеансыв консоли илиrac session list --licensesпоказывают, кто занял лицензию; - 📊 Рабочие процессы — объём памяти и число соединений на процесс; рост памяти без падения — повод разбираться с кодом или регламентными заданиями;
- 📊 Технологический журнал — настраивается файлом
logcfg.xmlв каталогеconfплатформы (/opt/1cv8/conf/в Linux,C:\Program Files\1cv8\conf\в Windows). Включайте точечно: событияEXCPи долгие запросы, иначе журнал заполнит диск за сутки.
Обслуживание СУБД (резервные копии, VACUUM ANALYZE в PostgreSQL или планы обслуживания в MS SQL) настройте сразу, до того как база вырастет.
Веб-доступ к базе через Apache (по желанию)
Веб-публикация нужна для работы через браузер, тонкого клиента по HTTP и мобильного клиента. Для локальной сети без неё можно обойтись.
Публикация утилитой webinst
На Linux установите Apache и опубликуйте базу утилитой из каталога платформы:
sudo apt install -y apache2
sudo mkdir -p /var/www/buh
sudo /opt/1cv8/x86_64/8.3.25.1374/webinst -publish -apache24 \
-wsdir buh -dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Утилита создаст файл default.vrd в каталоге публикации и допишет секцию в конфигурацию Apache. База откроется по адресу http://srv1c/buh.
Ручной файл конфигурации 1c.conf
Если удобнее держать публикации в отдельном файле, создайте /etc/apache2/sites-available/1c.conf:
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.25.1374/wsap24.so"
Alias "/buh" "/var/www/buh/"
<Directory "/var/www/buh/">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/buh/default.vrd"
</Directory>
Рядом положите /var/www/buh/default.vrd:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/buh"
ib="Srvr=srv1c;Ref=buh;">
</point>
Включите сайт и перечитайте конфигурацию:
sudo a2ensite 1c
sudo systemctl reload apache2
Путь к модулю wsap24.so содержит номер версии. После обновления платформы поправьте путь в 1c.conf, иначе Apache не стартует или будет грузить старый модуль.
На Windows публикацию делают из Конфигуратора: Администрирование → Публикация на веб-сервере, веб-сервер — IIS или Apache. Для доступа из интернета обязательно настройте HTTPS и не публикуйте базу без пароля пользователей.
Почему сервер 1С не запускается или к нему нет подключения
journalctl -u srv1cv8-<версия>@default. Частые причины — занят порт 1540 другим экземпляром или нет прав у usr1cv8 на каталог кластера. На Windows смотрите журнал событий «Приложение» и учётную запись службы.ping srv1c по имени и доступность 1540, 1541 и 1560–1591. На Linux-сервере проверьте, что имя хоста в /etc/hosts указывает на внешний IP, а не на 127.0.1.1.rac session list --licenses. Зависшие сеансы завершайте только после уточнения у пользователя: несохранённые данные потеряются.pg_hba.conf, не сгенерирована локаль ru_RU.UTF-8 или стоит ванильный PostgreSQL вместо сборки для 1С.wsap24.so, права пользователя www-data на каталог публикации и строку подключения в default.vrd. Ошибки Apache смотрите в /var/log/apache2/error.log.Частые вопросы о запуске сервера 1С
Можно ли держать на одной машине несколько версий сервера 1С?
Нужна ли лицензия на сервер, если пользователей всего пять?
Как перенести файловую базу на сервер?
.dt через Конфигуратор, создайте пустую базу в кластере и загрузите в неё этот файл. Пользователям поменяйте путь к базе в окне запуска.