1С:Сервер мини на Linux с PostgreSQL: от чистой системы до первой базы
Содержание
Чтобы установить 1С:Сервер мини на Linux, скачайте обычный дистрибутив сервера платформы 8.3 (setup-full-8.3.xx.xxxx-x86_64.run), запустите его с компонентом server, подключите службу srv1cv8 через systemctl, поставьте PostgreSQL в сборке для 1С и активируйте лицензию Сервер мини. Отдельного «мини-дистрибутива» не существует. Частое заблуждение — искать его на портале и не находить.
«Мини» — это вид лицензии, а не другая программа. Платформа та же, процессы те же (ragent, rmngr, rphost), настройка и оптимизация идут так же, как у полноценного сервера. Ограничение касается числа одновременных подключений: оно указано в названии купленной поставки. Команды даны для Ubuntu/Debian, отличия для RPM-систем отмечены по месту.
1. Подготовка Linux-сервера: что сделать до установки 1С
Сервер мини рассчитан на небольшую команду, поэтому хватает скромного железа. Ориентир для 5–10 пользователей на одной машине вместе с PostgreSQL:
| Ресурс | Минимум | Комфортно |
|---|---|---|
| Процессор | 2 ядра | 4 ядра с высокой частотой |
| Память | 8 ГБ | 16 ГБ |
| Диск под базы | SSD 50 ГБ | NVMe, отдельный том под данные PostgreSQL |
| ОС | 64-разрядный Linux | Ubuntu LTS, Debian, Astra, РЕД ОС, ALT |
Частота ядра для 1С важнее их количества: большая часть операций одного пользователя выполняется в один поток.
Имя сервера и файл hosts
Клиент 1С сначала стучится к агенту по имени, а потом получает от кластера имя рабочего сервера. Если это имя не разрешается, подключение падает. Поэтому:
- Задайте постоянное имя:
sudo hostnamectl set-hostname srv1c. - Пропишите его в
/etc/hostsна самом сервере:192.168.1.10 srv1c. - На каждом клиентском компьютере тоже добавьте строку с этим именем в
hostsили заведите запись в DNS.
Русская локаль и пакеты
Без локали ru_RU.UTF-8 PostgreSQL создаст кластер с неправильной сортировкой, а 1С не сможет создать в нём базу. Сгенерируйте локаль заранее:
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
locale -a | grep ru_RU
Серверу 1С нужны шрифты и графические библиотеки: без них падает формирование отчётов и печатных форм на сервере. Для Ubuntu/Debian:
sudo apt update
sudo apt install -y libfontconfig1 libfreetype6 libgsf-1-114 \
libglib2.0-0 unixodbc ttf-mscorefonts-installer
sudo fc-cache -fv
Пакет ttf-mscorefonts-installer лежит в репозитории multiverse (Ubuntu) или contrib (Debian). Если apt его не находит — сначала подключите этот репозиторий.
На РЕД ОС, ALT и других RPM-системах имена пакетов отличаются; ориентируйтесь на ту же группу: fontconfig, freetype, libgsf, glib2, unixODBC.
2. Установка 1С:Сервер мини из дистрибутива платформы
Дистрибутив берётся там же, где обычная платформа: раздел технологической платформы 8.3 на портале обновлений, архив «Сервер 1С:Предприятия (64-bit) для DEB-based Linux-систем» или для RPM-систем. Начиная с 8.3.20 внутри архива один установщик .run.
Версия сервера должна совпадать с версией клиентов до последней цифры. Если на компьютерах бухгалтерии стоит 8.3.25.1374, сервер ставьте той же сборки.
Порядок:
- Скопируйте архив на сервер и распакуйте:
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,server_admin,ws,ru
Что означают компоненты:
- 🖥️
server— сам сервер 1С (агент, менеджер кластера, рабочие процессы); - 🛠️
server_admin— утилиты администрированияrasиrac; - 🌐
ws— модули расширения веб-сервера, если планируете публикацию через Apache; - 🔤
ru— русский интерфейс сообщений.
Файлы встанут в /opt/1cv8/x86_64/8.3.xx.xxxx/. Установщик сам создаёт системного пользователя usr1cv8, от имени которого работает служба.
3. PostgreSQL для 1С: какую сборку взять и как настроить
Ванильный PostgreSQL из репозитория дистрибутива для 1С не подходит: нужна сборка с патчами под платформу. Варианты:
| Сборка | Где взять | Когда выбирать |
|---|---|---|
| PostgreSQL для 1С | портал обновлений, раздел дистрибутивов СУБД | стандартный вариант для малого бизнеса |
| Postgres Pro для 1С | репозиторий Postgres Professional | нужна сертифицированная ОС или поддержка вендора СУБД |
Проверьте, что выбранная версия СУБД есть в списке поддерживаемых для вашей версии платформы. Свежий PostgreSQL на старой платформе — частая причина отказа создавать базу.
Установка и пароль
После установки пакетов кластер PostgreSQL должен быть инициализирован с локалью ru_RU.UTF-8. Проверьте и задайте пароль служебной роли:
sudo -u postgres psql -c "SHOW lc_collate;"
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
Если lc_collate показывает C или en_US.UTF-8 — кластер нужно пересоздать с русской локалью, пока в нём нет данных.
Стартовые параметры postgresql.conf
Значения по умолчанию рассчитаны на маленькую машину. Для сервера с 16 ГБ, где на той же машине работает 1С, разумная отправная точка такая:
shared_buffers = 4GB
effective_cache_size = 10GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_connections = 100
max_locks_per_transaction = 256
После правки перезапустите СУБД: sudo systemctl restart postgresql. В pg_hba.conf оставьте доступ только с 127.0.0.1, раз 1С и PostgreSQL на одной машине. Порт 5432 наружу открывать незачем.
4. Запуск службы и кластера серверов 1С
С платформы 8.3.21 вместе с сервером поставляется готовый unit-файл systemd. Его нужно подключить и включить:
V=8.3.xx.xxxx
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable srv1cv8-$V@default
sudo systemctl start srv1cv8-$V@default
sudo systemctl status srv1cv8-$V@default
При первом старте агент сам создаёт кластер на порту 1541 и рабочий сервер. Регистрировать кластер вручную, как в старых версиях, не требуется.
Сервер администрирования и проверка кластера
Для управления из командной строки запустите ras. Если в каталоге установки есть unit-файл ras-$V.service, подключите его так же через systemctl link. Если нет — запустите вручную:
sudo -u usr1cv8 /opt/1cv8/x86_64/$V/ras cluster --daemon
/opt/1cv8/x86_64/$V/rac cluster list
Команда rac cluster list выведет UUID кластера, имя хоста и порт 1541. UUID понадобится для остальных команд.
Порты в межсетевом экране
| Порт | Кто слушает | Нужен клиентам |
|---|---|---|
| 1540 | агент сервера (ragent) | да |
| 1541 | менеджер кластера (rmngr) | да |
| 1560–1591 | рабочие процессы (rphost) | да |
| 1545 | сервер администрирования (ras) | только администратору |
Для ufw:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Диапазон 1560–1591 задаётся в свойствах рабочего сервера. Если его меняете — меняйте и правила файрвола.
5. Лицензия Сервер мини: активация на Linux
Без серверной лицензии сервер не пустит пользователей в базу. Сервер мини поставляется как программная лицензия с пин-кодом.
Самый простой путь — активировать её с клиентского компьютера:
- Подключитесь к серверной базе из клиента 1С (см. следующий раздел).
- Когда платформа сообщит об отсутствии лицензии, выберите получение лицензии и укажите, что она для сервера.
- Введите пин-код и регистрационный номер комплекта , заполните данные организации.
Файл лицензии сохранится на сервере в /var/1C/licenses/. Привязка идёт к параметрам компьютера, поэтому смена материнской платы, сетевой карты или переезд на другую виртуальную машину потребуют повторной активации резервным пин-кодом.
Клиентские лицензии нужны отдельно. Сервер мини лицензирует только сервер, а каждое рабочее место по-прежнему требует свою клиентскую лицензию.
6. Создание информационной базы и подключение пользователей
Базу проще всего создать из окна запуска 1С на любом клиентском компьютере с той же версией платформы.
- Нажмите
Добавить→Создание новой информационной базы. - Выберите шаблон конфигурации или пустую базу.
- Укажите вариант расположения
На сервере 1С:Предприятия. - Заполните параметры:
| Поле | Что вписать |
|---|---|
| Кластер серверов 1С:Предприятия | srv1c (имя из hosts) |
| Имя информационной базы в кластере | buh |
| Тип СУБД | PostgreSQL |
| Сервер баз данных | localhost |
| Имя базы данных | buh |
| Пользователь сервера БД | postgres |
| Пароль пользователя | пароль из шага 3 |
- Поставьте флажок
Создать базу данных в случае ее отсутствияи нажмитеДалее.
localhost в поле сервера БД — не опечатка. Это адрес СУБД с точки зрения сервера 1С, а не клиента.
Создание базы из командной строки
Если клиентской машины под рукой нет, базу создаёт rac:
/opt/1cv8/x86_64/$V/rac infobase --cluster=<UUID> create \
--create-database --name=buh --dbms=PostgreSQL \
--db-server=localhost --db-name=buh --locale=ru \
--db-user=postgres --db-pwd='СложныйПароль' \
--license-distribution=allow
Конфигурацию в такую базу потом загружают из .dt или .cf через Конфигуратор.
Подключение остальных пользователей
На остальных компьютерах базу добавляют через Добавить → Добавление в список существующей информационной базы, указывая сервер и имя базы в кластере. Ещё удобнее раздать файл .v8i со строкой подключения Srvr="srv1c";Ref="buh"; — пользователю останется дважды кликнуть по нему.
7. Оптимизация и мониторинг сервера мини
У небольшого сервера узкое место обычно одно из трёх: память, диск под PostgreSQL или блокировки. Перед тем как что-то крутить, посмотрите, что происходит.
Что смотреть регулярно
- 👥 активные сеансы и занятые лицензии:
rac session list --cluster=<UUID> --licenses; - ⚙️ рабочие процессы и их память:
rac process list --cluster=<UUID>; - 💾 свободное место:
df -h— PostgreSQL останавливается при переполнении диска; - 🗄️ размер базы:
sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('buh'));"; - 📝 журнал службы:
journalctl -u srv1cv8-$V@default --since today.
Что обычно даёт эффект
- Регламентное обслуживание PostgreSQL. Автоочистка должна быть включена. Раз в неделю ночью —
vacuumdb --all --analyzeот имениpostgres. - Ограничение памяти рабочих процессов. В свойствах рабочего сервера задайте предел объёма памяти, после которого процесс перезапускается. Это спасает от «распухания»
rphostпри тяжёлых отчётах. - Резервные копии средствами СУБД. Ночной
pg_dump -Fc buh > /backup/buh_$(date +%F).dumpработает без выгона пользователей, в отличие от выгрузки.dt. - Технологический журнал — только на время разбора. Файл
logcfg.xmlв/opt/1cv8/conf/включает сбор событий. Постоянно включённый журнал с широким фильтром съедает диск за сутки.
Перезапуск службы srv1cv8 или завершение рабочего процесса обрывает сеансы всех пользователей, несохранённые документы пропадут. Делайте это вне рабочего времени или после предупреждения.
8. Ошибки при установке сервера 1С на Linux и их причины
Большая часть проблем после установки повторяется. Выберите симптом:
ping srv1c и правила файрвола. Если кластер выдаёт имя, отличное от записи в hosts, — исправьте имя сервера и перезапустите службу в нерабочее время.fc-cache -fv и перезапустите службу 1С в нерабочее время./var/1C/licenses/ и при необходимости активируйте резервным пин-кодом.Частые вопросы
Можно ли поставить Сервер мини поверх обычного сервера 1С?
Обязательно ли PostgreSQL ставить на ту же машину?
Как перейти на новую версию платформы?
Можно ли поставить сервер 1С на Linux в виртуальной машине?
Где посмотреть, сколько подключений сейчас занято?
rac session list --cluster=<UUID> --licenses или в консоли кластера с Windows-машины, на которой установлены средства администрирования той же версии.