Сервер 1С и PostgreSQL на Astra Linux: от подготовки системы до первой базы
Содержание
Чтобы установить 1С на Astra Linux, скачайте единый дистрибутив setup-full-8.3.xx.xxxx-x86_64.run, запустите его от root с компонентами server и server_admin, зарегистрируйте службу srv1cv8-<версия>@default в systemd и подключите PostgreSQL в сборке для 1С. После этого база создаётся из клиента или утилитой rac. На всё уходит час-полтора, если система подготовлена заранее.
Ниже порядок для платформы 8.3.20 и новее, где установщик общий для всех дистрибутивов Linux. Шаги подходят для Astra Linux Special Edition 1.7 и 1.8; на Common Edition шаги те же, но без мандатных механизмов защиты.
1. Подготовка Astra Linux перед установкой 1С
Большая часть проблем с сервером 1С на Linux возникает не в установщике, а раньше: в имени хоста, локали и шрифтах. Проверьте их до запуска дистрибутива.
Имя сервера и файл hosts
Клиенты и сам сервер 1С обращаются к кластеру по имени. Если имя разрешается в 127.0.1.1 (так Astra прописывает хост по умолчанию), клиенты из сети получат ошибку «сервер не обнаружен».
hostnamectl set-hostname srv1c
sudo nano /etc/hosts
В /etc/hosts строка с именем сервера должна указывать на реальный адрес в локальной сети:
127.0.0.1 localhost
192.168.1.10 srv1c.office.local srv1c
Строку 127.0.1.1 srv1c удалите. На клиентских машинах имя srv1c тоже должно разрешаться: через DNS или их собственный файл hosts.
Локаль ru_RU.UTF-8
PostgreSQL создаёт базы 1С с русской локалью. Если её нет в системе, создание базы оборвётся с ошибкой о неверном имени локали.
locale -a | grep ru_RU
sudo dpkg-reconfigure locales # отметьте ru_RU.UTF-8
Пакеты и шрифты
Серверу нужны библиотеки для работы со шрифтами и графикой: без них не формируются печатные формы и отчёты с диаграммами.
sudo apt update
sudo apt install fontconfig imagemagick unixodbc libgsf-1-114
Шрифты Microsoft (Arial, Times New Roman) нужны, чтобы печатные формы выглядели так же, как в Windows. Установите пакет ttf-mscorefonts-installer, если он есть в подключённых репозиториях, и обновите кеш командой fc-cache -fv.
Если apt не находит пакеты, проверьте /etc/apt/sources.list: для Astra Linux SE подключите базовый и расширенный репозитории своей версии. Названия пакетов в разных выпусках Astra могут немного отличаться, подбирайте через apt search.
Режимы защиты Astra Linux SE
В Special Edition есть механизмы, которых нет в обычных дистрибутивах:
- 🔒 замкнутая программная среда (ЗПС) — запускаются только исполняемые файлы с доверенной подписью;
- 🛡️ мандатный контроль целостности (МКЦ) и мандатное управление доступом — у процессов и пользователей есть метки уровней.
Узнать, включены ли они, можно командами astra-digsig-control is-enabled и astra-mic-control is-enabled. Не отключайте защиту самостоятельно на сервере, который аттестован или работает с персональными данными — порядок настройки для 1С согласуйте с ответственным за информационную безопасность.
2. Установка платформы 1С на Astra Linux из единого дистрибутива
С версии 8.3.20 платформа для Linux поставляется одним файлом setup-full-<версия>-x86_64.run. Он сам ставит нужные deb-пакеты и раскладывает файлы в /opt/1cv8/x86_64/<версия>/.
Установка без графического интерфейса
На сервере без рабочего стола удобнее режим без диалогов:
chmod +x setup-full-8.3.25.1394-x86_64.run
sudo ./setup-full-8.3.25.1394-x86_64.run --mode unattended \
--enable-components server,server_admin,ru
Номер версии подставьте свой. Компоненты:
| Компонент | Что ставит | Когда нужен |
|---|---|---|
server | сервер 1С:Предприятия (ragent, rmngr, rphost) | всегда на сервере |
server_admin | сервер администрирования ras и утилита rac | для управления кластером |
ru | русский интерфейс | всегда |
ws | модули расширения веб-сервера | если публикуете базы через Apache |
client_full / client_thin | толстый и тонкий клиенты | на рабочих местах или для конфигуратора на сервере |
Если на машине есть рабочий стол Fly, можно запустить тот же файл без параметров и отметить компоненты галочками в мастере.
Пользователь usr1cv8
Установщик создаёт системного пользователя usr1cv8 и группу grp1cv8. От их имени работает сервер 1С, а данные кластера хранятся в /home/usr1cv8/.1cv8/1C/1cv8/. Не меняйте владельца этой папки и не запускайте сервер вручную от root: потом служба не сможет прочитать файлы, созданные под root.
Служба в systemd
В каталоге версии лежит шаблон юнита. Его нужно подключить и запустить с экземпляром default:
VER=8.3.25.1394
sudo systemctl link /opt/1cv8/x86_64/$VER/srv1cv8-$VER@.service
sudo systemctl enable srv1cv8-$VER@default
sudo systemctl start srv1cv8-$VER@default
sudo systemctl status srv1cv8-$VER@default
Так же подключается служба сервера администрирования ras: её юнит лежит в том же каталоге версии (ls /opt/1cv8/x86_64/$VER/*.service). Без запущенного ras утилита rac и консоль с Windows не смогут подключиться к
кластеру.
При смене версии платформы старую службу нужно остановить и отключить (systemctl disable), а новую подключить тем же способом. Остановка службы обрывает все сеансы пользователей — делайте это вне рабочего времени.
3. PostgreSQL для 1С на Astra Linux
Обычный PostgreSQL из репозитория не подходит: 1С нужны доработки (тип mchar и ряд расширений). Используйте одну из сборок:
- 📦 PostgreSQL от фирмы 1С, который выкладывается вместе с платформой для владельцев лицензий;
- 📦 Postgres Pro для 1С от компании Postgres Professional (у неё есть пакеты под Astra Linux).
Установка и инициализация
Порядок зависит от сборки. У Postgres Pro после установки пакета кластер БД инициализируется утилитой pg-setup из каталога /opt/pgpro/<версия>/bin/:
sudo /opt/pgpro/1c-16/bin/pg-setup initdb --locale=ru_RU.UTF-8
sudo /opt/pgpro/1c-16/bin/pg-setup service enable
sudo /opt/pgpro/1c-16/bin/pg-setup service start
Имя каталога 1c-16 замените на свою версию. Затем задайте пароль пользователю postgres, под которым 1С будет создавать базы:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
Доступ и память
В pg_hba.conf разрешите подключение с паролем для адреса сервера 1С (если СУБД на той же машине — для 127.0.0.1/32):
host all all 127.0.0.1/32 scram-sha-256
В postgresql.conf стоит поправить память под свою машину. Ориентиры для выделенного сервера:
| Параметр | Ориентир | Пример для 16 ГБ ОЗУ |
|---|---|---|
shared_buffers | около 25% ОЗУ | 4GB |
effective_cache_size | 50–75% ОЗУ | 10GB |
work_mem | 32–64 МБ | 64MB |
maintenance_work_mem | 512 МБ–1 ГБ | 1GB |
Если сервер 1С и СУБД стоят на одной машине, учитывайте, что рабочим процессам 1С тоже нужна память: не отдавайте PostgreSQL больше половины ОЗУ. После правки перезапустите службу СУБД.
На Astra Linux SE с мандатным управлением доступом у PostgreSQL есть свои параметры проверки меток соединений. Если подключение от 1С отклоняется при правильном пароле, ищите решение в документации Astra по работе PostgreSQL в защищённом режиме, а не в настройках 1С.
4. Кластер серверов и первая информационная база
После первого запуска службы srv1cv8 агент сервера на порту 1540 автоматически создаёт локальный кластер на порту 1541. Отдельно регистрировать его не нужно.
Проверка кластера через rac
Запустите ras (если ещё не запущен как служба) и посмотрите список кластеров:
/opt/1cv8/x86_64/8.3.25.1394/rac cluster list localhost:1545
В выводе будет параметр cluster — это идентификатор кластера, он нужен для остальных команд.
Создание базы из клиента
Проще всего создать базу с рабочего места:
- Откройте окно запуска 1С и нажмите
Добавить. - Выберите создание новой информационной базы, затем шаблон конфигурации или пустую базу.
- Укажите вариант размещения «На сервере 1С:Предприятия».
- Заполните поля: кластер —
srv1c, имя базы — напримерbuh, СУБД —PostgreSQL, сервер баз данных —localhost(если СУБД на сервере 1С), пользовательpostgresи его пароль. - Отметьте создание базы данных в случае её отсутствия и разрешите выдачу лицензий сервером, если лицензии будут храниться на сервере.
Поле «Сервер баз данных» задаётся с точки зрения сервера 1С, а не клиента. Если СУБД стоит на той же машине, пишите localhost, даже когда клиент находится в другом офисе.
Создание базы из командной строки
Без клиента базу создаёт rac:
rac infobase create --cluster=<id_кластера> \
--create-database --name=buh --dbms=PostgreSQL \
--db-server=localhost --db-name=buh --locale=ru \
--db-user=postgres --db-pwd='СложныйПароль' \
--license-distribution=allow localhost:1545
Если сомневаетесь в каком-то параметре своей версии, сверьтесь с rac help infobase.
Администрирование с Windows
Графической консоли кластера для Linux в составе платформы нет. Есть два пути:
- 🖥️ управлять кластером через
racпрямо на сервере; - 🖥️ подключиться к
rasна порту 1545 из консоли «Администрирование серверов 1С Предприятия» на Windows. Для этого на Windows-машине должна быть зарегистрирована библиотекаradmin.dllтой же версии платформы, что и сервер: командаregsvr32 "C:\Program Files\1cv8\<версия>\bin\radmin.dll"от администратора.
5. Лицензии 1С на Linux-сервере и права доступа
Для клиент-серверного режима нужна лицензия на сервер 1С:Предприятия. Клиентские лицензии можно держать на рабочих местах или на сервере — тогда их выдаёт кластер.
Программная лицензия
Файлы программных лицензий сервер хранит в /var/1C/licenses/. Активировать её можно с клиента, подключённого к серверной базе: при запросе лицензии выберите получение на сервере и введите регистрационный номер и пин-код из комплекта.
Что проверить, если активация не проходит:
- 👤 каталог
/var/1C/licenses/существует и пользовательusr1cv8может в него писать; - 🧩 сервер не на виртуальной машине, параметры которой часто меняются — программная лицензия привязана к оборудованию;
- 🔢 пин-код не использован ранее на другой конфигурации оборудования.
После замены процессора, сетевой карты или переноса виртуальной машины программная лицензия может слететь. Потребуется повторная активация резервным пин-кодом, поэтому храните конверт с пин-кодами.
Аппаратный ключ HASP
Для USB-ключей на Linux нужен драйвер Sentinel (служба aksusbd). Ставится он отдельно от 1С, пакет берут у производителя ключей. Проверка: служба запущена, ключ виден в списке USB-устройств (lsusb).
Права на каталоги
Держите под контролем три места:
| Каталог | Владелец | Назначение |
|---|---|---|
/home/usr1cv8/.1cv8/ | usr1cv8 | данные кластера, журналы регистрации баз |
/var/1C/licenses/ | usr1cv8 (запись) | программные лицензии |
/opt/1cv8/ | root | файлы платформы, только чтение для службы |
Если вы копировали данные кластера с другого сервера, верните владельца: sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8.
6. Если 1С на Astra Linux не запускается: журналы и типовые ошибки
Начинайте с журнала службы — он показывает, поднялся ли агент вообще:
sudo journalctl -u srv1cv8-8.3.25.1394@default -n 100
ss -tlnp | grep -E '154[015]|15[6-9][0-9]'
Вторая команда показывает, слушаются ли порты 1540, 1541, 1545 и диапазон рабочих процессов.
Где лежат журналы
- 📁 журнал регистрации базы — в каталоге кластера
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<id_базы>/; - 📁 технологический журнал — включается файлом
logcfg.xmlв/opt/1cv8/conf/; в нём задаётся каталог для логов, события и срок хранения; - 📁 журнал PostgreSQL — в подкаталоге
logкаталога данных СУБД.
Технологический журнал включайте на время диагностики: при подробных настройках он быстро занимает диск.
Перезапуск службы srv1cv8 или PostgreSQL обрывает все сеансы пользователей. Предупредите людей заранее или делайте это вечером.
7. Частые вопросы об установке 1С на Astra Linux
Можно ли поставить сервер 1С и PostgreSQL на одну машину Astra Linux?
Нужна ли отдельная лицензия на сервер, если пользователи работают на Linux?
Работает ли файловая база 1С на Astra Linux?
client_full или client_thin) и указать каталог базы. Сервер и PostgreSQL для файлового варианта не нужны.Можно ли обновить платформу, не удаляя старую?
/opt/1cv8/x86_64/<новая версия>/. Останавливаете старую службу, подключаете новую, и кластер подхватывает те же данные из /home/usr1cv8/.1cv8/.Чем подключаться к кластеру, если на сервере нет графики?
rac прямо на сервере или консолью администрирования с Windows через ras на порту 1545. Версия radmin.dll на Windows должна совпадать с версией сервера.