Перенос инфраструктуры 1С:Предприятие на операционную систему Linux становится стандартом для многих компаний, стремящихся снизить затраты на лицензирование и повысить стабильность работы. В отличие от Windows-серверов, дистрибутивы Linux требуют иного подхода к администрированию, особенно когда речь идет о взаимодействии с системой управления базами данных и сервисом кластера.
Процесс развертывания включает в себя не просто копирование файлов, но и тщательную подготовку окружения, установку зависимостей и настройку прав доступа. Ошибки на этапе предварительной конфигурации могут привести к неработоспособности кластера или проблемам с производительностью в будущем.
В этой статье мы детально разберем процесс установки серверной части платформы на примере популярных дистрибутивов, таких как Ubuntu Server или CentOS, и рассмотрим ключевые нюансы, которые часто упускают новички при первом знакомстве с экосистемой 1С в среде Linux.
Подготовка окружения и системные требования
Перед началом установки необходимо убедиться, что ваш сервер соответствует минимальным аппаратным требованиям. Для комфортной работы сервера 1С с несколькими активными сеансами пользователей рекомендуется выделить не менее 4-8 ГБ оперативной памяти и двухъядерный процессор с частотой от 2.5 ГГц.
Выбор дистрибутива играет критическую роль. Официально поддерживаемыми являются Red Hat Enterprise Linux, CentOS, Ubuntu LTS и Debian. Важно проверить разрядность системы: современные версии платформы 1С работают исключительно в 64-битном окружении.
Также необходимо обновить пакеты системы до актуальных версий, чтобы избежать конфликтов библиотек. Для Debian-подобных систем это делается через команду apt update && apt upgrade. Убедитесь, что у вас есть права суперпользователя или доступ через sudo.
⚠️ Внимание: Если вы планируете использовать кластер в высоконагруженной среде, убедитесь, что отключена функция Transparent Huge Pages (THP) в ядре Linux, так как она может вызывать серьезные задержки при работе с памятью процесса rmemstr.
Перед установкой создайте отдельного пользователя для запуска сервисов 1С, не используйте root для повседневной работы сервера приложений.
Установка сервера 1С и зависимостей
Для корректной работы сервера 1С требуется установка ряда системных библиотек. В большинстве дистрибутивов они отсутствуют в базовой поставке. Вам понадобятся пакеты libicu, libssl и утилиты для работы с архивами.
После подготовки репозиториев скачайте дистрибутив сервера 1С с официального сайта или используйте локальный репозиторий компании. Установка производится через пакетный менеджер. Для RPM-пакетов (CentOS/RedHat) используется команда rpm -i, а для DEB-пакетов (Ubuntu/Debian) — dpkg -i.
В процессе установки система автоматически создаст пользователя usr1cv8 и группу grp1cv8. Эти учетные записи критически важны для безопасности: сервис кластера и рабочие процессы запускаются именно от их имени, что изолирует их от системных привилегий.
- 📦 Установите пакет 1c-enterprise-server для развертывания основного сервиса.
- 🔧 Добавьте пакет 1c-enterprise-server-common для общих утилит и библиотек.
- 🌐 При необходимости установите 1c-enterprise-web-server для публикации веб-сервисов.
☑️ Проверка установки сервера
Настройка СУБД PostgreSQL для 1С
Хотя 1С поддерживает различные СУБД, в среде Linux наиболее популярным и стабильным выбором является PostgreSQL. Установка базы данных должна предшествовать настройке сервера приложений, так как кластеру необходимо знать параметры подключения.
После установки PostgreSQL необходимо создать роль и базу данных для хранения служебной информации кластера. Имя пользователя базы данных по умолчанию часто совпадает с именем пользователя ОС, но для повышения безопасности рекомендуется создать отдельную учетную запись.
Важным этапом является настройка файла конфигурации postgresql.conf. Необходимо увеличить параметры shared_buffers и work_mem в соответствии с объемом доступной оперативной памяти сервера. Также стоит проверить настройки max_connections, чтобы они покрывали количество ожидаемых подключений от рабочих процессов 1С.
| Параметр | Рекомендуемое значение (для 8 ГБ RAM) | Описание |
|---|---|---|
| shared_buffers | 2GB | Объем памяти для кэширования данных |
| work_mem | 64MB | Память для операций сортировки и хэширования |
| maintenance_work_mem | 512MB | Память для операций обслуживания (VACUUM, CREATE INDEX) |
| max_connections | 200 | Максимальное число одновременных подключений |
Тонкая настройка autovacuum
Для баз данных 1С рекомендуется снизить пороги срабатывания автовакуума, установив autovacuum_vacuum_scale_factor в 0.05 и autovacuum_analyze_scale_factor в 0.02, чтобы таблица статистики обновлялась чаще.
Инициализация и запуск сервиса кластера
Сервер 1С управляется через демон rmngr (менеджер кластера). После установки пакетов сервис по умолчанию может быть остановлен. Для запуска используется стандартная команда системного менеджера инициализации, например systemctl start srv1cv8.
При первом запуске необходимо зарегистрировать менеджер кластера. Это делается с помощью утилиты rac или через графический интерфейс консоли администрирования, если она установлена на удаленном рабочем месте. Вам потребуется задать имя кластера и порт, по которому он будет слушать соединения (по умолчанию 1541).
Не забудьте добавить сервис в автозагрузку, чтобы сервер 1С поднимался автоматически после перезагрузки оборудования. Команда systemctl enable srv1cv8 создаст необходимые символические ссылки в директории systemd.
⚠️ Внимание: Порт 1541 должен быть открыт в файерволе сервера для входящих подключений от клиентов и тонких клиентов. Без этого пользователи не смогут увидеть список доступных информационных баз.
Создание рабочих процессов и настройка безопасности
Кластер 1С состоит из центрального сервера и рабочих процессов (rphost), которые непосредственно выполняют код приложений. Количество и параметры запуска рабочих процессов настраиваются в свойствах кластера.
Для каждого рабочего процесса можно задать предельное время жизни, объем потребляемой памяти и количество подключений. Грамотная настройка этих параметров позволяет избежать ситуаций, когда один "тяжелый" запрос блокирует работу всех остальных пользователей.
Безопасность обеспечивается через механизм аутентификации. Вы можете использовать встроенную аутентификацию 1С или доменную (через Kerberos или NTLM). В Linux настройка доменной аутентификации требует установки пакета krb5-user и правильной конфигурации файла krb5.conf.
Режим запуска рабочих процессов может быть обычным или защищенным. В защищенном режиме процессы запускаются с ограниченными правами, что предотвращает выполнение произвольного кода на уровне операционной системы, но может ограничить доступ к некоторым внешним ресурсам.
Оптимальное количество рабочих процессов рассчитывается исходя из формулы: 1 процесс на каждые 5-7 активных пользователей, но не более числа физических ядер процессора.
Регистрация информационных баз и публикация
После того как кластер запущен и настроен, необходимо добавить в него информационные базы. Это делается через консоль администрирования или утилиту командной строки rac. Вам потребуется указать имя базы, расположение файлов данных (для файловых баз) или строку подключения к СУБД.
Для файловых баз, размещенных на сервере 1С, критически важны права доступа к директориям. Пользователь usr1cv8 должен иметь права на чтение и запись в папку с базой данных. Если база лежит на сетевом ресурсе, используйте протокол CIFS или NFS с корректными настройками монтирования.
Если вам необходим доступ через веб-клиент или внешние HTTP-сервисы, потребуется публикация базы на веб-сервере. В Linux для этих целей чаще всего используется Apache httpd с модулем mod_1c или Nginx в связке с fcgi.
- 📂 Создайте директорию для publikacii с правами 755.
- 🔗 Настройте виртуальный хост в конфиге веб-сервера.
- 🚀 Перезапустите службу веб-сервера для применения изменений.
⚠️ Внимание: При публикации через Apache убедитесь, что модуль
mod_1cсовместим с версией веб-сервера. Несовместимость версий часто приводит к ошибке 500 Internal Server Error при попытке входа.
Проблема с кодировкой в веб-клиенте
Если в веб-клиенте отображаются кракозябры, проверьте переменную окружения LANG. Она должна быть установлена в значение ru_RU.UTF-8 для корректной работы с русским языком.
Диагностика проблем и логирование
В случае возникновения ошибок первичным источником информации служат журналы регистрации 1С и системные логи. Журналы сервера 1С по умолчанию располагаются в директории /var/log/1c или в подкаталоге профиля пользователя usr1cv8.
Для анализа производительности используйте встроенные средства мониторинга кластера. Утилита rac позволяет выводить список активных сеансов, блокировок и текущую нагрузку на рабочие процессы в реальном времени.
Системные логи (/var/log/syslog или /var/log/messages) могут содержать информацию об аварийном завершении процессов (segfault), что часто связано с нехваткой памяти или конфликтом библиотек. Регулярный ротейшн логов должен быть настроен через logrotate, чтобы файлы журналов не заняли все дисковое пространство.
Используйте команду `top -u usr1cv8` для быстрого анализа потребления ресурсов процессами 1С в реальном времени без установки дополнительного софта.
Какие права нужны пользователю usr1cv8 для работы с файловой базой?
Пользователь должен иметь права на чтение, запись и выполнение (rwx) для директории, где расположена база данных, а также для всех вложенных файлов. Владелец файлов должен быть изменен на usr1cv8:grp1cv8.
Как изменить порт кластера серверов 1С после установки?
Порт меняется в файле конфигурации кластера или через реестр (в эмуляции). Проще всего остановить сервис, отредактировать параметры запуска в systemd-юните или конфиге инициализации, указав новый порт через ключ -port, и перезапустить службу.
Можно ли установить сервер 1С на Raspberry Pi?
Технически это возможно, так как существует версия для ARM64. Однако производительность процессоров Raspberry Pi недостаточна для работы более чем с 2-3 пользователями одновременно. Это решение подходит только для тестовых целей.
Почему сервер 1С не видит базу PostgreSQL?
Наиболее частая причина — настройки аутентификации в файле pg_hba.conf. Убедитесь, что для пользователя 1С разрешено подключение с IP-адреса сервера приложений методом md5 или trust, и что порт 5432 открыт в фаерволе.