Сервер 1С:Предприятия 8.3 под Linux: от чистой системы до первой базы
Содержание
Чтобы установить 1С:Предприятие 8.3 на Linux, скачайте с портала обновлений единый установщик setup-full-8.3.xx.xxxx-x86_64.run, запустите его от root с нужными компонентами (сервер, клиент или оба), поставьте сборку PostgreSQL, адаптированную для 1С, и зарегистрируйте службу srv1cv8 в systemd. После старта службы кластер создаётся сам, и в нём можно заводить информационные базы.
Сложности обычно не в самой установке, а в мелочах вокруг неё: имя сервера не резолвится у клиентов, закрыт диапазон портов рабочих процессов, PostgreSQL собран без патчей для 1С или в системе нет русской локали. Порядок действий одинаков для Ubuntu/Debian и rpm-систем, отличаются только команды пакетного менеджера. Речь о платформе 8.3 версий 8.3.20 и новее: начиная с них для Linux выпускается единый установщик.
1. Подготовка Linux к установке 1С: дистрибутив, ресурсы, сеть
Сервер 1С официально работает на 64-битных дистрибутивах семейств deb и rpm. На практике чаще всего встречаются:
| Дистрибутив | Пакеты | Когда выбирают |
|---|---|---|
| Ubuntu Server LTS | deb | самый частый вариант, много инструкций и пакетов |
| Debian | deb | стабильность, минимум лишнего |
| Astra Linux | deb | госсектор, требования к сертифицированным ОС |
| РЕД ОС, ALT | rpm | импортозамещение, реестр отечественного ПО |
| Rocky / Alma / CentOS Stream | rpm | наследие инфраструктуры на RHEL-системах |
Перед установкой проверьте совместимость: в описании каждого релиза платформы перечислены поддерживаемые версии ОС. Свежий выпуск дистрибутива может появиться в списке позже, чем выйдет.
Ресурсы сервера
Ориентиры для небольшой компании (до 15–20 пользователей, одна-две базы БП или ЗУП):
- 🖥 Процессор: 4 ядра и больше, важна частота одного ядра.
- 🧠 Память: от 8 ГБ, из них заметная часть уйдёт PostgreSQL под кэш.
- 💾 Диск: SSD или NVMe, отдельный раздел под данные СУБД.
- 🌐 Сеть: постоянный IP-адрес и имя хоста, которое не меняется.
Имя хоста и русская локаль
Задайте постоянное имя и пропишите его в /etc/hosts:
sudo hostnamectl set-hostname srv1c
echo "192.168.1.10 srv1c" | sudo tee -a /etc/hosts
Кластер 1С регистрирует себя под именем хоста. Клиенты должны находить это имя: через DNS или запись в своём hosts-файле. Иначе подключение к агенту пройдёт, а к рабочему процессу — нет.
Русская локаль нужна для PostgreSQL и корректной сортировки строк в базе:
sudo locale-gen ru_RU.UTF-8
sudo update-locale
locale -a | grep ru_RU
На rpm-системах локаль ставится пакетом языковой поддержки (glibc-langpack-ru на RHEL-подобных).
2. Где скачать дистрибутивы 1С для Linux и какие пакеты поставить заранее
Платформа скачивается на портале обновлений 1С при наличии подписки ИТС или регистрации продукта. В разделе «Технологическая платформа 8.3» выберите нужный номер и файл «Технологическая платформа 1С:Предприятия (64-bit) для Linux». Внутри архива — установщик setup-full-…-x86_64.run.
Для версий до 8.3.20 вместо него были отдельные архивы deb и rpm: server, client, common, ws. Их ставили через dpkg -i или rpm -i в правильном порядке: сначала common, затем server и остальные.
Зависимости
Установщик сам сообщает о недостающих библиотеках. Чтобы не ловить их по одной, заранее поставьте шрифты и базовые пакеты:
sudo apt update
sudo apt install -y fontconfig ttf-mscorefonts-installer unixodbc
sudo fc-cache -fv
Шрифты Microsoft нужны серверу для формирования печатных форм и PDF без «поехавших» макетов. Пакет ttf-mscorefonts-installer лежит в репозитории multiverse (Ubuntu) или contrib (Debian).
Ставите сервер в минимальной конфигурации без графики — клиентские компоненты ему не нужны. Меньше зависимостей, меньше обновлений безопасности.
3. PostgreSQL для 1С: установка и первичная настройка СУБД
Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит: платформе нужны доработки (тип mchar, особенности сортировки и др.). Варианты:
| Сборка | Где взять | Особенности |
|---|---|---|
| PostgreSQL от 1С | портал обновлений, раздел «Дистрибутив СУБД PostgreSQL для Linux» | бесплатно, патчи 1С, пакеты deb/rpm |
| Postgres Pro для 1С (бесплатная редакция) | репозиторий Postgres Professional | удобные репозитории, обновления через apt |
| Postgres Pro Standard / Enterprise | по договору с вендором | поддержка, оптимизации, платные лицензии |
Перед установкой сверьте, какую мажорную версию PostgreSQL поддерживает ваш релиз платформы. Слишком новая СУБД со старой платформой — частая причина ошибок создания базы.
Пароль и доступ
После установки задайте пароль служебному пользователю СУБД:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
В pg_hba.conf проверьте, что локальные TCP-подключения разрешены по паролю (scram-sha-256 или md5), а не по trust. Если СУБД стоит на отдельной машине, добавьте строку с подсетью сервера 1С и пропишите listen_addresses в postgresql.conf.
Память
Значения по умолчанию рассчитаны на крошечную машину. Для сервера с 16 ГБ, где рядом работает 1С, разумная отправная точка:
| Параметр | Значение | Зачем |
|---|---|---|
shared_buffers | 4GB | кэш страниц СУБД (около 25% памяти) |
effective_cache_size | 8GB | подсказка планировщику о кэше ОС |
work_mem | 64MB | сортировки и соединения в запросах |
maintenance_work_mem | 512MB | индексы, VACUUM |
После правок — sudo systemctl restart postgresql. Перезапуск СУБД рвёт все подключения: делайте его до запуска баз или вне рабочего времени.
4. Установка сервера 1С на Linux и запуск кластера
Распакуйте архив и запустите установщик от root:
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
Без ключей установщик откроет графический или текстовый мастер, где компоненты отмечают галочками. Точный список имён компонентов для вашего релиза показывает ./setup-full-….run --help.
Платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/. Каждый релиз ложится в свой каталог, поэтому несколько версий могут стоять рядом.
Регистрация службы в systemd
В каталоге установки лежит шаблон юнита srv1cv8-8.3.xx.xxxx@.service. Подключите его и включите экземпляр default:
V=8.3.xx.xxxx
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable --now srv1cv8-$V@default
При первом старте агент сервера создаёт кластер по умолчанию на порту 1541 и каталог служебных файлов в домашней папке пользователя usr1cv8 (~/.1cv8/1C/1cv8). Отдельно «инициализировать» кластер не нужно.
Версии ниже 8.3.21 управлялись старым скриптом /etc/init.d/srv1cv83 с настройками в /etc/default/srv1cv83. Если обновляете такой сервер, отключите старую службу перед запуском новой, иначе две копии агента будут спорить за порт 1540.
Порты, которые нужно открыть
| Порт | Кто слушает |
|---|---|
| 1540 | агент сервера — первая точка подключения клиента |
| 1541 | менеджер кластера |
| 1560–1591 | рабочие процессы (диапазон задаётся в свойствах рабочего сервера) |
| 1545 | сервер администрирования ras, если вы его запускаете |
| 5432 | PostgreSQL, только если СУБД на другой машине |
Для ufw:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Открывайте 1545 и 5432 только для подсети администраторов, а не для всех.
5. Пользователь usr1cv8, права на каталоги и лицензии
Установщик создаёт системного пользователя usr1cv8 и группу grp1cv8. От имени этого пользователя работает служба, и он должен иметь права на:
- 📁 каталог данных кластера
/home/usr1cv8/.1cv8/; - 📁 каталог лицензий
/var/1C/licenses/; - 📁 каталоги выгрузок и обменов, если базы пишут файлы на диск сервера.
Типовая ошибка — скопировать файлы под root, после чего служба не может их прочитать. Исправляется так:
sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
Лицензия сервера
Без серверной лицензии клиенты не смогут работать с базами на этом сервере. Два варианта:
- 🔑 Программная лицензия — активируется по пин-коду при первом подключении к базе или через клиент, файл лицензии сохраняется в
/var/1C/licenses/. Привязана к оборудованию: смена материнской платы, сетевых карт или переезд виртуальной машины может её «слететь». - 🔌 Аппаратный ключ HASP — на Linux нужен драйвер
aksusbd(менеджер ключей Sentinel). Для виртуальной машины ключ пробрасывают через USB-over-IP или на хост с менеджером лицензий.
Администратор кластера
По умолчанию у кластера нет администратора, и любой, кто достучится до порта 1540, может управлять им. Сразу после установки заведите администратора центрального сервера и кластера. На Linux это делается утилитой rac (команды смотрите в rac help agent и rac help cluster) или консолью с Windows-машины через ras.
Пароль администратора кластера храните в менеджере паролей. Если он утерян — остановите службу и восстановите файлы реестра кластера из резервной копии каталога ~/.1cv8/1C/1cv8; без копии решать вопрос нужно с администратором сервера, а не «сносом» кластера.
6. Как проверить, что сервер 1С на Linux работает
Пройдите проверку снизу вверх: служба → порты → кластер → база.
Служба запущена:
systemctl status srv1cv8-8.3.xx.xxxx@default
Строка active (running) и процессы ragent, rmngr, rphost в выводе.
Порты слушаются:
sudo ss -tlnp | grep -E '154[01]|15[6-9][0-9]'
Кластер отвечает. Запустите сервер администрирования и спросите список кластеров:
sudo -u usr1cv8 /opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --daemon
/opt/1cv8/x86_64/8.3.xx.xxxx/rac cluster list
Вы увидите UUID кластера, имя хоста и порт 1541. Если ras нужен постоянно (для консоли с Windows), оформите его отдельным юнитом systemd, а не запуском вручную.
База создаётся. На рабочей станции с клиентом той же версии:
- Откройте окно запуска 1С и нажмите
Добавить. - Выберите «Создание новой информационной базы» и шаблон конфигурации или пустую базу.
- Тип расположения — «На сервере 1С:Предприятия».
- Кластер серверов
—
srv1c, имя базы в кластере — напримерbuh. - Тип СУБД — PostgreSQL, сервер баз данных —
localhost(с точки зрения сервера 1С), пользовательpostgresи пароль. - Отметьте «Создать базу данных в случае её отсутствия» и завершите мастер.
Если база открылась и в ней можно провести документ — сервер собран правильно.
7. Клиент 1С на рабочих станциях Linux
Сервер и клиент — разные задачи. Для рабочих мест бухгалтеров на Linux ставят тот же установщик с клиентскими компонентами:
sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended --enable-components client_full,ru
Ярлык появится в меню приложений. Версия клиента должна совпадать с версией сервера до последней цифры, иначе подключение к серверной базе не пройдёт.
| Вариант клиента | Когда ставить |
|---|---|
Толстый (client_full) | нужен Конфигуратор, обновление конфигураций, работа с файловыми базами |
Тонкий (client_thin) | обычная работа пользователей с серверными базами |
| Веб-клиент через браузер | рабочие места без установки, удалённые сотрудники; нужна публикация на веб-сервере (компонент ws + Apache) |
Для учёта с ЭЦП на Linux-клиенте отдельно ставят криптопровайдер (КриптоПро CSP или ViPNet CSP для Linux) и драйвер носителя. Без них 1С-Отчётность и ЭДО подписывать документы не смогут.
Частые вопросы
Можно ли поставить сервер 1С на Linux, а пользователей оставить на Windows?
Нужна ли отдельная лицензия на сервер под Linux?
Как обновить платформу на Linux-сервере?
~/.1cv8 подхватятся. Клиенты обновите на ту же версию.