Как опубликовать файловую базу 1С 8.3 на веб-сервере Apache в Linux CentOS 7?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Публикация файловой базы данных «1С:Предприятия» на веб-сервере под управлением Linux позволяет организовать удаленный доступ сотрудников через браузер или тонкий клиент без приобретения дорогостоящей серверной лицензии «1С». Однако у системных администраторов часто возникают вопросы: какие именно пакеты платформы требуются, как выполняется публикация без графического интерфейса и с какими ограничениями производительности и лицензирования придется столкнуться. Разберем по шагам весь процесс развертывания веб-сервера на базе CentOS 7 и Apache HTTP Server.

Какие пакеты платформы 1С необходимы для публикации

Проанализируем назначение RPM-пакетов платформы 1С для архитектуры x86_64, входящих в дистрибутив для Linux:

  1. 1c_enterprise83-common — содержит общие библиотеки и базовые компоненты, необходимые для функционирования любых модулей платформы.
  2. 1c_enterprise83-server — включает исполняемые файлы сервера приложений и вспомогательные системные библиотеки. Важный нюанс: для публикации файловой базы этот пакет устанавливать обязательно, так как веб-модуль опирается на его библиотеки. При этом покупать отдельную лицензию на сервер «1С» не требуется — проверка серверной лицензии происходит только при запуске службы кластера (ragent), которую в файловом сценарии запускать не нужно.
  3. 1c_enterprise83-ws — адаптер (модуль расширения веб-сервера) для интеграции с Apache HTTP Server версий 2.2 и 2.4 (библиотека wsap24.so).
  4. 1c_enterprise83-client — клиентское приложение (толстый и тонкий клиент). Не требуется для веб-публикации на сервере.

Для развертывания решения достаточно установить пакеты common, server и ws с помощью пакетного менеджера:


yum localinstall 1C_Enterprise83-common-*.x86_64.rpm 1C_Enterprise83-server-*.x86_64.rpm 1C_Enterprise83-ws-*.x86_64.rpm

Подготовка веб-сервера Apache и окружения CentOS 7

Выясним причину возможных сбоев в работе веб-сервера и заранее настроим операционную систему. Стандартный веб-сервер Apache в CentOS устанавливается из базовых репозиториев:

yum install httpd

Обратим внимание на следующие системные параметры:

  1. Модуль MPM (Multi-Processing Module): Модуль расширения «1С» гарантированно стабильно работает только в многопроцессной модели mpm_prefork. В конфигурационном файле /etc/httpd/conf.modules.d/00-mpm.conf убедимся, что загружен именно модуль mpm_prefork_module, а модули mpm_worker и mpm_event закомментированы.
  2. Права доступа: Пользователь apache, под которым работает служба, должен иметь права на чтение и запись как в каталог базы данных, так и в каталог веб-публикации. Зададим владельца:
    
    chown -R apache:apache /путь/к/каталогу/базы
    chown -R apache:apache /var/www/
    
  3. SELinux: Если в системе включен SELinux, Apache будет заблокирован при попытке доступа к нестандартным каталогам и внешним модулям. Настроим корректный контекст безопасности:
    
    chcon -R -t httpd_sys_rw_content_t /путь/к/каталогу/базы
    setsebool -P httpd_unified 1
    setsebool -P httpd_can_network_connect 1
    
  4. Шрифты TrueType: Для корректного формирования печатных форм и отчетов внутри Linux должны присутствовать шрифты Microsoft Core Fonts или их совместимые аналоги (например, пакет liberation-fonts). Без них веб-клиент будет выдавать ошибки при рендеринге документов.

Публикация базы с помощью утилиты webinst

Если на сервере отсутствует графическая оболочка, публикация базы выполняется через штатную консольную утилиту webinst. Рассмотрим подробнее синтаксис команды:


/opt/1C/v8.3/x86_64/webinst -publish -apache24 \
  -wsdir base \
  -dir /var/www/base \
  -connstr "File=\"/путь/к/каталогу/базы\";" \
  -confpath /etc/httpd/conf/httpd.conf

Разберем параметры этой команды:

  1. -publish — действие (публикация базы).
  2. -apache24 — тип используемого веб-сервера (Apache 2.4).
  3. -wsdir — имя виртуального каталога в URL-адресе (база будет доступна по адресу http://ip-сервера/base).
  4. -dir — физический каталог на диске, где будет создан файл дескриптора публикации default.vrd.
  5. -connstr — строка подключения к файловой информационной базе.
  6. -confpath — абсолютный путь к основному конфигурационному файлу веб-сервера Apache, в который утилита автоматически пропишет загрузку модуля wsap24.so.

После выполнения команды перезапустим веб-сервер:


systemctl restart httpd
systemctl enable httpd

Особенности лицензирования при работе через веб-сервер

Проанализируем механизм проверки лицензий в файловом режиме при подключении через веб-сервер:

  1. Веб-клиент (браузер): Браузер не может опрашивать аппаратные ключи защиты (HASP) или программные файлы лицензий, находящиеся на рабочем месте пользователя. Выдачей лицензий занимается сам веб-сервер. Это означает, что клиентские программные лицензии должны быть активированы непосредственно на сервере Linux и размещены в общем каталоге (по умолчанию /var/1C/licenses). При этом каждая открытая вкладка браузера расходует отдельную сеансовую лицензию.
  2. Тонкий клиент: Если на компьютерах сотрудников активированы однопользовательские лицензии и нет возможности перенести многопользовательский пин-код на сервер, пользователям следует запускать Тонкий клиент «1С» и указывать в адресе информационной базы HTTP-ссылку на публикацию. В этом режиме Тонкий клиент берет лицензию локально с машины пользователя.

Рекомендации по размещению базы и аппаратному обеспечению

При организации работы бухгалтерии в файловом режиме критически важно учитывать аппаратные ресурсы:

  1. Сетевые хранилища (Synology/NAS): Крайне не рекомендуется подключать файл базы 1Cv8.1CD через сетевые протоколы SMB/CIFS или NFS. Сетевые блокировки в Linux работают нестабильно при интенсивной параллельной записи, что приводит к ошибкам взаимной блокировки и разрушению внутренней структуры файла базы. Если необходимо использовать дисковое пространство Synology, подключите его к серверу по протоколу iSCSI, чтобы операционная система работала с диском как с локальным блочным устройством с файловой системой ext4 или xfs.
  2. Оперативная память (RAM): В файловом режиме вся нагрузка по расчету итогов и исполнению серверного кода ложится на рабочие процессы веб-сервера Apache. Объем оперативной памяти 2 ГБ является критически малым: при одновременной работе нескольких бухгалтеров в конфигурации «Бухгалтерия предприятия 3.0» (особенно при закрытии месяца) память быстро исчерпается, и системный процесс OOM Killer аварийно завершит работу Apache. Для комфортной работы 4–5 пользователей серверу требуется не менее 4–8 ГБ оперативной памяти и быстрый локальный SSD-накопитель.
← На главную