Почему после переустановки Apache вместо страницы приветствия возникает ошибка 1С virtual-resource-system

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

При настройке веб-сервисов 1С системные администраторы часто сталкиваются с ситуацией, когда после переустановки веб-сервера Apache при попытке открыть http://localhost/ в браузере вместо стандартной страницы отображается ошибка в формате JSON, содержащая ссылку на v8.1c.ru/8.2/virtual-resource-system. Это сигнализирует о том, что веб-сервер работает, но его конфигурация некорректно передает управление модулю расширения 1С. Разберем подробно, почему это происходит и как вернуть работоспособность системы.

Анализируем причину ошибки

Рассмотрим природу возникшей ошибки. Сообщение HTTP: Not found, упакованное в JSON-структуру 1С, означает, что запрос был успешно принят веб-сервером Apache, но затем перенаправлен в модуль wsap24.dll (расширение веб-сервера 1С). Модуль 1С попытался найти в своей структуре опубликованных ресурсов объект index.html и, не обнаружив его, выдал внутреннюю ошибку 404.

Выясним причину такого поведения. Это происходит из-за того, что в конфигурационном файле httpd.conf остались «следы» старых публикаций информационных баз, которые перехватывают все входящие запросы, даже те, которые должны относиться к корню веб-сервера. Проанализируем основные шаги по исправлению ситуации.

Шаг 1. Полная очистка системы от остатков старой установки

Перед тем как приступать к тонкой настройке, необходимо убедиться, что в системе не осталось конфликтующих компонентов. Зачастую деинсталлятор Apache удаляет только исполняемые файлы, оставляя папку conf с измененными настройками. Проделаем следующие действия:

  1. Остановим службу Apache2.4 через консоль управления службами.
  2. Удалим службу полностью, выполнив в командной строке от имени администратора: sc delete Apache2.4
  3. Вручную удалим каталог, в который был установлен Apache (например, C:\Apache24). Это критически важно, так как именно там хранятся старые файлы httpd.conf и .htaccess.

Шаг 2. Корректировка файла httpd.conf

Основная проблема кроется в директивах конфигурации. Откроем файл httpd.conf, расположенный в папке conf вашего веб-сервера, и проанализируем его содержимое. Нам необходимо найти секции, добавленные платформой 1С.

Разберем, какие строки могут вызывать проблему:

  1. Директива LoadModule. Проверим наличие строки подключения модуля: LoadModule _1cws_module "C:/Program Files/1cv8/8.3.XX.XXXX/bin/wsap24.dll" Убедимся, что путь ведет к актуальной версии платформы и соответствует разрядности вашего Apache (64-бит или 32-бит).
  2. Проблема с Alias. Если в файле присутствует строка вида Alias "/" "...", это означает, что корень сайта полностью отдан под управление 1С. Изменим алиас на конкретное имя базы, например: Alias "/mybase" "C:/www/mybase/"
  3. Настройка DirectoryIndex. Посмотрим на параметр DirectoryIndex. Если он настроен неверно или модуль 1С стоит в приоритете перед обработкой статических файлов, мы получим ошибку. Убедимся, что в начале списка указан index.html: DirectoryIndex index.html index.php

Шаг 3. Управление публикацией через утилиту webinst

Вместо ручного редактирования текстовых файлов рекомендуется использовать штатное средство платформы 1С — утилиту webinst. Это позволяет избежать синтаксических ошибок в httpd.conf. Рассмотрим пример корректной публикации базы через командную строку:


"C:\Program Files\1cv8\8.3.XX.XXXX\bin\webinst.exe" -apache24 -wsdir MyService -dir "C:\inetpub\wwwroot\MyService" -connstr "Srvr=ServerName;Ref=BaseName;" -confPath "C:\Apache24\conf\httpd.conf"

Разберем параметры этой команды:

Шаг 4. Проверка разрядности и прав доступа

Часто проблема virtual-resource-system возникает при несовпадении разрядности компонентов. Если вы устанавливаете 64-битную версию Apache24, то и модуль wsap24.dll должен браться из 64-битной папки 1С (обычно C:\Program Files\1cv8\...). Если случайно прописать путь к Program Files (x86), модуль может загрузиться некорректно или вызывать ошибки доступа к памяти.

Также проанализируем права доступа. Пользователь, от имени которого запущена служба Apache (обычно SYSTEM или Network Service), должен иметь полные права на чтение и выполнение в каталоге, где опубликована база (там, где лежит файл default.vrd). Выясним, есть ли у службы права на чтение бинарных файлов платформы 1С в bin каталоге.

Шаг 5. Работа с файлом default.vrd

Каждая публикация 1С создает дескриптор виртуального ресурса — файл default.vrd. Проанализируем его структуру. Если в нем некорректно указан атрибут base или vrs:point, это может приводить к тому, что 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="/MyBaseName"
       ib="Srvr=&quot;Server&quot;;Ref=&quot;Base&quot;;">

Обратим внимание на параметр base. Он должен строго соответствовать Alias, прописанному в httpd.conf. Если после переустановки Apache вы изменили пути, обязательно переопубликуйте базу через конфигуратор или утилиту webinst, чтобы обновить этот файл.

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

← На главную