К статье
Практический материал

Администрирование · 10 мин

Как установить 1С:Предприятие на Linux

Подробная инструкция по установке платформы 1С:Предприятие на Linux: выбор пакетов, настройка PostgreSQL, запуск сервера 1С и решение типичных проблем.

1С:Предприятие официально поддерживает работу на Linux: фирма «1С» публикует дистрибутивы платформы для DEB- и RPM-систем, а также адаптированную сборку PostgreSQL для серверного варианта работы. Это позволяет развернуть как файловую базу на одном компьютере, так и полноценную клиент-серверную инфраструктуру без лицензий на Windows Server.

Установку на Linux выполняют в двух типовых сценариях. Первый — локальный: тонкий или толстый клиент на рабочей станции с файловой базой. Второй — серверный: сервер 1С:Предприятия плюс СУБД (PostgreSQL, а также поддерживаются коммерческие варианты), к которой подключаются клиенты по сети. Порядок действий в этих сценариях заметно различается, поэтому сначала определите архитектуру.

Перед началом работ проверьте три вещи: разрядность системы (дистрибутивы платформы поставляются для x86-64, есть сборки под другие архитектуры), версию платформы, требуемую вашей конфигурацией, и наличие лицензий. Для серверного варианта потребуется программная лицензия на сервер или аппаратный ключ HASP с установленными драйверами.

Выбор дистрибутива Linux и архитектуры развёртывания

Платформа 1С:Предприятие поставляется в виде пакетов для двух семейств систем: DEB (Debian, Ubuntu, Astra Linux и производные) и RPM (Red Hat, CentOS-совместимые, ALT Linux, РЕД ОС). Выбирайте пакеты под свой дистрибутив — установка «чужого» формата через конвертеры вроде alien часто приводит к проблемам с зависимостями и службами.

Определите архитектуру заранее. Файловый вариант подходит для одного пользователя или небольшой базы без высоких требований к одновременной работе. Клиент-серверный вариант нужен, когда с базой работают несколько пользователей одновременно, требуется разграничение прав на уровне СУБД и планируется рост объёма данных.

Сравнение вариантов развёртывания

Файловая база + клиент на Linux

Подходит для 1–2 пользователей и небольших баз. Ограничение: нет полноценной одновременной работы по сети без веб-сервера, блокировки при росте числа пользователей.

Сервер 1С + PostgreSQL

Для рабочих групп и средних баз. Ограничение: требует настройки СУБД, службы сервера 1С и отдельной лицензии на сервер.

Веб-клиент через Apache

Когда пользователям нужен доступ через браузер без установки клиента. Ограничение: дополнительная настройка веб-сервера и публикации базы.

Получение дистрибутива и подготовка системы

Дистрибутивы платформы скачиваются с портала portal.1c.ru по действующей подписке ИТС или с диска ИТС. Нужны архивы вида «Технологическая платформа 1С:Предприятия для Linux» — отдельно для клиентских и серверных компонентов, а при необходимости — дистрибутив PostgreSQL, адаптированный фирмой «1С».

Обновите систему и установите необходимые библиотеки до начала установки. Типичный набор зависимостей для клиента включает библиотеки для работы шрифтов и графики; для сервера — библиотеки, необходимые службе агента кластера. Точный перечень зависит от дистрибутива, поэтому при ошибках запуска смотрите вывод менеджера пакетов и команды ldd на исполняемых файлах платформы.

bash
sudo apt update && sudo apt install -y libwebkit2gtk-4.0-37 libgtk-3-0 fonts-liberation

Создайте отдельный каталог для распаковки архивов и распакуйте их. Внутри находятся пакеты с именами вида 1c-enterprise-8.3.xxxx-common, -server, -client, -ws и другие. Порядок установки важен: сначала общие пакеты, затем серверные и клиентские.

Установка клиентской части для файловой базы

Для локальной работы достаточно установить пакеты common и client (тонкий или толстый клиент). В DEB-системах это делается командой dpkg с последующим разрешением зависимостей, в RPM-системах — через dnf или yum.

bash
sudo dpkg -i 1c-enterprise-8.3.<em>-common_</em>.deb 1c-enterprise-8.3.<em>-client_</em>.deb && sudo apt -f install

После установки клиент запускается из меню приложений или командой /opt/1cv8/x86_64/<версия>/1cv8. Проверьте запуск: должно открыться окно стартера со списком информационных баз. Добавьте файловую базу, указав путь к каталогу с файлом 1Cv8.1CD, или создайте новую из шаблона конфигурации.

Порядок установки клиента
  1. 1
    Скачайте DEB- или RPM-пакеты клиента с портала 1С
  2. 2
    Установите пакеты common и client через dpkg/apt или dnf
  3. 3
    Устраните недостающие зависимости командой apt -f install или аналогом
  4. 4
    Запустите 1cv8 и добавьте файловую базу
  5. 5
    Откройте базу и убедитесь, что конфигурация загружается без ошибок

Установка и настройка PostgreSQL для серверного варианта

Стандартный PostgreSQL из репозиториев дистрибутива без доработок с платформой 1С работает некорректно: требуются специфические патчи. Используйте сборку PostgreSQL, которую «1С» публикует вместе с дистрибутивами платформы, либо готовые пакеты от вендоров отечественных ОС, сертифицированные для 1С.

После установки пакетов PostgreSQL инициализируйте кластер баз данных, задайте кодировку и локаль. Для 1С критична локаль с корректной сортировкой — обычно рекомендуют ru_RU.UTF-8. Неверно выбранная локаль на этапе инициализации приводит к ошибкам сортировки и сравнения строк, а исправить её потом можно только пересозданием кластера.

Настройте параметры PostgreSQL под нагрузку 1С: объём разделяемой памяти (shared_buffers), рабочую память (work_mem), параметры autovacuum. Конкретные значения зависят от объёма оперативной памяти сервера и размера базы — универсальной формулы нет, начните с рекомендаций из документации к сборке и наблюдайте за поведением системы.

Установка сервера 1С:Предприятия и запуск службы

Установите пакеты сервера: common, server и, при необходимости, ws (веб-сервисы) и crs (хранилище конфигурации). В DEB-системах служба агента сервера регистрируется автоматически и называется srv1cv8-<версия>; управление выполняется через systemctl.

bash
sudo systemctl enable --now srv1cv8-8.3.22-1750 && systemctl status srv1cv8-8.3.22-1750

Проверьте, что агент сервера слушает стандартные порты: 1540 (агент), 1541 (менеджер кластера), диапазон 1560–1591 (рабочие процессы). Команда ss -tlnp | grep ragent покажет состояние. Если порт занят другим приложением, измените настройки кластера или перенесите конфликтующий сервис.

Далее создайте информационную базу в кластере. Это можно сделать через консоль администрирования серверов 1С (доступна в версии для Windows или через rac/ras на Linux) либо при добавлении базы на клиенте — мастер сам создаст базу в PostgreSQL и зарегистрирует её в кластере. Укажите имя сервера СУБД, пользователя PostgreSQL с правами на создание баз и параметры соединения.

Публикация базы через веб-сервер (опционально)

Если пользователям нужен доступ через браузер или тонкий клиент по HTTP, установите Apache и модуль веб-расширения 1С (пакет ws). Публикация выполняется утилитой webinst из состава платформы: она создаёт конфигурацию виртуального каталога и регистрирует обработчик.

bash
sudo /opt/1cv8/x86_64/<версия>/webinst -publish -apache24 -wsdir mybase -dir /var/www/mybase -connStr "Srvr=srv1c;Ref=mydb;" -confPath /etc/apache2/apache2.conf

После публикации перезапустите Apache и проверьте доступ по адресу http://сервер/mybase. Учтите, что модуль веб-расширения 1С требует конкретную версию Apache — несовместимость версий является частой причиной ошибки загрузки модуля wsap24.so.

Проверка результата и типичные ошибки

Контрольная проверка установки: клиент запускается, база открывается, в клиент-серверном варианте сеанс виден в консоли кластера, а в PostgreSQL появилась база с таблицами конфигурации. Дополнительно проверьте журнал регистрации 1С и логи службы (journalctl -u srv1cv8-*) на предмет ошибок лицензирования и подключения к СУБД.

Типичные ошибки
01
Установка штатного PostgreSQL из репозитория вместо сборки 1С — база создаётся, но падает с ошибками при работе
02
Неверная локаль кластера PostgreSQL — ошибки сортировки строк и сравнения, лечится только пересозданием кластера
03
Забытые зависимости клиента — 1cv8 не запускается без сообщения, диагностируется через запуск из терминала и ldd
04
Порты 1540–1591 закрыты файрволом — клиенты не видят сервер, хотя служба работает
05
Несовпадение версий платформы на сервере и клиенте — отказ в соединении с сообщением о несовместимости версий
Контрольные точки

Как проверить результат

Запуск службы сервера
Норма

systemctl status показывает active (running), порты 1540/1541 слушаются

Тревожный признак

Служба падает сразу после старта, в journalctl ошибки конфигурации

Подключение клиента к базе
Норма

База открывается, сеанс виден в консоли кластера

Тревожный признак

Ошибка соединения или требование лицензии

Работа PostgreSQL
Норма

База создана, таблицы конфигурации присутствуют, запросы выполняются

Тревожный признак

Ошибки аутентификации или отсутствия базы в списке \l

Итог

Что важно запомнить

Используйте пакеты под свой формат дистрибутива, для серверного варианта — только адаптированный PostgreSQL с правильной локалью, проверяйте службу, порты и лицензии, а перед любыми изменениями на боевом сервере делайте резервные копии.

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

Можно ли установить 1С на Ubuntu без серверной части?

Да. Для работы с файловой базой достаточно DEB-пакетов common и client. Серверные пакеты и PostgreSQL нужны только для клиент-серверной архитектуры.

Почему клиент 1С не запускается после установки?

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

Обязательно ли использовать PostgreSQL от 1С?

Для стабильной работы — да. Платформа требует доработанной версии PostgreSQL; подходят сборка с портала 1С или пакеты из репозиториев отечественных ОС, заявленные как совместимые с 1С.

Как раздать лицензии клиентам в Linux-сети?

Есть два пути: программные лицензии, активируемые на сервере 1С (тогда сервер раздаёт их клиентам автоматически), или аппаратный ключ HASP с установленным менеджером лицензий hasplm, доступным клиентам по сети.

Работает ли конфигуратор 1С на Linux?

Да, полноценный толстый клиент с конфигуратором доступен в Linux-версии платформы. Для разработки также существует отдельный инструмент 1C:Enterprise Development Tools на базе Eclipse.

Можно ли перенести базу с Windows-сервера на Linux?

Да. Выгрузите базу в файл .dt через конфигуратор на старом сервере, создайте пустую базу на Linux-сервере и загрузите выгрузку. Версии платформы на обоих серверах должны быть совместимы.