Настройка сервера 1С 8.3: публикация на Apache (Linux) и IIS (Windows) — полное руководство | AdminWiki

Настройка сервера 1С 8.3: публикация на Apache (Linux) и IIS (Windows) — полное руководство

29 июля 2026 10 мин. чтения
Содержание статьи

Публикация информационной базы 1С:Предприятие 8.3 на веб-сервере открывает доступ к системе через браузер без установки толстого клиента. Вы получаете единую точку входа, централизованное обновление и возможность работы из любой точки сети. Это руководство содержит проверенные пошаговые инструкции для Apache на Linux и IIS на Windows с настройкой COM+ соединений, диагностикой ошибок и мерами безопасности.

Выбор платформы определяет весь дальнейший процесс. Если ваша инфраструктура построена на Windows, используйте IIS - он тесно интегрирован с компонентами ОС и сервером 1С через COM+. Для Linux-среды Apache является основным вариантом, и платформа 1С предоставляет для него готовый модуль расширения. Оба варианта поддерживают файловый и клиент-серверный режимы работы, но конфигурация и типовые проблемы у них различаются.

Перед началом настройки убедитесь, что у вас установлен сервер 1С:Предприятие 8.3 и есть права администратора на целевую машину. Если вы планируете использовать Nginx в качестве веб-сервера, обратитесь к нашему руководству по настройке веб-доступа к 1С через Nginx с SSL.

Выбор веб-сервера и режима работы: Apache vs IIS, файловый или клиент-серверный

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

Apache на Linux - это открытый веб-сервер, который взаимодействует с платформой 1С через модуль wsapache.so. Он работает в многопроцессной модели, где каждый запрос обрабатывается отдельным потоком или процессом. Для файлового режима этого достаточно. При клиент-серверном режиме Apache обращается к серверу 1С через COM-эмуляцию или прямое TCP-соединение, что требует дополнительной настройки.

IIS на Windows использует ISAPI-расширение wsisapi.dll для обработки запросов 1С. Преимущество IIS - нативная поддержка COM+ и DCOM, которые обеспечивают связь веб-клиента с сервером 1С в клиент-серверном режиме. Пул приложений IIS работает под определенной учетной записью, и именно она должна иметь права на COM-объекты 1С.

Файловый режим означает, что веб-сервер напрямую обращается к файлу базы данных (*.1CD). Это допустимо для небольших рабочих групп до 5-10 пользователей. Клиент-серверный режим подразумевает наличие отдельного сервера 1С:Предприятия, который управляет доступом к СУБД (MS SQL, PostgreSQL). Для production-сред с количеством пользователей более 10 и высокими требованиями к отказоустойчивости клиент-серверный режим обязателен.

Рекомендация: Windows + IIS + клиент-серверный режим для production; Linux + Apache + клиент-серверный режим для production; файловый режим - только для тестовых сред и небольших рабочих групп.

Подготовка сервера 1С: установка и базовые настройки

Веб-публикация невозможна без работающего сервера 1С. Проверьте его состояние до настройки веб-сервера.

Установка сервера 1С на Windows

Запустите установщик платформы 1С:Предприятие 8.3. В списке компонентов отметьте «Сервер 1С:Предприятия». На шаге настройки учетной записи укажите пользователя с правами на запуск служб - по умолчанию это USR1CV8, но для клиент-серверного режима с COM+ рекомендуется использовать доменную учетную запись. После установки откройте оснастку «Службы» (services.msc) и убедитесь, что служба «Агент сервера 1С:Предприятия 8.3» запущена.

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

Установка сервера 1С на Linux

Скачайте RPM или DEB-пакет сервера 1С с официального сайта. Установите его через пакетный менеджер:

# Для RPM-дистрибутивов (CentOS, RHEL, Fedora)
sudo rpm -ivh 1c-enterprise83-server-8.3.*.rpm

# Для DEB-дистрибутивов (Debian, Ubuntu)
sudo dpkg -i 1c-enterprise83-server_8.3.*_amd64.deb

После установки запустите службу и добавьте ее в автозагрузку:

sudo systemctl start srv1cv83
sudo systemctl enable srv1cv83
sudo systemctl status srv1cv83

Проверьте, что агент сервера слушает порт 1540 (по умолчанию):

ss -tlnp | grep 1540

Если порт не открыт, проверьте журналы службы в /var/log/1C/ и права на каталог /opt/1C/.

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

Apache на Linux требует установки самого веб-сервера, модуля расширения 1С и настройки виртуального хоста. Все команды проверены на Ubuntu 22.04/24.04 и Debian 12.

Установка Apache и модуля 1С

Установите Apache2:

sudo apt update
sudo apt install apache2

Скопируйте модуль wsapache.so из установленной платформы 1С в каталог модулей Apache. Путь к модулю зависит от версии платформы и архитектуры:

sudo cp /opt/1C/v8.3/x86_64/wsapache.so /usr/lib/apache2/modules/

Создайте файл загрузки модуля:

echo "LoadModule _1cws_module /usr/lib/apache2/modules/wsapache.so" | sudo tee /etc/apache2/mods-available/1cws.load

Активируйте модуль:

sudo a2enmod 1cws
sudo systemctl restart apache2

Проверьте загрузку модуля:

apache2ctl -M | grep 1cws

Если модуль в списке, Apache готов обрабатывать запросы 1С.

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

Утилита webinst автоматизирует создание конфигурации виртуального хоста. Запустите ее от root:

sudo /opt/1C/v8.3/x86_64/webinst -apache2 -wsdir mybase -dir /var/www/mybase -connstr "Srvr=localhost;Ref=mybase;"

Параметры:

  • -apache2 - указание веб-сервера Apache
  • -wsdir mybase - имя виртуального каталога (будет доступен по /mybase)
  • -dir /var/www/mybase - каталог для файлов публикации
  • -connstr - строка соединения с базой (для клиент-серверного режима) или путь к файлу базы (для файлового)

Для файлового режима строка соединения выглядит так:

-connstr "File=/opt/1C/bases/mybase;"

После выполнения webinst перезапустите Apache:

sudo systemctl restart apache2

Ручная настройка виртуального хоста Apache

Ручная конфигурация дает полный контроль над параметрами. Создайте файл виртуального хоста:

sudo nano /etc/apache2/sites-available/1c-mybase.conf

Пример конфигурации для клиент-серверного режима:

<VirtualHost *:80>
    ServerName 1c.example.com
    DocumentRoot /var/www/mybase

    <Directory /var/www/mybase>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Обработка запросов 1С
    <Location /mybase>
        SetHandler 1c-application
        ManagedApplicationDescriptor /var/www/mybase/default.vrd
    </Location>
</VirtualHost>

Активируйте хост:

sudo a2ensite 1c-mybase.conf
sudo systemctl reload apache2

Подробное руководство по настройке виртуальных хостов Apache для production-среды с параметрами безопасности и оптимизации доступно в статье по профессиональной конфигурации Apache2.

Проверка публикации и решение проблем

Откройте браузер и перейдите по адресу http://ваш_сервер/mybase. Если появляется форма аутентификации 1С, публикация работает. При возникновении ошибок проверьте:

  • Ошибка 404 - неверный путь в Location или не активирован виртуальный хост. Проверьте вывод apache2ctl -S.
  • Ошибка 500 - проблема с модулем 1С или правами доступа. Проверьте журнал /var/log/apache2/error.log.
  • «База не обнаружена» - неверная строка соединения в файле default.vrd. Проверьте параметры подключения к серверу 1С.

Для диагностики ошибок веб-сервера используйте готовые команды и методики из нашего руководства по диагностике ошибок 403, 404, 500.

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

IIS требует включения роли веб-сервера, установки ISAPI-модуля 1С и настройки пула приложений. Все шаги проверены на Windows Server 2019/2022 и Windows 10/11.

Включение IIS и необходимых компонентов

Откройте «Управление компьютером» → «Диспетчер серверов» → «Добавить роли и компоненты». Выберите «Веб-сервер (IIS)» и отметьте следующие службы ролей:

  • ASP.NET 4.7/4.8 (если планируется использовать веб-сервисы)
  • Расширения ISAPI
  • Фильтры ISAPI
  • CGI
  • Проверка подлинности Windows

Через PowerShell установка выполняется одной командой:

Install-WindowsFeature -Name Web-Server, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-CGI, Web-Asp-Net45, Web-Windows-Auth

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

Запустите установщик платформы 1С:Предприятие 8.3. В списке компонентов отметьте «Модуль расширения веб-сервера». Установщик автоматически регистрирует wsisapi.dll в IIS. Проверьте наличие файла в каталоге C:\Program Files\1cv8\8.3.xx.xxxx\bin\wsisapi.dll.

Если установка модуля не активировала ISAPI-расширение в IIS, сделайте это вручную через «Диспетчер IIS» → узел сервера → «Сопоставления обработчиков» → «Добавление сопоставления модуля». Укажите путь к wsisapi.dll, имя модуля (например, 1C-ISAPI) и расширение запроса *.1cweb.

Создание и настройка приложения в IIS

В «Диспетчере IIS» создайте новый пул приложений:

  1. Имя: 1CAppPool
  2. Версия .NET CLR: Без управляемого кода
  3. Режим управляемого конвейера: Классический
  4. Разрядность: снимите флажок «Разрешить 32-разрядные приложения» для 64-битной платформы 1С

Укажите удостоверение пула - учетную запись с правами на сервер 1С и COM-объекты. Для доменной среды используйте доменную учетную запись, для изолированной - встроенную ApplicationPoolIdentity с дополнительной настройкой прав.

Создайте новое приложение в узле «Default Web Site» или отдельном сайте:

  1. Псевдоним: mybase
  2. Пул приложений: 1CAppPool
  3. Физический путь: C:\inetpub\wwwroot\mybase

Публикация базы и настройка прав доступа

Запустите webinst от имени администратора:

C:\Program Files\1cv8\8.3.xx.xxxx\bin\webinst.exe -iis -wsdir mybase -dir C:\inetpub\wwwroot\mybase -connstr "Srvr=localhost;Ref=mybase;"

Настройте права NTFS на каталог публикации:

  • Для ApplicationPoolIdentity: icacls C:\inetpub\wwwroot\mybase /grant "IIS AppPool\1CAppPool":(OI)(CI)RX
  • Для доменной учетной записи: укажите ее явно в ACL каталога

Добавьте права на каталог платформы 1С (C:\Program Files\1cv8\8.3.xx.xxxx\bin) для учетной записи пула приложений - это необходимо для загрузки зависимых библиотек.

Проверка публикации и типовые ошибки IIS

Откройте браузер и перейдите по адресу http://localhost/mybase. При успешной публикации отобразится форма входа в 1С. Типовые ошибки:

  • HTTP 500.0 - проблема с ISAPI-модулем. Проверьте, что wsisapi.dll загружен в сопоставлениях обработчиков IIS.
  • 0x800a03ec - ошибка COM-объекта. Связана с правами на COM+ компоненты 1С. Решение описано в разделе настройки COM+.
  • «Не удалось загрузить модуль» - несовпадение разрядности пула приложений и модуля. 64-битный модуль требует отключения 32-битного режима в пуле.

Настройка COM+ соединений для клиент-серверного режима

В клиент-серверном режиме веб-клиент обращается к серверу 1С через COM+ (на Windows) или прямое TCP-соединение (на Linux). Без корректной настройки COM+ веб-клиент не сможет получить список баз или подключиться к ним.

Настройка DCOM для сервера 1С

Запустите оснастку «Службы компонентов» (dcomcnfg.exe). Перейдите в «Службы компонентов» → «Компьютеры» → «Мой компьютер» → «Настройка DCOM». Найдите компонент V83.COMConnector (или V83.ServerApplication в зависимости от версии).

В свойствах компонента на вкладке «Безопасность» настройте три раздела:

  • Разрешения на запуск и активацию - добавьте учетную запись пула приложений IIS
  • Разрешения на доступ - добавьте ту же учетную запись
  • Разрешения на изменение конфигурации - оставьте только для администраторов

На вкладке «Удостоверение» выберите «Запускающий пользователь» или укажите конкретную учетную запись, имеющую права на сервер 1С и базы данных.

Настройка прав для веб-сервера

Учетная запись пула приложений IIS должна входить в локальную группу «Пользователи COM» (COM Users). Добавьте ее через «Управление компьютером» → «Локальные пользователи и группы».

Для Apache на Linux настройка COM+ не требуется - веб-сервер взаимодействует с сервером 1С напрямую по TCP через параметры, указанные в строке соединения. Убедитесь, что пользователь www-data имеет права на чтение файла default.vrd и доступ к сети для соединения с сервером 1С.

Диагностика и устранение типовых ошибок при публикации

Собранные здесь решения основаны на реальных кейсах и покрывают 90% проблем, с которыми сталкиваются администраторы при публикации 1С.

СимптомПлатформаПричинаРешение
HTTP 500 при открытии базыApacheМодуль wsapache.so не загружен или поврежденПроверьте apache2ctl -M, переустановите модуль, проверьте права 755 на wsapache.so
HTTP 500.0IISISAPI-модуль не настроен или не загруженПроверьте сопоставления обработчиков IIS, перерегистрируйте wsisapi.dll
0x800a03ecIISНет прав на COM-объект 1СНастройте DCOM для V83.COMConnector, добавьте учетную запись пула в COM Users
«Не удалось загрузить модуль»IISНесовпадение разрядностиОтключите 32-битный режим в пуле приложений для 64-битной платформы
«База не обнаружена»ОбеНеверная строка соединения в default.vrdПроверьте параметры Srvr и Ref, доступность сервера 1С по порту 1540
«Отказано в доступе»ОбеНет прав NTFS/Filesystem на каталог публикацииНазначьте права на чтение и выполнение для учетной записи веб-сервера
Ошибка лицензированияОбеВеб-клиент не видит ключ защитыУстановите HASP License Manager, настройте доступ к ключу по сети

Ошибка 0x800a03ec при выгрузке данных

Эта ошибка часто возникает при попытке выгрузки данных в Excel через COM-объект. Причина - неверные региональные настройки учетной записи пула приложений или отсутствие прав на Excel.Application. Решение: установите региональные параметры для учетной записи пула через панель управления (раздел «Региональные стандарты»), проверьте наличие установленного Excel или используйте выгрузку без COM (через текстовые форматы).

Ошибка «Не удалось загрузить модуль»

Проверьте разрядность wsisapi.dll командой dumpbin /headers (из Windows SDK) или свойствами файла. 64-битный модуль требует пул приложений без 32-битного режима. 32-битный модуль требует включения 32-битного режима в пуле. Также проверьте наличие зависимых библиотек в каталоге bin платформы 1С и права на их чтение.

Проблемы с аутентификацией и доступом

В IIS проверьте, что для приложения включена проверка подлинности Windows (если используется доменная аутентификация) или анонимная проверка (если аутентификация выполняется средствами 1С). В Apache проверьте модуль mod_auth_basic, если настроена Basic-аутентификация. Учетные записи пользователей 1С настраиваются в конфигураторе и не связаны с учетными записями ОС.

Обеспечение безопасности веб-доступа к 1С

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

Настройка HTTPS для Apache и IIS

Для Apache установите Certbot и получите бесплатный сертификат Let's Encrypt:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d 1c.example.com

Настройте редирект с HTTP на HTTPS в виртуальном хосте:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Для IIS используйте «Сертификаты сервера» в диспетчере IIS для импорта SSL-сертификата. В привязках сайта добавьте тип https и выберите установленный сертификат. Настройте правило перезаписи URL для редиректа с HTTP на HTTPS через модуль URL Rewrite.

Ограничение доступа по IP и аутентификация

В Apache используйте директивы Require ip для ограничения доступа:

<Location /mybase>
    Require ip 192.168.1.0/24 10.0.0.0/8
</Location>

В IIS настройте «Ограничения IP-адресов» на уровне сайта или приложения. Добавьте разрешающие правила для внутренних подсетей и запрещающее правило для всех остальных адресов.

Дополнительный уровень защиты - размещение веб-сервера 1С за VPN. Пользователи подключаются к VPN-шлюзу и только потом получают доступ к веб-клиенту 1С. Это исключает прямое попадание веб-интерфейса в интернет.

Автоматизация публикации и обновления баз

При обслуживании десятков баз ручная публикация через webinst становится узким местом. Автоматизация через скрипты решает эту проблему.

Утилита webinst поддерживает пакетный режим. Создайте текстовый файл со списком баз и запустите публикацию в цикле:

# Пример скрипта для Linux
#!/bin/bash
BASES=("base1" "base2" "base3")
for base in "${BASES[@]}"; do
    /opt/1C/v8.3/x86_64/webinst -apache2 -wsdir "$base" -dir "/var/www/$base" -connstr "Srvr=localhost;Ref=$base;"
done
systemctl reload apache2

Для Windows аналогичный скрипт на PowerShell:

$bases = @("base1", "base2", "base3")
foreach ($base in $bases) {
    & "C:\Program Files\1cv8\8.3.xx.xxxx\bin\webinst.exe" -iis -wsdir $base -dir "C:\inetpub\wwwroot\$base" -connstr "Srvr=localhost;Ref=$base;"
}
Restart-Service W3SVC

Для автоматического обновления конфигурации веб-сервера при добавлении новых баз интегрируйте вызов скрипта в процесс развертывания. При использовании систем оркестрации (Ansible, Puppet) публикация веб-доступа становится частью конфигурации инфраструктуры и выполняется автоматически при появлении нового сервера 1С.

Если вы разворачиваете инфраструктуру для 1С в облаке, обратите внимание на Timeweb Cloud - облачные серверы с гибким масштабированием ресурсов подходят для размещения как веб-сервера, так и сервера 1С с СУБД.

Поделиться:
Сохранить гайд? В закладки браузера