Установка сервера 1С:Предприятие 8.3 на Windows и Linux
Содержание
Поставить 1С на сервер можно двумя путями: Windows Server или Linux. На Windows проще установка и привычнее администрирование, на Linux дешевле лицензии на ОС и меньше накладных расходов. Выбор почти всегда определяется тем, чем владеет ваш админ. Платформа ведёт себя на обеих системах одинаково, различаются только установка и сопровождение.
Сервер 1С — это не «установил и работает». Нужны три слоя: серверная часть платформы (кластер), СУБД и лицензия. Ниже порядок, в котором их надо ставить, с портами, командами и граблями.
Что подготовить до установки
Сначала решите, нужен ли вам клиент-серверный вариант. Файловая база тянет примерно до 10–15 одновременных пользователей и не требует сервера. Если людей больше, база растёт к нескольким десяткам гигабайт или нужны регламентные задания без открытого клиента, переходите на сервер.
Железо: ориентиры
Цифры ориентировочные, под типовую «Бухгалтерию» или «Управление торговлей»:
| Пользователей | Ядра | ОЗУ | Диск |
|---|---|---|---|
| до 10 | 4 | 16 ГБ | SSD, 200 ГБ |
| 10–30 | 8 | 32 ГБ | SSD/NVMe, 500 ГБ |
| 30–100 | 16 | 64 ГБ | NVMe, 1 ТБ и больше |
Если СУБД стоит на той же машине, что и кластер, оперативную память считайте с запасом: СУБД забирает под кеш всё, что ей дадут.
- 💾 Диски под базу, журнал транзакций и бэкапы лучше разнести по разным томам.
- ⚡ Тактовая частота важнее числа ядер: 1С в основном однопоточна на сеанс.
- 🕐 Часовой пояс и время на сервере настройте до установки, иначе потом будут расхождения в регламентных заданиях.
Какую СУБД выбрать
Сервер 1С сам данные не хранит. Они лежат в СУБД:
- PostgreSQL — бесплатно, на Linux штатный выбор. Для 1С нужна сборка с патчами фирмы 1С, обычная из репозитория не подойдёт.
- Microsoft SQL Server — на Windows, платная лицензия.
- Другие варианты поддерживаются, но используются реже.
Версию СУБД проверьте по таблице совместимости для вашего релиза платформы: она меняется от релиза к релизу, поэтому здесь конкретных номеров нет.
Платформа на сервере и на клиентах должна совпадать по версии с точностью до номера сборки. Клиент 8.3.22 к кластеру 8.3.24 не подключится нормально.
Установка серверной части на Windows Server
Дистрибутив технологической платформы скачивают с портала поддержки пользователей 1С. Берите архив для Windows, а не для клиента: дистрибутив один, различается набор отмечаемых компонентов.
Пошагово
- Запустите
setup.exeот администратора. - В списке компонентов отметьте «1С:Предприятие» и «Сервер 1С:Предприятия». Если нужен веб-доступ, добавьте модули расширения веб-серверов.
- Установите язык интерфейса.
- Когда установщик спросит про установку сервера как службы, согласитесь. Предложит запуск под отдельной учётной записью: для этого заранее заведите локального пользователя, например
usr1cv8. - Дождитесь завершения и проверьте службу «Агент сервера 1С:Предприятия 8.3» в
services.msc.
Служба должна работать от пользователя без прав администратора, но с полными правами на каталог данных кластера и каталог временных файлов.
Права и каталог кластера
По умолчанию служебные данные кластера (реестр, журналы) лежат в каталоге профиля пользователя службы. Лучше вынести их на отдельный диск: запустите агент с параметром -d и путём каталога.
Если служба стартует от «Локальной системы», а каталог кластера создан под другим пользователем, агент поднимется, но кластер не увидит. Проверяйте права на каталог до первого запуска.
Развёртывание сервера 1С в Linux
Здесь всё делается из терминала. Нужны права root или sudo.
Подготовка системы
Для deb-систем (Debian, Ubuntu, Astra) дистрибутив поставляется набором пакетов .deb. Заранее поставьте зависимости: в первую очередь шрифты, libwebkitgtk не нужен на сервере, но нужна libenchant и imagemagick. Точный список зависит от релиза, их назовёт менеджер пакетов, если запустить установку.
sudo apt update
sudo apt install -y libenchant-2-2 imagemagick fontconfig
Шрифты Microsoft и локаль ru_RU.UTF-8 тоже нужны, иначе печатные формы поедут. Проверьте локаль:
locale -a | grep ru_RU
Установка пакетов
Распакуйте архив с дистрибутивом и поставьте пакеты платформы и сервера:
sudo dpkg -i 1c-enterprise-8.3.*-common_*.deb \
1c-enterprise-8.3.*-server_*.deb
sudo apt -f install
Платформа ставится в /opt/1cv8/x86_64/<номер_версии>/. Служба-агент называется srv1cv8-<версия>@. Включите автозапуск и стартуйте:
sudo systemctl enable srv1cv8-8.3.XX.XXXX@default
sudo systemctl start srv1cv8-8.3.XX.XXXX@default
sudo systemctl status srv1cv8-8.3.XX.XXXX@default
Подставьте реальный номер сборки, который установился на вашу машину. Служба работает от пользователя usr1cv8, он создаётся пакетом автоматически.
Номер сборки в имени службы — частая причина «не стартует». Посмотреть точное имя: systemctl list-unit-files | grep srv1cv8.
Права на каталоги
Рабочий каталог кластера по умолчанию /home/usr1cv8/.1cv8/1C/1cv8. Если переносите его на другой диск, смените владельца:
sudo chown -R usr1cv8:grp1cv8 /data/1c
Кластер и информационные базы
После старта агента кластер уже создан: он называется «Локальный кластер» и работает на порту 1541. Сам агент слушает 1540.
Создать базу и управлять кластером можно двумя способами: через консоль администрирования серверов или через утилиту rac.
Порты, которые нужно открыть
| Порт | Назначение |
|---|---|
| 1540 | агент сервера |
| 1541 | главный менеджер кластера |
| 1560–1591 | рабочие процессы (диапазон по умолчанию) |
| 1545 | сервер администрирования (RAS), если запущен |
На брандмауэре откройте только то, что нужно клиентам: 1540, 1541 и диапазон рабочих процессов. Порт 1545 наружу не выставляйте.
Создание базы
- Откройте консоль серверов (на Windows это оснастка, на Linux — подключаетесь с другой машины).
- Добавьте центральный сервер: имя хоста и порт
1540. - Раскройте «Информационные базы», выберите создание новой.
- Укажите тип СУБД, адрес сервера СУБД, имя базы, логин и пароль пользователя СУБД.
- Включите «Создать базу данных в случае её отсутствия».
Вариант без графики, через RAS на Linux:
/opt/1cv8/x86_64/8.3.XX.XXXX/ras cluster --port=1545 localhost:1540
/opt/1cv8/x86_64/8.3.XX.XXXX/rac cluster list
Первая команда запускает сервер администрирования, вторая показывает идентификатор кластера. Дальше rac infobase create ... создаёт базу.
Если нужен веб-доступ и тонкий клиент
Чтобы пользователи работали через браузер или тонкий клиент по HTTP, поверх кластера публикуют базу на веб-сервере. Для этого при установке отмечают модули расширения веб-серверов, а публикацию делают из конфигуратора (меню администрирования, пункт публикации на веб-сервере) или утилитой webinst. Подходят Apache и IIS. Каталог публикации должен быть доступен учётной записи веб-сервера, иначе вместо базы будет ошибка доступа.
Тонкий клиент подключается напрямую к кластеру по порту 1541, а веб-клиент идёт через веб-сервер. Это разные маршруты: открыт веб-сервер ещё не значит, что тонкий клиент достучится до кластера.
Перенос уже работающей базы на сервер
Если база была файловой, перенесите её так:
- Закройте всех пользователей и сделайте копию каталога базы.
- Откройте файловую базу
в конфигураторе и выгрузите информационную базу в файл
.dt(меню администрирования, выгрузка информационной базы). - Создайте пустую базу на кластере.
- Загрузите
.dtв новую базу из конфигуратора. - Проверьте регламентные задания, внешние обработки и права: после переноса их часто приходится донастраивать.
Файл .dt весит заметно меньше самой базы, поэтому для больших баз закладывайте время: загрузка может занять от получаса до нескольких часов.
Лицензия и защита сервера
Серверу нужна лицензия на серверную часть, отдельная от пользовательских. Бывают аппаратные ключи и программные лицензии. Программную привязывают к конкретной машине: после смены железа или переноса виртуальной машины её придётся активировать заново.
Что проверить:
- 🔑 Если ключ USB, на виртуальной машине понадобится проброс USB или сетевой сервер защиты.
- 🔑 Если программная лицензия, активируйте её на сервере до того, как пользователи начнут подключаться.
- 🔑 Менеджер лицензий можно вынести в отдельную службу, чтобы лицензии не зависели от кластера.
Лицензия на сервер и клиентские лицензии — разные вещи. Без клиентских лицензий пользователи после первого же подключения упрутся в ошибку получения лицензии, даже если сервер запущен.
Безопасность
- Не публикуйте порты 1540 и 1541 в интернет. Для удалённой работы используйте VPN.
- Пароль пользователя СУБД не должен совпадать с паролем администратора кластера.
- Для кластера задайте администратора, чтобы любой желающий в сети не мог менять настройки.
- Резервные копии базы делайте средствами СУБД и храните вне сервера.
Настройка производительности и мониторинг
Разумные дефолты работают для 10–20 человек. Дальше начинаются настройки.
Что менять первым
- Рабочие процессы. Один процесс на 10–15 активных сеансов — рабочее правило. Дробить на слишком много процессов тоже плохо: растут накладные расходы.
- Память процесса. В свойствах рабочего сервера задайте допустимый объём памяти и интервал перезапуска. Процесс с утечкой тогда перезапустится сам.
- СУБД. На PostgreSQL проверьте
shared_buffers,work_mem,max_connections. Стартовая точка дляshared_buffers— примерно четверть оперативной памяти сервера. Для MS SQL ограничьте максимальный объём памяти сервера, чтобы осталось место для ОС и кластера. - Журнал регистрации. Тяжёлый журнал на медленном диске тормозит. Храните его на быстром томе.
Регламентное обслуживание
Сервер надо обслуживать, иначе через полгода он начнёт тормозить без видимой причины. Минимальный набор:
- 🧹 Раз в неделю обновляйте статистику и переиндексируйте таблицы средствами СУБД. На PostgreSQL это
VACUUMиANALYZE, на MS SQL — задания обслуживания по индексам и статистике. - 📦 Копии базы делайте каждую ночь, а журнал транзакций — чаще, если база критична. Раз в месяц разворачивайте копию на тестовом сервере и проверяйте, что она открывается.
- 🔄 Обновления платформы ставьте сначала на тестовый кластер. Откат на сервере сложнее, чем на клиенте.
- 📊 Следите за свободным местом: когда на диске остаётся меньше 15–20 процентов, СУБД и журналы начинают работать заметно хуже.
Чем смотреть нагрузку
Системные счётчики дают картину: загрузка процессора по процессам rphost, занятая память, очередь диска. Внутри 1С полезны технологический журнал (включается файлом logcfg.xml) и «Центр управления производительностью» для крупных систем.
Технологический журнал с широкими настройками быстро заполняет диск. Включайте узкие события и ограничивайте срок хранения логов.
Что чаще всего идёт не так при первой настройке
Типичные случаи, которые не вошли в шаги выше:
- Кластер видит базу, а клиент нет. Клиент ходит по имени, которое не разрешается. Пропишите имя в DNS или в файле
hostsна клиенте, а не используйте IP вперемешку с именем. - Агент падает при старте после переноса каталога. Старый реестр кластера ссылается на прежние пути. Запускайте агент с параметром
-dна новый каталог и пересоздавайте кластер только если данные не нужны. - Две версии платформы на одной машине. Это нормально, но служба для каждой версии своя. Если запущены обе на одних портах, вторая не стартует. Разводите их по разным портам или останавливайте лишнюю.
- Брандмауэр режет рабочие процессы. Открыт 1541, а диапазон 1560–1591 нет: клиент подключается и тут же зависает. Откройте весь диапазон.
- Кириллица в именах. На Linux проверьте локаль службы: если она
C, пути и имена с русскими буквами создаются криво.