Веб-сервер 1С открывает доступ к информационным базам через браузер и тонкий клиент. Без него пользователи привязаны к толстому клиенту на каждом рабочем месте. С веб-сервером достаточно браузера — любая ОС, любое устройство, доступ из филиалов и с мобильных.

Помимо веб-клиента, веб-сервер нужен для HTTP-сервисов 1С (интеграция с внешними системами), REST API и мобильного приложения 1С. Если вы переходите с файлового режима на клиент-серверный — публикация на веб-сервере следующий логический шаг.

В этой статье: установка Apache на Linux, подключение модуля расширения 1С, публикация информационной базы тремя способами, настройка HTTPS. Результат — работающий веб-доступ к 1С:Предприятие 8.3 через Apache на Ubuntu/Debian или RHEL/CentOS.

Что потребуется

Перед настройкой веб-сервера подготовьте сервер и программное обеспечение. Кластер серверов 1С должен быть установлен и работать — инструкция по настройке кластера.

КомпонентТребованиеПримечание
ОСUbuntu 22.04+ / Debian 12+ / RHEL 8+ / CentOS Stream 9+64-битная версия
Apache2.4.xИменно 2.4 — модуль wsap24 не совместим с Apache 2.2
Платформа 1С1С:Предприятие 8.3.20+Серверные компоненты + модуль расширения веб-сервера
Модуль 1Сwsap24.so (пакет 1c-enterprise83-ws)Разрядность должна совпадать с Apache (x86-64)
СУБДMS SQL Server или PostgreSQLСравнение SQL vs PostgreSQL для 1С
Кластер 1Сragent + rmngr + rphost запущеныПорты 1540, 1541, 1560+ слушаются
Праваroot или sudoДля установки пакетов и настройки Apache

Минимальные требования к оборудованию зависят от числа пользователей — подробности в требованиях к серверу для 1С. Веб-сервер создаёт дополнительную нагрузку: закладывайте +20% по RAM и CPU сверх расчётного.

Архитектура веб-доступа к 1С

Запрос от браузера до базы данных проходит через четыре звена. Обрыв на любом из них приводит к ошибке HTTP при обращении к серверу 1С. Понимание архитектуры — основа для диагностики.

ЗвеноКомпонентПортРоль
1Apache (httpd)80 / 443Принимает HTTP/HTTPS-запросы от браузера
2wsap24.so (модуль 1С)Преобразует HTTP-запрос в вызов кластера 1С
3ragent / rmngr / rphost1540, 1541, 1560+Сервер приложений 1С обрабатывает запрос
4СУБД (PostgreSQL / MS SQL)5432 / 1433Хранение и выдача данных

Как это работает. Браузер отправляет запрос на Apache (порт 80 или 443). Apache видит, что URL соответствует опубликованной базе, и передаёт запрос модулю wsap24.so. Модуль подключается к ragent (порт 1540), тот перенаправляет к rmngr, который назначает рабочий процесс rphost. rphost выполняет запрос, обращаясь к СУБД за данными, и отдаёт результат обратно по цепочке.

Модуль wsap24.so работает в адресном пространстве Apache. Это не отдельный процесс, а разделяемая библиотека. При каждом HTTP-запросе модуль открывает TCP-соединение к серверу 1С, передаёт данные и ждёт ответа. Поэтому между Apache и сервером 1С важна низкая латентность — размещайте их на одной машине или в одном сегменте сети.

Веб-сервер и сервер 1С могут быть на одной машине или на разных. Если на разных — между ними должны быть открыты порты 1540-1541 и 1560-1591 (TCP). Подробнее об архитектуре кластера — в статье о настройке кластера серверов 1С.

Варианты размещения:

Установка Apache на Linux

Apache 2.4 — стандартный выбор для публикации 1С на Linux. IIS работает только на Windows; если у вас Windows Server — 1С публикуется на IIS аналогичным образом, но с другим модулем (wsapISAPI.dll). В этой статье — только Linux.

Ubuntu / Debian

# Обновление пакетов
sudo apt update

# Установка Apache 2.4
sudo apt install -y apache2

# Проверка версии
apache2 -v
# Server version: Apache/2.4.xx (Ubuntu)

# Проверка статуса
sudo systemctl status apache2
# Active: active (running)

Apache на Ubuntu запускается автоматически после установки. Откройте в браузере http://<ip-сервера> — должна отобразиться стандартная страница Apache «It works!».

Структура конфигурации на Ubuntu/Debian модульная. Основной файл — /etc/apache2/apache2.conf. Модули лежат в mods-available/ (включаются через a2enmod), сайты — в sites-available/ (a2ensite), дополнительные конфиги — в conf-available/ (a2enconf). На RHEL всё собрано в одном httpd.conf.

RHEL / CentOS / AlmaLinux

# Установка Apache 2.4
sudo dnf install -y httpd

# Запуск и автозагрузка
sudo systemctl enable --now httpd

# Проверка
sudo systemctl status httpd
# Active: active (running)

# Открытие порта 80 в firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

На RHEL/CentOS Apache называется httpd. Основной конфиг — /etc/httpd/conf/httpd.conf, модули загружаются из /etc/httpd/conf.modules.d/, дополнительные конфиги — из /etc/httpd/conf.d/. Логи по умолчанию — в /var/log/httpd/.

Проверка работоспособности. После установки откройте в браузере http://<ip-сервера>. Если страница не отображается — проверьте файрвол (порт 80 открыт?), статус службы и логи: sudo tail -20 /var/log/httpd/error_log (RHEL) или sudo tail -20 /var/log/apache2/error.log (Ubuntu).

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

Модуль wsap24.so — разделяемая библиотека, которая встраивается в Apache и держит связь с сервером приложений 1С. Без этого модуля Apache не знает, как обрабатывать запросы к информационным базам. Название модуля — wsap24 — означает «web server apache 2.4».

Установка пакета

Модуль поставляется в отдельном пакете. Скачайте его с releases.1c.ru вместе с серверными компонентами. Обратите внимание: на странице загрузки есть пакеты для разных ОС и архитектур. Выбирайте x86-64 для 64-битного Linux.

# Ubuntu / Debian — установка в правильном порядке
sudo dpkg -i 1c-enterprise83-common_8.3.*.deb
sudo dpkg -i 1c-enterprise83-server_8.3.*.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.*.deb

# Если ошибка зависимостей:
sudo apt install -f

# RHEL / CentOS
sudo rpm -ivh 1c-enterprise83-common-8.3.*.rpm
sudo rpm -ivh 1c-enterprise83-server-8.3.*.rpm
sudo rpm -ivh 1c-enterprise83-ws-8.3.*.rpm

Порядок установки важен: common → server → ws. Пакет ws зависит от common (общие библиотеки) и server (серверные компоненты). Если пакеты common и server уже установлены — ставьте только ws.

Расположение модуля

После установки модуль находится в каталоге платформы:

# Найти wsap24.so
find /opt/1cv8 -name "wsap24.so"
# /opt/1cv8/x86_64/8.3.25.1257/wsap24.so

Запомните полный путь — он понадобится для конфигурации Apache. Путь включает номер версии: при обновлении платформы 1С каталог изменится, и модуль нужно будет переподключить.

Подключение модуля к Apache

Модуль подключается директивой LoadModule в конфигурации Apache. Способ зависит от дистрибутива.

Ubuntu / Debian: создайте файл модуля в каталоге mods-available и включите через a2enmod:

# Создать файл модуля
sudo tee /etc/apache2/mods-available/1c.load <<'EOF'
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.25.1257/wsap24.so"
EOF

# Включить модуль
sudo a2enmod 1c

# Проверить конфигурацию
apache2ctl configtest
# Syntax OK

# Перезапустить Apache
sudo systemctl restart apache2

RHEL / CentOS: создайте файл конфигурации в conf.modules.d:

# Создать файл модуля
sudo tee /etc/httpd/conf.modules.d/1c.conf <<'EOF'
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.25.1257/wsap24.so"
EOF

# Проверить конфигурацию
httpd -t
# Syntax OK

# Перезапустить
sudo systemctl restart httpd

Замените 8.3.25.1257 на вашу версию платформы. Чтобы узнать точную версию:

ls /opt/1cv8/x86_64/
# 8.3.25.1257

Если Apache не запускается после добавления модуля — начните с разрядности. Apache и wsap24.so должны быть одинаковой архитектуры (x86-64). 32-битный модуль в 64-битный Apache не загрузится. Как проверить — описано в разделе «Типичные ошибки».

Публикация информационной базы

Публикация — это привязка URL-адреса к конкретной информационной базе в кластере 1С. После публикации по адресу http://сервер/имя-базы откроется веб-клиент 1С. Одна база — одна публикация. На одном Apache можно опубликовать несколько баз с разными URL.

Три способа публикации: утилита webinst (рекомендуемый для Linux), Конфигуратор (если есть GUI), ручная настройка (для понимания и нестандартных случаев).

Через утилиту webinst

webinst — штатная утилита 1С для управления публикациями на веб-сервере. Работает из командной строки, не требует GUI. Это основной способ для Linux-серверов. Утилита расположена в каталоге платформы:

# Путь к webinst
/opt/1cv8/x86_64/8.3.25.1257/webinst

Команда публикации для Apache 2.4:

# Создать каталог публикации
sudo mkdir -p /var/www/1c/accounting
sudo chown www-data:www-data /var/www/1c/accounting

# Опубликовать базу
sudo /opt/1cv8/x86_64/8.3.25.1257/webinst \
  -apache24 \
  -wsdir accounting \
  -dir /var/www/1c/accounting \
  -connstr "Srvr=localhost;Ref=accounting;" \
  -confpath /etc/apache2/apache2.conf

# Перезапустить Apache
sudo systemctl restart apache2

Параметры команды:

Для RHEL/CentOS замените -confpath на /etc/httpd/conf/httpd.conf, а владельца каталога — на apache:apache.

Что делает webinst. Утилита создаёт файл default.vrd в указанном каталоге (описание подключения к базе) и блок конфигурации в httpd.conf/apache2.conf (Alias + Directory с SetHandler). После этого Apache знает: запросы на /accounting обрабатывает модуль 1С, параметры подключения — в default.vrd.

После выполнения проверьте: откройте в браузере http://<ip-сервера>/accounting. Должна загрузиться страница входа в 1С.

Публикация нескольких баз. Повторите команду webinst с другим -wsdir и -dir для каждой базы:

# Вторая база — ЗУП
sudo mkdir -p /var/www/1c/zup
sudo chown www-data:www-data /var/www/1c/zup

sudo /opt/1cv8/x86_64/8.3.25.1257/webinst \
  -apache24 \
  -wsdir zup \
  -dir /var/www/1c/zup \
  -connstr "Srvr=localhost;Ref=zup;" \
  -confpath /etc/apache2/apache2.conf

sudo systemctl restart apache2

Через Конфигуратор (если доступен GUI)

Если на сервере есть графическая среда (или вы подключаетесь по VNC/X11-forwarding), можно использовать Конфигуратор 1С:

Конфигуратор сам создаст default.vrd, добавит нужные строки в httpd.conf и перезапустит Apache. На серверах без GUI (а это большинство Linux-серверов) используйте webinst.

Ручная настройка (default.vrd + httpd.conf)

Ручная настройка нужна, когда webinst недоступен или результат публикации нужно модифицировать: нестандартный URL, дополнительные параметры .vrd, отдельный виртуальный хост. Публикация состоит из двух компонентов: файл default.vrd и конфигурация Apache.

Шаг 1. Создайте каталог публикации и файл default.vrd:

sudo mkdir -p /var/www/1c/accounting
sudo tee /var/www/1c/accounting/default.vrd <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  base="/accounting"
  ib="Srvr=localhost;Ref=accounting;">
</point>
EOF
sudo chown -R www-data:www-data /var/www/1c/accounting

Параметры в default.vrd:

Шаг 2. Добавьте конфигурацию в Apache. На Ubuntu/Debian создайте отдельный файл:

# Ubuntu / Debian
sudo tee /etc/apache2/conf-available/1c-accounting.conf <<'EOF'
Alias "/accounting" "/var/www/1c/accounting/"
<Directory "/var/www/1c/accounting/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "/var/www/1c/accounting/default.vrd"
</Directory>
EOF

# Включить конфигурацию
sudo a2enconf 1c-accounting
sudo systemctl restart apache2

На RHEL/CentOS создайте файл /etc/httpd/conf.d/1c-accounting.conf с тем же содержимым и перезапустите httpd.

Ключевые директивы:

Проверьте конфигурацию перед перезапуском:

# Ubuntu / Debian
apache2ctl configtest
# Syntax OK

# RHEL / CentOS
httpd -t
# Syntax OK

Настройка HTTPS (SSL/TLS)

Без HTTPS логины и пароли 1С передаются открытым текстом. Для внутренней сети это допустимо (хотя и не рекомендуется), для доступа через интернет — недопустимо. Также HTTPS нужен для мобильного приложения 1С — без него оно откажется подключаться.

Два варианта: бесплатный сертификат Let’s Encrypt (для серверов, доступных из интернета) или корпоративный сертификат (для внутренних серверов).

Let’s Encrypt через certbot

# Ubuntu / Debian
sudo apt install -y certbot python3-certbot-apache

# RHEL / CentOS
sudo dnf install -y certbot python3-certbot-apache

# Получить сертификат (замените домен на ваш)
sudo certbot --apache -d 1c.example.com

Certbot в интерактивном режиме:

Если сервер за NAT — пробросьте порт 80 или используйте DNS-верификацию: sudo certbot --manual --preferred-challenges dns -d 1c.example.com. Certbot попросит создать TXT-запись в DNS.

Проверьте автопродление:

# Тестовый запуск продления
sudo certbot renew --dry-run
# All simulated renewals succeeded

Ручная настройка HTTPS с корпоративным сертификатом

Если сертификат уже есть (корпоративный CA, wildcard-сертификат), настройте Apache вручную:

# Включить mod_ssl (Ubuntu / Debian)
sudo a2enmod ssl

# Создать конфигурацию виртуального хоста HTTPS
sudo tee /etc/apache2/sites-available/1c-ssl.conf <<'EOF'
<VirtualHost *:443>
    ServerName 1c.example.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/1c.example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/1c.example.com.key
    SSLCertificateChainFile /etc/ssl/certs/chain.crt

    # Публикация 1С
    Alias "/accounting" "/var/www/1c/accounting/"
    <Directory "/var/www/1c/accounting/">
        AllowOverride All
        Options None
        Require all granted
        SetHandler 1c-application
    </Directory>
</VirtualHost>
EOF

# Включить сайт и перезапустить
sudo a2ensite 1c-ssl
sudo systemctl restart apache2

Для RHEL/CentOS: поместите конфигурацию в /etc/httpd/conf.d/1c-ssl.conf. Убедитесь, что пакет mod_ssl установлен: sudo dnf install -y mod_ssl.

Откройте порт 443 в файрволе:

# firewalld (RHEL / CentOS)
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

# ufw (Ubuntu)
sudo ufw allow 443/tcp

Редирект HTTP → HTTPS. Чтобы все запросы на порт 80 перенаправлялись на HTTPS:

# Добавить в конфигурацию HTTP-хоста (порт 80)
<VirtualHost *:80>
    ServerName 1c.example.com
    Redirect permanent / https://1c.example.com/
</VirtualHost>

Пошаговая инструкция (сводная)

Типичные ошибки

Четыре ошибки, с которыми сталкивается каждый при публикации 1С на Apache.

Ошибка HTTP при обращении к серверу 1С

Браузер показывает «Ошибка HTTP» вместо страницы входа. Причина — обрыв связи между Apache и кластером 1С. Модуль wsap24 не может подключиться к ragent/rmngr.

Что проверить по порядку:

Подробный разбор с пятью причинами и пошаговой диагностикой — в отдельной статье.

403 Forbidden — права на каталог публикации

Apache возвращает 403, потому что процесс Apache (пользователь www-data на Ubuntu, apache на RHEL) не имеет прав на каталог публикации или файл default.vrd.

# Проверить владельца каталога
ls -la /var/www/1c/accounting/
# Должен быть www-data:www-data (Ubuntu) или apache:apache (RHEL)

# Исправить права
# Ubuntu / Debian
sudo chown -R www-data:www-data /var/www/1c/accounting/

# RHEL / CentOS
sudo chown -R apache:apache /var/www/1c/accounting/

# Установить корректные разрешения
sudo chmod 755 /var/www/1c/accounting/
sudo chmod 644 /var/www/1c/accounting/default.vrd

Также проверьте, что в блоке <Directory> конфигурации Apache присутствует директива Require all granted. Без неё Apache 2.4 запрещает доступ по умолчанию. В Apache 2.2 по умолчанию было Allow from all — в 2.4 логику изменили.

Разрядность Apache и модуля 1С не совпадают

Apache не запускается после добавления LoadModule. В error.log ошибка:

Cannot load /opt/1cv8/.../wsap24.so into server:
  /opt/1cv8/.../wsap24.so: wrong ELF class: ELFCLASS32

Ошибка означает, что модуль 32-битный, а Apache 64-битный (или наоборот). Проверьте разрядность обоих:

# Разрядность Apache
file $(which apache2 || which httpd)
# .../apache2: ELF 64-bit LSB ...

# Разрядность модуля 1С
file /opt/1cv8/x86_64/8.3.25.1257/wsap24.so
# .../wsap24.so: ELF 64-bit LSB ...

Оба должны быть 64-bit. Если модуль 32-битный — скачайте 64-битную версию пакета 1c-enterprise83-ws с releases.1c.ru. Каталог x86_64 содержит 64-битные файлы, i386 — 32-битные.

SELinux блокирует Apache (RHEL/CentOS)

На RHEL/CentOS с включённым SELinux Apache может не загрузить модуль wsap24.so из каталога /opt/1cv8/. Также SELinux может запретить TCP-соединения к портам кластера 1С. Всё работает на тестовом стенде с отключённым SELinux — а на продуктивном с включённым не работает.

Диагностика:

# Проверить, блокирует ли SELinux (последние записи)
sudo ausearch -m avc --start recent

# Или посмотреть в лог
sudo grep httpd /var/log/audit/audit.log | grep denied

Решение — разрешить Apache нужные действия:

# Разрешить Apache устанавливать сетевые подключения
# (необходимо для связи с кластером 1С)
sudo setsebool -P httpd_can_network_connect 1

# Установить правильный контекст безопасности для модуля 1С
sudo chcon -t httpd_modules_t /opt/1cv8/x86_64/8.3.25.1257/wsap24.so

# Установить контекст для каталога публикации
sudo chcon -R -t httpd_sys_content_t /var/www/1c/

Если после этих команд проблемы остаются — сгенерируйте локальную политику SELinux на основе заблокированных действий:

sudo ausearch -m avc --start recent | audit2allow -M 1c-apache
sudo semodule -i 1c-apache.pp

Не отключайте SELinux на продуктивном сервере — лучше настройте правильные контексты и булевы переменные.

Вопросы и ответы

Какой веб-сервер лучше для 1С — Apache или IIS?

Apache работает на Linux и Windows, IIS — только на Windows. По производительности для 1С они одинаковы: узкое место — сервер приложений и СУБД, а не веб-сервер. Apache выбирают для Linux-серверов, IIS — если инфраструктура целиком на Windows Server. Для Linux Apache — единственный поддерживаемый вариант.

Можно ли опубликовать несколько баз 1С на одном Apache?

Да. Каждая база публикуется с уникальным именем (wsdir): /accounting, /zup, /ut. Для каждой создаётся свой каталог с default.vrd и свой блок Alias + Directory в конфигурации Apache. Одного модуля wsap24.so достаточно для всех публикаций. Повторно вызовите webinst с другим -wsdir для каждой базы.

Нужно ли переопубликовывать базы после обновления платформы 1С?

Да. Модуль wsap24.so привязан к конкретной версии платформы. После обновления 1С:Предприятие путь к модулю меняется (/opt/1cv8/x86_64/8.3.XX.XXXX/). Обновите LoadModule в конфигурации Apache и переопубликуйте базы через webinst. Без этого Apache будет использовать старый модуль, который может быть несовместим с новой версией сервера.

Как опубликовать 1С на веб-сервере для доступа из интернета?

Настройте HTTPS через Let’s Encrypt (certbot) или корпоративный сертификат. Пробросьте порт 443 на роутере, если сервер за NAT. Обязательно: сложные пароли для всех пользователей 1С, ограничение доступа по IP (директива Require ip в Apache) или VPN. Публиковать 1С в открытый интернет без HTTPS и ограничений — серьёзный риск безопасности.

Почему после публикации 1С на Apache открывается пустая страница или ошибка 500?

Модуль wsap24.so загружен, но не может подключиться к кластеру 1С. Проверьте по порядку: служба srv1cv83 запущена, порты 1540 и 1541 слушаются (ss -tlnp | grep 1540), строка подключения в default.vrd корректна (Srvr и Ref совпадают с данными кластера). На RHEL/CentOS дополнительно проверьте SELinux: setsebool -P httpd_can_network_connect 1.

Какая версия Apache поддерживается для публикации 1С?

1С:Предприятие 8.3 поддерживает Apache 2.4. Модуль wsap24.so (цифра 24 — от Apache 2.4) не совместим с Apache 2.2 и более ранними версиями. Проверьте версию: apache2 -v (Ubuntu/Debian) или httpd -v (RHEL/CentOS). Если установлен Apache 2.2 — обновите до 2.4 перед публикацией.

Как настроить веб-сервер 1С, если сервер 1С и Apache на разных машинах?

Установите пакет 1c-enterprise83-ws на машину с Apache — нужен только модуль wsap24.so, серверные компоненты кластера не требуются. В строке подключения default.vrd укажите IP или имя сервера 1С вместо localhost: Srvr=192.168.1.10;Ref=accounting;. Откройте порты 1540-1541 и 1560-1591 между машинами. Проверьте связь: nc -zv 192.168.1.10 1540.

Безопасность веб-доступа к 1С

Публикация 1С на веб-сервере открывает доступ к информационной базе через сеть. Если это внутренняя сеть — риски минимальны. Если доступ из интернета — защитите систему.

Минимальные меры безопасности:

Для доступа из интернета рассмотрите VPN как альтернативу прямой публикации. VPN добавляет шифрование и аутентификацию на сетевом уровне — даже если в 1С будет уязвимость, атакующий не дотянется до веб-сервера.

Итог

Настройка веб-сервера 1С 8.3 на Apache в Linux — четыре действия. Установить Apache 2.4, подключить модуль wsap24.so, опубликовать базу через webinst, настроить HTTPS. Утилита webinst делает основную работу — создаёт default.vrd и прописывает директивы в конфигурации Apache. Если webinst недоступен — ручная настройка из двух файлов.

Основные грабли: разрядность модуля и Apache не совпадают, права на каталог публикации, SELinux на RHEL/CentOS. Если после публикации веб-клиент не открывается — проверяйте цепочку по порядку: Apache запущен → модуль загружен → служба 1С работает → порты открыты → default.vrd корректен. Каждое звено можно проверить одной командой.

Производительность веб-клиента 1С зависит от сервера приложений, а не от Apache. Медленный процессор или недостаток RAM на сервере 1С приведёт к таймаутам в браузере. Проверенные конфигурации для разного числа пользователей — на странице подбора сервера. Если нужна помощь с настройкой или выбором оборудования — оставьте заявку.

Не уверены, что выбранная модель потянет вашу нагрузку? Пришлите профиль базы (число пользователей, размер, версия СУБД) — бесплатно посчитаем конфигурацию под вас.

apache ssl webinst wsap24 веб-сервер гайд настройка