Организация доступа к базе данных 1С через веб-браузер или тонкий клиент — это стандартная задача, которая часто вызывает затруднения на этапе настройки веб-сервера. Несмотря на наличие альтернативы в виде Internet Information Services (IIS), многие специалисты предпочитают использовать Apache HTTP Server из-за его гибкости и прозрачности настроек. В этой статье мы подробно разберем, какую версию Apache выбрать для платформы 1С:Предприятие 8.3, как избежать конфликтов разрядности и настроить публикацию так, чтобы она работала стабильно.
Начнем с фундаментального правила, нарушение которого является причиной 90% неудач при публикации. Разрядность (bitness) установленного веб-сервера Apache должна строго соответствовать разрядности установленных модулей расширения веб-сервера 1С. Если вы используете 64-битную версию платформы 1С:Предприятие, вам необходим исключительно 64-битный Apache. Проанализируем ситуацию: попытка подключить 32-битный модуль 1С к 64-битному Apache (или наоборот) приведет к тому, что служба веб-сервера просто не сможет загрузить библиотеку, и при попытке публикации вы увидите ошибку "Не обнаружена установленная версия Apache".
Рассмотрим, как определить нужную разрядность. Если в вашей системе 1С установлена по пути C:\Program Files\1cv8\... — это x64 версия. Если по пути C:\Program Files (x86)\1cv8\... — это x86 версия. Соответствующий дистрибутив Apache следует искать на проверенных ресурсах, таких как ApacheLounge, так как официальный сайт Apache зачастую предоставляет только исходные коды для самостоятельной компиляции, а не готовые бинарные файлы для Windows.
Выясним, какую ветку Apache лучше использовать. Платформа 1С:Предприятие 8.3.14 и более поздние версии отлично работают с Apache 2.4. В этой версии существенно переработаны механизмы безопасности и производительности. Важно учитывать, что конфигурационные файлы версий 2.2 и 2.4 имеют различия в синтаксисе. Например, управление доступом в версии 2.4 осуществляется через директиву Require, в то время как в 2.2 использовались Order, Allow и Deny.
Разберем пример различий в httpd.conf для доступа к каталогу:
Для Apache 2.2:
Order allow,deny
Allow from all
Для Apache 2.4:
Require all granted
Для современных систем (Windows 10, 11, Windows Server 2016/2019/2022) мы рекомендуем устанавливать последнюю стабильную сборку Apache 2.4.x. Это обеспечит лучшую совместимость с актуальными протоколами безопасности TLS и современными браузерами.
Проанализируем необходимые компоненты перед установкой. Сборки Apache часто зависят от пакетов Visual C++ Redistributable. Если в системе не установлена нужная версия (например, VC++ 2015-2019), служба Apache не запустится, выдавая ошибку о том, что "запуск программы невозможен, так как на компьютере отсутствует VCRUNTIME140.dll". Перед установкой Apache обязательно скачайте и установите актуальный пакет Microsoft Visual C++ Redistributable для вашей разрядности.
Также проверим компоненты 1С. Запустите программу установки 1С (через "Установка и удаление программ" -> "Изменить") и убедитесь, что в дереве компонентов выбран пункт "Модули расширения веб-сервера". Без этого компонента у вас не будет необходимых библиотек (wsap24.dll), которые связывают 1С и Apache.
Рассмотрим алгоритм действий по шагам:
C:\Apache24). Запустите командную строку от имени администратора и установите Apache как службу командой: httpd.exe -k install.httpd.conf и измените строку Listen 80 на Listen 8080.Иногда автоматическая публикация отрабатывает некорректно, или вы хотите настроить все вручную. Разберем, как выглядит подключение модуля 1С в файле httpd.conf. В самый конец файла должны быть добавлены строки, указывающие Apache, где искать библиотеку 1С:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.14.1694/bin/wsap24.dll"
# Настройка виртуального каталога для базы данных
Alias "/MyBase" "C:/inetpub/wwwroot/MyBase/"
<Directory "C:/inetpub/wwwroot/MyBase/">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/wwwroot/MyBase/default.vrd"
</Directory>
Обратите внимание на использование прямого слеша (/) в путях — это стандарт для конфигурационных файлов Apache под Windows. Модуль wsap24.dll соответствует версии Apache 2.4, а для версии 2.2 файл назывался бы wsap22.dll.
Посмотрим на структуру файла default.vrd, который создается в каталоге публикации. Этот файл является "связующим звеном" между веб-сервером и информационной базой 1С. Если ваша база файловая, строка соединения будет выглядеть так:
<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="/MyBase"
ib="File="C:\1C_Bases\Accounting";">
<ws>
<point name="WebServiceName" alias="ws1.1cws"/>
</ws>
</point>
Важный нюанс: Если база файловая и находится на сетевом диске, служба Apache (запущенная по умолчанию от имени Local System) не сможет получить к ней доступ. В этом случае необходимо зайти в оснастку "Службы", найти "Apache2.4" и на вкладке "Вход в систему" указать данные доменного пользователя, имеющего права доступа к сетевой папке с базой.
Выясним причины, по которым публикация может не открываться даже после успешной настройки:
W3SVC (IIS), либо разнесите их по разным портам.Проанализировав ситуацию с публикацией, можно сделать вывод: успех зависит от синхронизации трех факторов — разрядности платформы, разрядности веб-сервера и наличия установленных модулей расширения 1С. Следуя этой инструкции, вы сможете развернуть стабильную веб-среду для работы пользователей с 1С через интернет.