При обновлении сервера 1С и переходе на 64-битную платформу часто возникает вопрос о переносе существующих веб-публикаций, работающих через Apache. Просто скопировать файлы недостаточно, так как меняется архитектура взаимодействия между 1С и веб-сервером. Разберем по шагам, как выполнить этот переход грамотно, чтобы все информационные базы остались доступны через веб-клиент.
Проанализируем ситуацию. У нас есть работающий 32-битный сервер 1С с веб-сервером Apache, и мы устанавливаем новую 64-битную платформу 1С и 64-битный Apache. Наша задача — перенести все публикации без потерь. Рассмотрим два основных подхода: рекомендуемый (более простой и надежный) и ручной перенос для полного контроля над процессом.
Прежде чем приступать к переносу, давайте убедимся, что вся среда подготовлена правильно. Несоблюдение этих правил — основная причина ошибок.
Строгое соответствие разрядности. Это ключевое правило. Операционная система, веб-сервер Apache и платформа 1С:Предприятие должны быть одной разрядности — 64-битными. Если хотя бы один компонент останется 32-битным, интеграция не будет работать, и вы не сможете опубликовать базы.
Правильная установка платформы 1С. При установке 64-битной платформы 1С обязательно убедитесь, что в списке компонентов выбран пункт «Модули расширения веб-сервера». Без него в каталоге платформы не появятся необходимые файлы для связи с Apache, в частности, файл wsap24.dll.
Установка зависимостей. Для корректной работы 64-битного Apache может потребоваться установка распространяемого пакета Microsoft Visual C++ (x64) соответствующей версии. Обычно дистрибутив Apache содержит информацию о необходимой версии.
Это самый надежный и простой метод, который гарантирует, что все настройки будут созданы корректно для новой 64-битной среды. Он исключает ошибки, связанные с ручным редактированием конфигурационных файлов.
Разберем процесс по шагам:
Удалите старые публикации. Перед началом работы лучше всего отменить публикации, сделанные на старом, 32-битном сервере. Это можно сделать через старый конфигуратор или вручную, удалив файлы default.vrd и соответствующие секции из конфигурационного файла Apache httpd.conf.
Запустите конфигуратор 1С. Откройте конфигуратор нужной информационной базы, обязательно от имени администратора. Используйте для запуска исполняемый файл из каталога новой 64-битной платформы.
Откройте диалог публикации. В меню выберите «Администрирование» → «Публикация на веб-сервере...».
Настройте параметры публикации. В открывшемся окне укажите имя публикации, выберите веб-сервер Apache 2.4 и укажите путь к каталогу с файлами публикации (обычно это подпапка в htdocs вашего нового Apache). Убедитесь, что флажок «Публиковать Web-сервисы» и другие необходимые опции установлены.
Выполните публикацию. Нажмите кнопку «Опубликовать». Платформа 1С автоматически создаст файл default.vrd в указанном каталоге и, что самое важное, добавит правильную конфигурационную секцию в файл httpd.conf вашего 64-битного Apache.
Перезапустите Apache. После публикации необходимо перезапустить службу Apache, чтобы новые настройки вступили в силу. Проверьте доступность базы через веб-клиент.
Повторите эти действия для каждой информационной базы, которую необходимо опубликовать.
Этот способ подходит, если у вас очень много баз и переопубликовывать каждую неудобно, или если у вас есть сложные, нестандартные настройки в конфигурации Apache. Он требует большего внимания к деталям.
Давайте посмотрим, из чего состоит публикация и что именно нужно переносить:
Файл публикации default.vrd. Он находится в отдельном каталоге для каждой базы (например, C:\Apache24\htdocs\mybase). Этот файл содержит информацию о подключении к информационной базе.
Записи в конфигурационном файле Apache httpd.conf. Для каждой публикации 1С создает специальный блок, который указывает веб-серверу, как обрабатывать запросы к этой базе.
Разберем процесс ручного переноса по шагам:
Скопируйте каталоги публикаций. Перенесите все каталоги с файлами default.vrd из папки htdocs старого сервера Apache в папку htdocs нового 64-битного сервера. Структуру папок необходимо сохранить.
Например, если у вас была публикация в C:\Apache32\htdocs\trade, скопируйте папку trade в C:\Apache64\htdocs\.
Перенесите настройки из httpd.conf. Откройте файл httpd.conf старого Apache и найдите все блоки, относящиеся к публикациям 1С. Они обычно выглядят так:
#-1C:Publication
Alias "/trade" "C:/Apache24/htdocs/trade/"
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/Apache24/htdocs/trade/default.vrd"
#-1C:Publication
Скопируйте все такие блоки в конец файла httpd.conf нового 64-битного Apache.
Самый важный шаг: обновите путь к модулю 1С. В файле httpd.conf нового сервера найдите строку, загружающую модуль 1С. Она называется LoadModule. Вам нужно убедиться, что путь в этой строке ведет к файлу wsap24.dll в каталоге bin новой 64-битной платформы 1С.
Пример правильной строки для 64-битной платформы:
LoadModule _1c_module "C:/Program Files/1cv8/8.3.20.1234/bin/wsap24.dll"
Внимание: Старая конфигурация ссылалась на путь в C:\Program Files (x86)\.... Эту строку нужно либо исправить, либо убедиться, что она корректна. Если такой строки нет, добавьте ее. Без этого Apache не сможет взаимодействовать с сервером 1С, и вы получите ошибку.
Проверьте синтаксис и перезапустите Apache. Перед перезапуском службы полезно проверить конфигурационный файл на наличие ошибок. Для этого откройте командную строку, перейдите в каталог bin вашего нового Apache и выполните команду:
httpd.exe -t
Если команда вернет Syntax OK, значит, в файле нет синтаксических ошибок. Теперь можно смело перезапускать службу Apache и проверять работоспособность веб-клиентов.
Вне зависимости от выбранного способа, переход на 64-битную связку 1С и Apache часто решает проблему нехватки памяти на сервере, позволяя обрабатывать большее количество одновременных сеансов и выполнять более тяжелые операции через веб-клиент.
← К списку