Как правильно выбрать и установить версию Apache для публикации 1С:Предприятия

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

Организация доступа к базе данных 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: 2.2 или 2.4?

Выясним, какую ветку 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.

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

Рассмотрим алгоритм действий по шагам:

  1. Установка Apache: Распакуйте скачанный архив (например, с ApacheLounge) в корень диска (например, C:\Apache24). Запустите командную строку от имени администратора и установите Apache как службу командой: httpd.exe -k install.
  2. Проверка портов: Убедитесь, что порт 80 не занят другими программами (Skype, IIS). Если порт занят, откройте httpd.conf и измените строку Listen 80 на Listen 8080.
  3. Публикация через Конфигуратор: Запустите 1С:Предприятие в режиме Конфигуратора от имени администратора. Это критически важно, так как программе потребуются права на запись в программные папки Apache.
  4. Настройка публикации: Перейдите в меню "Администрирование" -> "Публикация на веб-сервере". Выберите тип сервера "Apache 2.4", укажите имя публикации и каталог, где будут лежать файлы конфигурации.

Ручная корректировка конфигурации

Иногда автоматическая публикация отрабатывает некорректно, или вы хотите настроить все вручную. Разберем, как выглядит подключение модуля 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.

Разбор файла дескриптора (.vrd)

Посмотрим на структуру файла 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" и на вкладке "Вход в систему" указать данные доменного пользователя, имеющего права доступа к сетевой папке с базой.

Устранение распространенных ошибок

Выясним причины, по которым публикация может не открываться даже после успешной настройки:

  1. Брандмауэр Windows: По умолчанию входящие соединения на порт 80 или 8080 могут быть заблокированы. Необходимо создать "Правило для входящих подключений" в брандмауэре, разрешающее работу по выбранному TCP-порту.
  2. Права на папку: Пользователь, от имени которого работает служба Apache, должен иметь права на "Чтение и выполнение" для папки с установленной платформой 1С и права "Полный доступ" для папки с файловой базой данных.
  3. Конфликт с IIS: Если на сервере одновременно установлены Apache и IIS, они не могут использовать один и тот же порт. Либо остановите службу W3SVC (IIS), либо разнесите их по разным портам.

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

← На главную