Обновление платформы 1С:Предприятие — стандартная процедура для системного администратора. Однако при переходе на новые релизы (особенно с устаревших версий вроде 8.3.9 на более современные 8.3.12 и выше) часто возникают непредвиденные сбои. Одна из самых распространенных и неприятных проблем — веб-сервер Apache наотрез отказывается запускаться, а его логи при этом остаются абсолютно пустыми. Ситуация усугубляется, когда при попытке оперативно откатиться назад ломается служба сервера 1С (ragent), выдавая пугающие ошибки вроде OpenService error!!!.
В этой статье мы подробно проанализируем причины возникновения обеих проблем, разберем механизм их диагностики и рассмотрим правильные, безопасные методы решения, которые помогут вам сохранить стабильность системы и уберегут от седых волос.
---
Рассмотрим классическую ситуацию: у нас установлена операционная система Windows Server 2008 (или Windows Server 2008 R2), веб-сервер Apache 2.4 x64 и платформа 1С:Предприятие 8.3.9.2170 x64. Мы обновляем платформу до версии 8.3.12.1595. Если в конфигурационном файле веб-сервера httpd.conf мы оставляем строчку, указывающую на старую библиотеку:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.9.2170/bin/wsap24.dll"
то при попытке обращения к веб-сервисам получаем вполне логичную ошибку несовместимости версий клиента и сервера:
HTTP: Conflict
by reason: Различаются версии клиента и сервера (8.3.9.2170 - 8.3.12.1595)
Однако, как только мы прописываем путь к новой библиотеке:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.12.1595/bin/wsap24.dll"
веб-сервер Apache перестает запускаться вообще, выдавая стандартное системное сообщение "The requested operation has failed!". Самое неприятное в этот момент — файл error.log в каталоге Apache остается абсолютно пустым. Почему так происходит?
Выясним истинную причину:
Дело в разнице системных требований к среде выполнения Microsoft Visual C++ Redistributable у разных версий платформы 1С.
8.3.9) компилировались в более ранних версиях среды разработки Visual Studio и использовали старые библиотеки времени выполнения. Начиная с версии 8.3.11 и выше, разработчики 1С перешли на использование пакета компиляторов Visual Studio 2015. Соответственно, для работы новой библиотеки веб-расширения wsap24.dll критически необходимо наличие в операционной системе пакета Microsoft Visual C++ 2015 Redistributable (в частности, библиотеки vcruntime140.dll) и универсальной среды выполнения C (Universal CRT).wsap24.dll, так как не находит для нее необходимых системных связей.httpd.conf и вызова системной функции LoadLibrary для модуля 1С. Поскольку операционная система блокирует загрузку библиотеки из-за отсутствия зависимых файлов (vcruntime140.dll), процесс Apache аварийно завершается до того, как успевает развернуться и инициализировать собственный программный механизм ведения логов. Именно поэтому лог-файлы веб-сервера остаются пустыми.---
Если после внесения изменений в httpd.conf Apache отказывается запускаться, не нужно гадать. Мы можем принудительно заставить систему показать нам ошибку. Разберем два надежных способа диагностики.
Этот способ позволяет запустить проверку конфигурационных файлов Apache в обход службы Windows, что выведет все ошибки прямо в консоль. Выполним следующие шаги:
cmd.exe) обязательно от имени администратора.bin вашего установленного веб-сервера Apache. Для этого выполним команду:
cd C:\Apache24\bin
(путь может отличаться в зависимости от места установки вашего Apache).
httpd.exe -t
или для более детального вывода в режиме тестирования под Windows:
httpd.exe -w -t
В результате выполнения этой команды мы сразу увидим четкую ошибку в консоли. Это может быть:
vcruntime140.dll не найден).Cannot load .../wsap24.dll into server: %1 is not a valid Win32 application. Это явный маркер того, что мы попытались подключить 64-битный модуль 1С к 32-битному Apache (или наоборот). Запомните правило: разрядность ОС, Apache и платформы 1С должна строго совпадать (все 64-бит или все 32-бит).Поскольку падение происходит на уровне операционной системы, вся информация обязательно фиксируется в системных логах Windows. Проанализируем их:
eventvwr.msc в окне "Выполнить").Application Error или Apache Service.0xc0000135 прямо указывает на то, что приложению не удалось найти необходимую для запуска динамическую библиотеку (DLL).---
Для того чтобы успешно запустить Apache с новой версией платформы 1С, выполним следующие действия по шагам:
Шаг 1. Проверяем разрядность. Убедимся, что установленный веб-сервер Apache имеет разрядность x64, и установленная платформа 1С также имеет разрядность x64.
Шаг 2. Установка обновлений ОС. Если у нас Windows Server 2008 / 2008 R2, проверим наличие установленного обновления KB2999226. При его отсутствии скачаем его с официального сайта Microsoft и установим.
Шаг 3. Установка пакета распространяемых компонентов. Скачаем и установим Microsoft Visual C++ 2015 Redistributable (x64). Рекомендуется устанавливать сразу гибридный пакет VC++ 2015-2022, так как он заменяет и обновляет все предыдущие версии библиотек.
Шаг 4. Автоматизируем публикацию (избегаем ручных ошибок). Вместо того чтобы вручную редактировать файл httpd.conf, рискуя ошибиться в путях или синтаксисе, доверим эту работу платформе 1С. Рассмотрим два безопасных варианта публикации:
Вариант А. Через Конфигуратор 1С:
wsap24.dll, настроит права доступа и корректно перезапустит службу веб-сервера.Вариант Б. Через утилиту командной строки webinst:
Мы можем использовать штатную консольную утилиту 1С для публикации. Для этого откроем командную строку от имени администратора и перейдем в каталог bin новой платформы:
cd "C:\Program Files\1cv8\8.3.12.1595\bin"
webinst -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -conn "Srvr=WorkServer;Ref=MyBase;" -confPath "C:\Apache24\conf\httpd.conf"
Утилита самостоятельно внесет все необходимые правки в файл конфигурации веб-сервера.
---
Иногда администраторы в панике начинают удалять новые платформы и пытаются экстренно вернуть старые версии. В процессе этого служба агента сервера 1С (1C:Enterprise 8.3 Server Agent) может полностью исчезнуть из списка служб Windows (services.msc) или перестать запускаться.
При попытке запустить агент сервера вручную из командной строки с помощью исполняемого файла:
"C:\Program Files\1cv8\8.3.9.2170\bin\ragent.exe" -start
мы можем натолкнуться на критическую ошибку:
OpenService error!!!
Разберем причины этой ошибки:
OpenService error!!! дословно означает, что утилите ragent.exe было отказано в доступе (Access is denied) при попытке обратиться к Диспетчеру служб Windows (Service Control Manager). Это происходит, если командная строка была запущена без повышенных привилегий администратора.---
Если служба агента сервера 1С была удалена, ни в коем случае не стоит сразу прибегать к ручной правке реестра через утилиту regedit. Это небезопасно и может привести к повреждению смежных служб Windows. Утилита ragent.exe содержит в себе весь необходимый встроенный функционал для корректной установки и удаления службы.
Рассмотрим правильный алгоритм перерегистрации службы сервера 1С:
Шаг 1. Запуск консоли с повышенными правами. Откроем меню "Пуск", найдем "Командная строка", кликнем правой кнопкой мыши и выберем "Запуск от имени администратора".
Шаг 2. Удаление зависшей или поврежденной службы. Если служба отображается в списке, но работает некорректно, удалим ее с помощью команды:
"C:\Program Files\1cv8\8.3.9.2170\bin\ragent.exe" -rmsrv
Шаг 3. Чистая регистрация службы сервера 1С. Зарегистрируем службу заново, явно указав параметры запуска, имя пользователя операционной системы и пароль, под которыми должна крутиться служба (обычно это технический пользователь USR1CV8):
"C:\Program Files\1cv8\8.3.9.2170\bin\ragent.exe" -instsrv -usr ".\USR1CV8" -pwd "ПарольПользователя" -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Обратите внимание на параметр -d. Он указывает путь к каталогу с данными реестра кластера серверов 1С. Если вы не укажете его или укажете неверно, сервер запустится "чистым" — без ваших баз данных! Убедитесь, что путь ведет именно к вашей рабочей папке srvinfo.
Шаг 4. Запуск службы. Теперь мы можем успешно запустить вновь созданную службу стандартными средствами Windows:
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Или запустив оснастку services.msc и нажав кнопку "Запустить" на службе "Агент сервера 1С:Предприятия 8.3".
---
Мы проанализировали критические ошибки, возникающие при обновлении платформы 1С:Предприятие в связке с веб-сервером Apache. Подведем итог главным правилам бесконфликтного обновления:
httpd.exe -t и изучайте системный журнал событий Windows.webinst).-instsrv и -rmsrv.Соблюдение этих простых рекомендаций сбережет ваше рабочее время и обеспечит непрерывную и стабильную работу пользователей в базах данных 1С.