17.05.2026
1C / Linux

Публикация информационных баз 1C используя Apache2 на Linux

Для публикации нужно установить компонент WS, установка локалей и дополнительных пакетов не обязательна. Если нужно на одном сервере опубликовать несколько информационных баз для разных платформ, то нужно воспользоваться multi instance apache2 и сменой MPM на mpm_worker. Единственным ограничением будет использование отдельного порта для каждого нового инстанса.

Предварительная подготовка

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

Проверить наличие contrib non-free non-free-firmware в source.list

Пример Debian 13

deb http://mirror.yandex.ru/debian trixie main contrib non-free non-free-firmware
deb-src http://mirror.yandex.ru/debian trixie main contrib non-free non-free-firmware

deb http://mirror.yandex.ru/debian trixie-updates main contrib non-free non-free-firmware
deb-src http://mirror.yandex.ru/debian trixie-updates contrib non-free non-free-firmware

deb http://mirror.yandex.ru/debian trixie-backports main
deb-src http://mirror.yandex.ru/debian trixie-backports main

deb http://security.debian.org/ trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/ trixie-security main contrib non-free non-free-firmware

При необходимости добавить нужные локали, для корректной работы 1С нужна ru_RU.UTF8

locale-gen en_US.UTF-8
locale-gen ru_RU.UTF-8
update-locale LANG=ru_RU.UTF-8
dpkg-reconfigure locales

Для корректной работы необходимо установить шрифты из состава Microsoft Core Fonts.

apt install -y xfonts-utils cabextract fonts-liberation libmspack0 ttf-mscorefonts-installer fontconfig
fc-cache –fv

Внешние библиотеки. Для работы сервера 1С в Linux могут потребоваться следующие библиотеки

  • Для визуализации штампа электронной подписи, отображения диаграмм нужны imagemagick и ghostscript
  • Для сохранения файлов в формате PDF нужен libfreetype
  • Для экспорта и импорта файлов в формат XLS нужны libgsf-1 (Libgsf) и libgsf-1-common 
  • Для работы с внешними источниками данных нужны glib2.0 и libodbc (UnixOdbc)
  • Для аутентификации средствами ОС нужны libkrb5 (Kerberos) и libgssapi_krb5 (GSS-API Kerberos)
  • Для корректной работы 1С нужен curl
apt install -y imagemagick ghostscript libgsf-1-114 libgsf-bin libgsf-1-common

Установка модуля расширения веб-сервера 1С

Скачать с сайта https://releases.1c.ru/ файл дистрибутива из раздела Технологическая платформа

Скачиваем и копируем архив Технологическая платформа 1С:Предприятия (64-bit) для Linux на нужный Linux сервер
Распаковать, дать права на выполнение и выполнить установку.
Мы устанавливаем модули расширения веб-сервера 1С, так же установится клиент 1С

cd /root/8.3.27.1989/
tar xvzf server64_8_3_27_1989.tar.gz
chmod +x ./setup-full-8.3.27.1989-x86_64.run
./setup-full-8.3.27.1989-x86_64.run --mode unattended --enable-components ws,ru

Опции установщика

  • mode unattended — включает пакетный режим
  • enable-components — служит для указания компонентов
  • additional_admin_functions — установка утилиты административной консоли
  • client_full — установить толстый клиент
  • client_thin — установить тонкий клиент (без возможности работы с файловым вариантом информационной базы)
  • client_thin_fib — установить тонкий клиент, который позволяет работать с любым вариантом информационной базы
  • config_storage_server — установить сервер хранилища конфигураций
  • integrity_monitoring — установить утилиту контроля целостности
  • liberica_jre — установить Java Runtime Environment (JRE)
  • server — установить кластер серверов
  • server_admin — установить консоль администрирования кластера серверов
  • ws — требуется установить модули расширения веб-сервера

Установка Apache2

Установим сразу Apache2 и Certbot для будущего SSL сертификата от Let’s Encrypt

apt install -y apache2 certbot python3-certbot-apache

Добавляем А запись в DNS и получаем сертификат для домена web1c.notdev.ru

Проверка 

certbot certonly --dry-run --agree-tos --email 'ssl@notdev.ru' --webroot -w /var/www/html/ --domains 'web1c.notdev.ru'

Получение сертификата

certbot --agree-tos --email 'ssl@notdev.ru' --apache --domains 'web1c.notdev.ru'

Тонкая настройка Apache2

Для работы пользователей в режиме тонкого клиента рассчитывается в зависимости от количества одновременно работающих пользователей и ресурсов выделенных для Apache

Рекомендуется для 1С

  • KeepAlive On -> Apache не разрывает TCP-соединение после отправки ответа клиенту. Клиент (1С) использует то же соединение для следующего запроса
  • MaxKeepAliveRequests 200 ->Лимит на количество запросов, которое можно отправить в рамках одного постоянного соединения
  • KeepAliveTimeout 10 -> Таймаут ожидания следующего запроса. Если клиент не выполняет никаких действий дольше 10 секунд, Apache завершит соединение, чтобы освободить ресурсы для других пользователей
  • Timeout 90 -> Глобальный таймаут передачи данных. Это таймаут на процесс отправки или получения одного конкретного запроса. Если пользователи жалуются, что отчеты формируются дольше минуты, увеличьте до 120-300

nano /etc/apache2/conf-available/1c-performance.conf

KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 10
Timeout 90

Включаем конфиг, проверяем и применяем

a2enconf 1c-performance
apachectl -t
systemctl reload apache2

Выбор и настройка MPM (Multi-Processing Module)

MPM (Multi-Processing Module) — это «движок» Apache, который отвечает за то, как именно сервер будет обрабатывать входящие соединения (запросы пользователей).

MPM

  • Prefork — Старая и надежная модель, создает несколько дочерних процессов, каждый из которых содержит один поток и обрабатывает только одно соединение за раз. Потребление оперативной памяти очень высокое
  • Worker — Гибридная модель, несколько процессов, каждый из которых содержит множество потоков. Каждый поток обрабатывает одно соединение. Потребление оперативной памяти среднее
  • Event — Асинхронная модель, основан на Worker MPM, но с выделенным потоком-слушателем, который управляет Keep-Alive соединениями. Потребление оперативной памяти среднее. Требует тонкой настройки

По умолчанию Apache2 использует mpm_event, в некоторых рекомендациях можно встретить что следует использовать mpm_worker, и даже mpm_prefork если требуется большая производительность на 1 поток. Модуль mpm_event для 1С требует настройки и может иногда вести себя не стабильно. Тестируете все, и выбирайте нужное.

Смена модуля, выключить 2 других и включить нужный, по умолчанию используется mpm_event

a2dismod mpm_event
a2dismod mpm_prefork
a2enmod mpm_worker

Бекап стандартной конфигурации mpm_event и mpm_worker

cp /etc/apache2/mods-available/mpm_event.conf{,.bak}
cp /etc/apache2/mods-available/mpm_worker.conf{,.bak}

Редактируем конфигурацию выбранного модуля

nano /etc/apache2/mods-available/mpm_event.conf или nano /etc/apache2/mods-available/mpm_worker.conf

Пример конфигурации для модулей mpm_event и mpm_worker, до 30 пользователей, VM 4 ядра 4 Гб оперативной памяти

StartServers 2
MinSpareThreads 15
MaxSpareThreads 30
ThreadLimit 32
ThreadsPerChild 16
MaxRequestWorkers 64
MaxConnectionsPerChild 1000

Применяем

systemctl reload apache2

Публикация баз 1С

Создаем пустой конфиг и активируем его

touch /etc/apache2/conf-available/upp.conf
a2enconf upp

Переходим в директорию нужной версии 1С платформы

cd /opt/1cv8/x86_64/8.3.27.1989/

Публикуем базу upp, что находится на сервере 1s.notdev.local

./webinst -apache24 -wsdir upp -dir '/var/www/1c/upp' -connstr 'Srvr=1s.notdev.local;Ref=upp;' -confPath /etc/apache2/conf-available/upp.conf

Применяем изменения

systemctl reload apache2

Идем в браузер проверяем работоспособность публикации https://web1c.notdev.ru/upp

Базовая аутентификация для повышения защиты при работе через интернет

Установим утилиту для создания файла базовой аутентификации .htpasswd

apt install apache2-utils

Создаем фаил учетная запись 1s-access пароль $up@DupaPas5w0rd

htpasswd -b /var/www/1c/.htpasswd 1s-access $up@DupaPas5w0rd

Создаем фаил .htaccess где запрещаем всем кроме авторизованных, можно так же добавить ip адреса что могут ходить без пароля.

nano /var/www/1c/.htaccess

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/1c/.htpasswd
Require valid-user

После этого копируем .htaccess в папку публикации /var/www/1c/upp, после чего для данной публикации будет действовать базовая авторизация.

cp /var/www/1c/.htaccess /var/www/1c/upp

Пользователям будет очень не удобно вводить 2 пароля, поэтому базовую авторизацию можно проходить из доп параметров подключения.

Через GUI при создании базы,

  • На веб-сервере
    • Адрес информационно базы https://web1c.notdev.ru/upp/
  • Дополнительно
    • Выберите вариант использования прокси
      • Не использовать прокси
    • Выберите способ аутентификации пользователя веб-сервера
      • Выбирать автоматически
    • Далее
    • Далее
    • Вариант аутентификации (определения пользователя)
      • Выбирать автоматически
    • Дополнительные параметры запуска:
      • /WSN 1s-access /WSP $up@DupaPas5w0rd
    • Готово

Пример файла upp.v8i

[УПП (NOTDEV)]
Connect=ws="https://web1c.notdev.ru/upp/";
Folder=/
External=0
UseProxy=0
App=ThinClient
WA=1
Version=8.3
WSA=1
AdditionalParameters=/WSN 1s-access /WSP $up@DupaPas5w0rd

Дополнительные настройки


Дополнительная информация