Сервер 1С:Предприятие 8.3 на Debian 11 — от чистой системы до первой базы

· 10 мин

Содержание

Чтобы установить сервер 1С:Предприятие 8.3 на Debian 11, нужны три вещи: русская локаль и пакеты шрифтов в системе, единый установщик setup-full-8.3.xx.xxxx-x86_64.run из дистрибутива «Технологическая платформа для Linux» и сборка PostgreSQL с патчами для 1С. Установщик ставит сервер в /opt/1cv8/x86_64/<версия>/, после чего служба srv1cv8 регистрируется в systemd, а кластер серверов создаётся сам при первом запуске.

Дальше — порядок, в котором это делается на чистой Debian 11 (bullseye) на практике: от apt update до подключения бухгалтера к новой базе. Команды даны для платформы 8.3.20 и новее — именно с неё 1С перешла на единый установщик для Linux.

Подготовка Debian 11: локаль, имя хоста, пакеты

Начните с системы, а не с 1С. Половина проблем при первом запуске сервера — это не 1С, а неправильная локаль или имя хоста.

Обновление и русская локаль

sudo apt update && sudo apt full-upgrade -y
sudo dpkg-reconfigure locales

В списке локалей отметьте ru_RU.UTF-8 и сделайте её локалью по умолчанию. Проверка:

locale -a | grep ru_RU

Если в выводе пусто, PostgreSQL не создаст базу с русской сортировкой, а 1С выдаст ошибку при создании информационной базы.

Имя хоста

Клиенты 1С обращаются к серверу по имени, которое кластер узнаёт из системы. Задайте осмысленное имя и пропишите его в /etc/hosts с реальным IP, а не только с 127.0.1.1:

sudo hostnamectl set-hostname srv1c
echo "192.168.1.10 srv1c" | sudo tee -a /etc/hosts

Меняйте имя хоста до установки 1С. Кластер запоминает имя сервера при первом запуске, и потом его придётся править в настройках кластера.

Пакеты, без которых сервер не поднимется

Шрифты Microsoft лежат в репозитории contrib. Добавьте contrib в строки /etc/apt/sources.list после main, затем:

sudo apt update
sudo apt install -y fontconfig libfreetype6 libgsf-1-114 \
  unixodbc imagemagick ttf-mscorefonts-installer
ПакетЗачем нужен серверу 1С
🔤 ttf-mscorefonts-installer, fontconfigпечатные формы и отчёты, сформированные на сервере, без «поехавших» шрифтов
🖼️ imagemagick, libfreetype6картинки и графики в отчётах
📄 libgsf-1-114работа с офисными форматами (выгрузка в табличные документы)
🔌 unixodbcвнешние источники данных

💡 Если сомневаетесь, всё ли подтянулось, после установки 1С проверьте библиотеки сервера: ldd /opt/1cv8/x86_64/<версия>/ragent | grep "not found". Пустой вывод — всё на месте.

Установка платформы 1С:Предприятие на сервер Debian

Дистрибутив берут на портале обновлений 1С по договору ИТС. Для сервера нужен архив «Технологическая платформа 1С:Предприятия (64-bit) для Linux» с файлом вида server64_8_3_xx_xxxx.tar.gz. Пакеты .deb отдельно скачивать не нужно: в новых версиях всё внутри одного .run.

Распаковка и запуск установщика

mkdir ~/1c && cd ~/1c
tar -xzf server64_8_3_xx_xxxx.tar.gz
chmod +x setup-full-8.3.xx.xxxx-x86_64.run

На сервере без графики удобнее тихая установка с явным списком компонентов:

sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended \
  --enable-components server,ws,server_admin
  • 🖥️ server — сам сервер 1С (агент, менеджер кластера, рабочие процессы);
  • 🌐 ws — модули расширения веб-сервера, нужны для публикации баз через Apache;
  • 🛠️ server_admin — сервер администрирования ras и утилита rac.

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

Установщик создаёт системного пользователя usr1cv8, от имени которого работает сервер. Файлы кластера хранятся в его домашнем каталоге: /home/usr1cv8/.1cv8/1C/1cv8/.

Регистрация службы в systemd

В каталоге версии лежит готовый unit-файл. Подключите его и запустите экземпляр default:

V=8.3.xx.xxxx
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable --now srv1cv8-$V@default
systemctl status srv1cv8-$V@default

Статус active (running) означает, что агент сервера (ragent) запущен и слушает порт 1540.

Номер версии в имени службы обязателен. При обновлении платформы ставится новая служба с новым номером, старую нужно остановить и отключить, иначе две версии начнут бороться за одни и те же порты.

PostgreSQL для 1С: установка и настройка

Обычный PostgreSQL из репозитория Debian для 1С не подходит. Нужна сборка с патчами: «PostgreSQL для 1С» (выкладывается на том же портале обновлений) или Postgres Pro, где сборки для 1С тоже есть. Без патчей платформа откажется создавать базу или будет работать с ошибками.

Установка из пакетов .deb

Скачайте архив сборки для Debian/Ubuntu x86_64 той версии, которую поддерживает ваш релиз платформы (список поддерживаемых СУБД приводится в описании релиза). Распакуйте и установите пакеты через apt, чтобы он сам подтянул зависимости:

sudo apt install ./*.deb

Если apt ругается на неподходящую версию libicu, значит, сборка собрана под другой дистрибутив. Возьмите сборку для Debian 11 или более раннюю версию СУБД, а не ставьте чужую библиотеку вручную.

После установки задайте пароль служебной роли:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"

💡 Для боевой базы лучше завести отдельную роль, например usr1c, с правом создавать базы, а не работать под postgres.

Базовые параметры postgresql.conf

Значения по умолчанию рассчитаны на минимальное железо. Для сервера с 16 ГБ памяти, где на той же машине работает и 1С, разумная отправная точка такая:

ПараметрОриентирСмысл
shared_buffers4GB (около 25% ОЗУ)кеш страниц самой СУБД
effective_cache_size8GB (около 50% ОЗУ)подсказка планировщику о кеше ОС
work_mem32MB–64MBпамять под сортировки в одном запросе
maintenance_work_mem512MBускоряет VACUUM и построение индексов
max_connections100–200рабочие процессы 1С держат пул соединений
listen_addresses'localhost' или '*'второе — если 1С стоит на другой машине

В pg_hba.conf разрешите вход по паролю (scram-sha-256 или md5) с адреса сервера 1С. Перезапустите СУБД:

sudo systemctl restart postgresql

Перезапуск PostgreSQL разрывает все сеансы 1С на этом сервере. На рабочей системе делайте это вне рабочего времени.

Кластер серверов 1С: проверка и администрирование

Отдельно «создавать» кластер на Debian не нужно. При первом старте служба поднимает агент на порту 1540 и «Локальный кластер» с менеджером на порту 1541. Ваша задача — убедиться, что он есть, и подключить к нему средства управления.

Сервер администрирования ras

Консоль кластера и утилита rac общаются с агентом не напрямую, а через ras. Запустите его в фоне:

sudo -u usr1cv8 /opt/1cv8/x86_64/$V/ras cluster --daemon

По умолчанию ras слушает порт 1545. Для автозапуска в каталоге версии есть unit-файл ras, его подключают так же, через systemctl link.

Проверка через rac

/opt/1cv8/x86_64/$V/rac cluster list

В ответе будет cluster — идентификатор кластера (UUID), host, port : 1541 и имя. Этот UUID понадобится для всех остальных команд rac. Полный список возможностей утилиты — в rac help и rac <режим> help.

Консоль кластера с Windows

Если привычнее графика, на компьютере администратора откройте «Администрирование серверов 1С Предприятия», добавьте центральный сервер по имени srv1c и порту 1545 (порт ras). Если консоль не открывается — перерегистрируйте radmin.dll той же версии, что и сервер, через «Регистрацию утилиты администрирования серверов» в меню Пуск.

Администратор кластера

Пока администратор не задан, кластером может управлять любой, кто достучится до порта 1545. Задайте администратора сразу:

rac cluster admin --cluster=<UUID> register --name=admin --pwd=Пароль --auth=pwd

Запишите пароль администратора кластера в надёжное место. Если он потерян, сбросить его штатно нельзя: останавливают службу и восстанавливают файлы кластера из резервной копии.

Брандмауэр и порты для клиентов 1С

Клиент сначала идёт к агенту (1540), затем к менеджеру кластера (1541), а потом напрямую к рабочему процессу. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591.

ПортКто слушаетКому открывать
1540/tcpагент сервера ragentвсем клиентам 1С
1541/tcpменеджер кластера rmngrвсем клиентам 1С
1560–1591/tcpрабочие процессы rphostвсем клиентам 1С
1545/tcpсервер администрирования rasтолько администраторам
5432/tcpPostgreSQLтолько серверу 1С, если СУБД на другой машине

На Debian 11 удобнее всего ufw:

sudo apt install -y ufw
sudo ufw allow 22/tcp
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
sudo ufw allow from 192.168.1.0/24 to any port 1545 proto tcp
sudo ufw enable

Правило для SSH (22) добавляйте первым. Если включить ufw без него на удалённом сервере, вы потеряете доступ к машине.

Порт 5432 наружу не открывайте, если 1С и PostgreSQL стоят на одном сервере: соединение идёт через localhost.

Первая информационная база на сервере Debian

Базу создают с клиентского компьютера или прямо с сервера через rac. Первый способ нагляднее, второй удобен для скриптов.

Через окно запуска 1С

  1. На компьютере пользователя пропишите имя сервера в C:\Windows\System32\drivers\etc\hosts (или в DNS сети): 192.168.1.10 srv1c.
  2. В окне запуска нажмите «Добавить», выберите создание новой информационной базы и вариант размещения «На сервере 1С:Предприятия».
  3. Заполните поля: кластер серверов — srv1c, имя базы в кластере — например buh, тип СУБД — PostgreSQL, сервер баз данных — localhost, имя базы данных — buh, пользователь и пароль роли PostgreSQL.
  4. Отметьте создание базы данных в случае её отсутствия и завершите мастер.

Обратите внимание на поле «Сервер баз данных»: оно заполняется с точки зрения сервера 1С, а не клиента. Если СУБД стоит на той же машине, что и 1С, там пишут localhost.

Версия клиента на рабочем месте должна совпадать с версией сервера до последней цифры. Клиент 8.3.xx.1111 к серверу 8.3.xx.2222 не подключится.

Через rac на сервере

rac infobase --cluster=<UUID> create --create-database \
  --name=buh --dbms=PostgreSQL --db-server=localhost \
  --db-name=buh --locale=ru --db-user=usr1c --db-pwd=Пароль \
  --license-distribution=allow

Если какой-то параметр в вашей версии называется иначе, сверьтесь с rac infobase help. Пустая база готова, дальше в неё загружают выгрузку .dt или конфигурацию .cf через Конфигуратор.

Лицензии на сервер

Без лицензии сервер не даст работать с базой. Варианты такие:

  • 🔑 Программная лицензия на сервер 1С активируется при первом подключении клиента к серверной базе: появится окно ввода пин-кода. Файл лицензии сохраняется на сервере в /var/1C/licenses.
  • 🧩 Аппаратный ключ HASP требует драйвера Sentinel (aksusbd) для Linux и проброса USB, если сервер виртуальный.
  • 👥 Клиентские лицензии нужны отдельно, на число одновременных пользователей. Их тоже можно разместить на сервере, чтобы рабочие места не держали каждое свою.

💡 Флаг --license-distribution=allow в команде выше разрешает серверу выдавать клиентские лицензии для этой базы.

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

Ошибки при установке 1С на Debian и диагностика

Если что-то не заработало, начинайте с журнала службы:

journalctl -u srv1cv8-$V@default -n 100 --no-pager

Ниже — ситуации, которые чаще всего всплывают именно на Debian 11.

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

Если ничего не помогло

Сравните, какие процессы реально запущены и какие порты слушают:

ps -ef | grep -E "ragent|rmngr|rphost"
ss -tlnp | grep -E "154[015]|15[6-9][0-9]"

Если ragent есть, а rmngr и rphost не появились — смотрите права на /home/usr1cv8/.1cv8: каталог должен принадлежать usr1cv8. Такое бывает, если кто-то запускал сервер вручную от root.

Перед перезапуском службы srv1cv8 предупредите пользователей: все их сеансы оборвутся, несохранённые документы пропадут. На рабочем сервере перезапуск планируйте на вечер или выходные.

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

Подойдёт ли Debian 12 вместо Debian 11?
Да, современные релизы платформы 8.3 ставятся и на Debian 12 тем же установщиком. Различаются версии системных библиотек, поэтому сборку PostgreSQL берите именно под ваш дистрибутив.
Можно ли поставить на один сервер две версии платформы?
Можно. Каждая версия ставится в свой каталог и получает свою службу. Одновременно запускать их можно только на разных портах, иначе вторая служба не стартует.
Нужен ли графический интерфейс на сервере?
Нет. Сервер 1С, PostgreSQL и rac работают без графики. Конфигуратор и консоль кластера запускают с компьютера администратора.
Где сервер 1С на Debian хранит журнал регистрации баз?
В каталоге кластера внутри /home/usr1cv8/.1cv8/1C/1cv8/, в подпапке с идентификатором информационной базы. Это стоит учитывать при планировании места на диске.
Можно ли разнести 1С и PostgreSQL на разные машины?
Можно. Тогда в поле сервера баз данных указывают имя машины с PostgreSQL, а на ней открывают порт 5432 только для сервера 1С. Сеть между ними должна быть быстрой и с малой задержкой.